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 <[EMAIL PROTECTED]> 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 > > > > ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org