Re: [HACKERS] temp table oddness? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] temp table oddness?
Date
Msg-id 199909041952.PAA04897@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] temp table oddness?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] temp table oddness?
Re: [HACKERS] temp table oddness?
List pgsql-hackers
> Bruce Momjian <maillist@candle.pha.pa.us> writes:
> > Yep.  Wouldn't the best way be to have the temp system record the
> > transaction id used, and to invalidate all temp entries associated with
> > an aborted transaction.  That is how the cache code works, so it seems
> > it should be extended to the temp code.
> 
> Yeah, that would work -- add an xact abort cleanup routine that goes
> through the temprel list and removes entries added during the current
> transaction.
> 
> AFAICS this only explains the coredump-at-exit business, though.
> I'm particularly baffled by that
> ERROR:  cannot find attribute 1 of relation pg_temp.24335.3
> in my last example --- do you understand why that's happening?
> 
>             regards, tom lane
> 

I have added temp invalidation code for aborted transactions:

---------------------------------------------------------------------------

Old behavour:test=> begin;BEGINtest=> create temp table test (x int);CREATEtest=> create index i_test on
test(x);CREATEtest=>abort;NOTICE:  trying to delete a reldesc that does not exist.NOTICE:  trying to delete a reldesc
thatdoes not exist.ABORTtest=> create temp table test (x int);ERROR:  Relation 'test' already exists
 

---------------------------------------------------------------------------

New behavour:
test=> begin;BEGINtest=> create temp table test (x int);CREATEtest=> create index i_test on test(x);CREATEtest=>
abort;NOTICE: trying to delete a reldesc that does not exist.NOTICE:  trying to delete a reldesc that does not
exist.ABORTtest=>create temp table test(x int);CREATE
 

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Peter Blazso
Date:
Subject: Re: [HACKERS] array manipulations
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] temp table oddness?