aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/char.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-10-04 21:52:15 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-10-04 21:52:15 +0000
commit4c77cbb272948e96ce3ed02d444a944eb45d45e3 (patch)
treef3dfa5472465d452fad976c83cc15b1038249fe8 /src/backend/utils/adt/char.c
parentee7de3d66296513d50b6df1166f6fc84e2b9b5fe (diff)
downloadpostgresql-4c77cbb272948e96ce3ed02d444a944eb45d45e3.tar.gz
postgresql-4c77cbb272948e96ce3ed02d444a944eb45d45e3.zip
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.
Diffstat (limited to 'src/backend/utils/adt/char.c')
0 files changed, 0 insertions, 0 deletions