From: Noah Misch Date: Sat, 20 Jun 2020 08:25:40 +0000 (-0700) Subject: Remove dead forceSync parameter of XactLogCommitRecord(). X-Git-Tag: REL_14_BETA1~2104 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d28ab91e7155353d4377abad5a7d5b0f07450867;p=thirdparty%2Fpostgresql.git 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 --- diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 54fb6cc0474..9b2e59bf0ec 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 cd30b62d365..905dc7d8d3b 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 88025b1cc2f..db191879b9d 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);