git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 74b4d78)
Remove dead forceSync parameter of XactLogCommitRecord().
2020年6月20日 08:25:40 +0000 (01:25 -0700)
2020年6月20日 08:25:40 +0000 (01:25 -0700)
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 54fb6cc047454dd5374c118488a6925b1f892640..9b2e59bf0ec187effcfd63b776f4704446de421b 100644 (file)
--- 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 cd30b62d365d85360e4ac881d36db6ac2a2663f1..905dc7d8d3bc0303af6f208893bef176b6db6353 100644 (file)
--- 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 88025b1cc2f9cbbb0adcdc72d5be924a767ed032..db191879b9d228a9f4f03768223567eafacb94c5 100644 (file)
--- 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);
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /