Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT

From: Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Subject: Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT
Date: 2002-08-27 05:20:30
Message-ID: Pine.LNX.4.21.0208271515440.5655-100000@linuxworld.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Bruce,

I have a working patch for this I just need to test it further. It occured
to me that there was a bug with the previous implementation in as much as
it didn't handle situations where the user dropped the temp table in a
transaction block. As such, I have added a flag to the structure marking
it dead. This also needs to be undone at ABORT :-). (I knew there was a
reason for storing the ON COMMIT flag in the system catalogs).

Once I have tested further I will send off. If I come across a problem or
cannot get to this by Wednesday (tomorrow) I will send them off to Neil
Conway so that they can make it in. (Unfortunately, I am v. busy atm).

Gavin

On Tue, 27 Aug 2002, Bruce Momjian wrote:

>
> Gavin, how are you doing with this. As I remember, the only remaining
> issue was where to store the 'drop on commit' information in the
> backend. If that is all there is, we can come up with a solution.
>
> ---------------------------------------------------------------------------
>
> Gavin Sherry wrote:
> > On Fri, 9 Aug 2002, Tom Lane wrote:
> >
> > > Gavin Sherry <swm(at)linuxworld(dot)com(dot)au> writes:
> > > > template1=# create temp table a (a int) on commit drop;
> > > > ERROR: You must be inside a transaction to use ON COMMIT
> > >
> > > Surely that's only for ON COMMIT DROP, if you intend to offer the
> > > others?
> >
> > I should have provided details of this in the email. SQL99 details the
> > baviour as follows:
> >
> > If TEMPORARY is specified and ON COMMIT is omitted, then ON COMMIT
> > DELETE ROWS is implicit
> >
> > This might give users a bit of a surprise so the effective behaviour is ON
> > COMMIT PRESERVE ROWS.
> >
> > As for your question (and, perhaps, SQL99) I don't seen how it makes any
> > sense to specify ON COMMIT outside of a transaction block.
> >
> > >
> > > regards, tom lane
> > >
> >
> > Gavin
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
> >
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christopher Kings-Lynne 2002-08-27 05:21:42 Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT
Previous Message Bruce Momjian 2002-08-27 04:29:35 Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT

Browse pgsql-patches by date

  From Date Subject
Next Message Christopher Kings-Lynne 2002-08-27 05:21:42 Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT
Previous Message Bruce Momjian 2002-08-27 04:29:35 Re: [HACKERS] CREATE TEMP TABLE .... ON COMMIT