Re: ON COMMIT temp table handling - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: ON COMMIT temp table handling
Date
Msg-id 200211120422.gAC4Mei28221@candle.pha.pa.us
Whole thread Raw
In response to Re: ON COMMIT temp table handling  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: ON COMMIT temp table handling
List pgsql-patches
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > +     if ((iscommit && bstate != TBLOCK_END) ||
> > +         (!iscommit && bstate != TBLOCK_ABORT))
> > +         return;
>
> Why is temp table handling in need of looking into xact.c's private
> state?  There is no other AtEOXact routine anywhere that does this.
> ISTM either the above code is wrong, or every other AtEOXact routine
> is wrong.
>
> There are some other things I don't like about the patch, but I can
> fix them myself.  This one I thought I'd better ask about.

I looked at that.  The basic issue is that Gavin wants special handling
for ON COMMIT, meaning he only wants to activate the ON COMMIT code when
the transaction is committed and it is an end block, or it is not a
commit but it is an abort.

What I don't understand is how he would get into this function unless
either is true.  The two call locations would seem to be in transaction
commit/abort routines.  I have to say I am confused by the various
TBLOCK values and their progression.  I can't find any comments on them
and the code seems contorted.

Tom, can you guess on why they are there?  I hear Gavin is traveling in
Europe for the next week or two.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: more SGML fixes
Next
From: Rod Taylor
Date:
Subject: psql tab completion