From d28ab91e7155353d4377abad5a7d5b0f07450867 Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Sat, 20 Jun 2020 01:25:40 -0700 Subject: [PATCH] Remove dead forceSync parameter of XactLogCommitRecord(). The function has been reading global variable forceSyncCommit, mirroring the intent of the caller that passed forceSync=forceSyncCommit. The other caller, RecordTransactionCommitPrepared(), passed false. Since COMMIT PREPARED can't share a transaction with any command, it certainly doesn't share a transaction with a command that sets forceSyncCommit. Reviewed by Michael Paquier. Discussion: https://postgr.es/m/20200617032615.GC2916904@rfd.leadboat.com --- src/backend/access/transam/twophase.c | 2 +- src/backend/access/transam/xact.c | 8 +++++--- src/include/access/xact.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 54fb6cc047..9b2e59bf0e 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -2217,7 +2217,7 @@ RecordTransactionCommitPrepared(TransactionId xid, recptr = XactLogCommitRecord(committs, nchildren, children, nrels, rels, ninvalmsgs, invalmsgs, - initfileinval, false, + initfileinval, MyXactFlags | XACT_FLAGS_ACQUIREDACCESSEXCLUSIVELOCK, xid, gid); diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index cd30b62d36..905dc7d8d3 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -1048,7 +1048,9 @@ CommandCounterIncrement(void) * ForceSyncCommit * * Interface routine to allow commands to force a synchronous commit of the - * current top-level transaction + * current top-level transaction. Currently, two-phase commit does not + * persist and restore this variable. So long as all callers use + * PreventInTransactionBlock(), that omission has no consequences. */ void ForceSyncCommit(void) @@ -1315,7 +1317,7 @@ RecordTransactionCommit(void) XactLogCommitRecord(xactStopTimestamp, nchildren, children, nrels, rels, nmsgs, invalMessages, - RelcacheInitFileInval, forceSyncCommit, + RelcacheInitFileInval, MyXactFlags, InvalidTransactionId, NULL /* plain commit */ ); @@ -5468,7 +5470,7 @@ XactLogCommitRecord(TimestampTz commit_time, int nsubxacts, TransactionId *subxacts, int nrels, RelFileNode *rels, int nmsgs, SharedInvalidationMessage *msgs, - bool relcacheInval, bool forceSync, + bool relcacheInval, int xactflags, TransactionId twophase_xid, const char *twophase_gid) { diff --git a/src/include/access/xact.h b/src/include/access/xact.h index 88025b1cc2..db191879b9 100644 --- a/src/include/access/xact.h +++ b/src/include/access/xact.h @@ -434,7 +434,7 @@ extern XLogRecPtr XactLogCommitRecord(TimestampTz commit_time, int nsubxacts, TransactionId *subxacts, int nrels, RelFileNode *rels, int nmsgs, SharedInvalidationMessage *msgs, - bool relcacheInval, bool forceSync, + bool relcacheInval, int xactflags, TransactionId twophase_xid, const char *twophase_gid); -- 2.39.5