Commit 66b09849 authored by Tom Lane's avatar Tom Lane

Dept. of second thoughts: regular COMMIT deletes deletable files before

releasing locks, so COMMIT PREPARED should too.
parent 25f89161
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.1 2005/06/17 22:32:42 tgl Exp $ * $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.2 2005/06/18 05:21:09 tgl Exp $
* *
* NOTES * NOTES
* Each global transaction is associated with a global transaction * Each global transaction is associated with a global transaction
...@@ -1114,13 +1114,11 @@ FinishPreparedTransaction(char *gid, bool isCommit) ...@@ -1114,13 +1114,11 @@ FinishPreparedTransaction(char *gid, bool isCommit)
*/ */
gxact->valid = false; gxact->valid = false;
if (isCommit)
ProcessRecords(bufptr, xid, twophase_postcommit_callbacks);
else
ProcessRecords(bufptr, xid, twophase_postabort_callbacks);
/* /*
* We also have to remove any files that were supposed to be dropped. * We have to remove any files that were supposed to be dropped.
* For consistency with the regular xact.c code paths, must do this
* before releasing locks, so do it before running the callbacks.
*
* NB: this code knows that we couldn't be dropping any temp rels ... * NB: this code knows that we couldn't be dropping any temp rels ...
*/ */
if (isCommit) if (isCommit)
...@@ -1134,6 +1132,12 @@ FinishPreparedTransaction(char *gid, bool isCommit) ...@@ -1134,6 +1132,12 @@ FinishPreparedTransaction(char *gid, bool isCommit)
smgrdounlink(smgropen(abortrels[i]), false, false); smgrdounlink(smgropen(abortrels[i]), false, false);
} }
/* And now do the callbacks */
if (isCommit)
ProcessRecords(bufptr, xid, twophase_postcommit_callbacks);
else
ProcessRecords(bufptr, xid, twophase_postabort_callbacks);
pgstat_count_xact_commit(); pgstat_count_xact_commit();
/* /*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment