pgsql-server: PortalRun must guard against the possibility that the - Mailing list pgsql-committers

From tgl@svr1.postgresql.org (Tom Lane)
Subject pgsql-server: PortalRun must guard against the possibility that the
Date
Msg-id 20041004215215.5EB4132A17A@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
PortalRun must guard against the possibility that the portal it's
running contains VACUUM or a similar command that will internally start
and commit transactions.  In such a case, the original caller values of
CurrentMemoryContext and CurrentResourceOwner will point to objects that
will be destroyed by the internal commit.  We must restore these pointers
to point to the newly-manufactured transaction context and resource owner,
rather than possibly pointing to deleted memory.
Also tweak xact.c so that AbortTransaction and AbortSubTransaction
forcibly restore a sane value for CurrentResourceOwner, much as they
have always done for CurrentMemoryContext.  I'm not certain this is
necessary but I'm feeling paranoid today.
Responds to Sean Chittenden's bug report of 4-Oct.

Modified Files:
--------------
    pgsql-server/src/backend/access/transam:
        xact.c (r1.190 -> r1.191)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/transam/xact.c.diff?r1=1.190&r2=1.191)
    pgsql-server/src/backend/tcop:
        pquery.c (r1.87 -> r1.88)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/tcop/pquery.c.diff?r1=1.87&r2=1.88)

pgsql-committers by date:

Previous
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql-server: Make sure no libs use libpgport by removing it from the
Next
From: andrewd@pgfoundry.org (User Andrewd)
Date:
Subject: pgbuildfarm - client-code: experimental code (turned off by default) to