* do abort cleanup processing
*/
AtCleanup_Portals(); /* now safe to release portal memory */
- AtEOXact_Snapshot(false, false); /* and release the transaction's snapshots */
+ AtEOXact_Snapshot(false, true); /* and release the transaction's snapshots */
CurrentResourceOwner = NULL; /* and resource owner */
if (TopTransactionResourceOwner)
* Snapshot manager's cleanup function for end of transaction
*/
void
-AtEOXact_Snapshot(bool isCommit, bool isPrepare)
+AtEOXact_Snapshot(bool isCommit, bool resetXmin)
{
/*
* In transaction-snapshot mode we must release our privately-managed
FirstSnapshotSet = false;
/*
- * During normal commit and abort processing, we call
- * ProcArrayEndTransaction() or ProcArrayClearTransaction() to
- * reset the PgXact->xmin. That call happens prior to the call to
- * AtEOXact_Snapshot(), so we need not touch xmin here at all,
- * accept when we are preparing a transaction.
+ * During normal commit processing, we call
+ * ProcArrayEndTransaction() to reset the PgXact->xmin. That call
+ * happens prior to the call to AtEOXact_Snapshot(), so we need
+ * not touch xmin here at all.
*/
- if (isPrepare)
+ if (resetXmin)
SnapshotResetXmin();
- Assert(isPrepare || MyPgXact->xmin == 0);
+ Assert(resetXmin || MyPgXact->xmin == 0);
}
extern void AtSubCommit_Snapshot(int level);
extern void AtSubAbort_Snapshot(int level);
-extern void AtEOXact_Snapshot(bool isCommit, bool isPrepare);
+extern void AtEOXact_Snapshot(bool isCommit, bool resetXmin);
extern void ImportSnapshot(const char *idstr);
extern bool XactHasExportedSnapshots(void);