summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Paquier2021-12-14 01:58:37 +0000
committerMichael Paquier2021-12-14 01:58:37 +0000
commit8abb6c27ec7538a4975544896c35e2f9a73a9f30 (patch)
tree9f8fee40ff9b2f06445e9ca4dd93b22ec272016f /src
parentc99fd65fa207d2a08a780b2af5336322835b1568 (diff)
Remove assertion for replication origins in PREPARE TRANSACTION
When using replication origins, pg_replication_origin_xact_setup() is an optional choice to be able to set a LSN and a timestamp to mark the origin, which would be additionally added to WAL for transaction commits or aborts (including 2PC transactions). An assertion in the code path of PREPARE TRANSACTION assumed that this data should always be set, so it would trigger when using replication origins without setting up an origin LSN. Some tests are added to cover more this kind of scenario. Oversight in commit 1eb6d65. Per discussion with Amit Kapila and Masahiko Sawada. Discussion: https://postgr.es/m/YbbBfNSvMm5nIINV@paquier.xyz Backpatch-through: 11
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/transam/twophase.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c
index 395ec05f008..8b402c3a1d7 100644
--- a/src/backend/access/transam/twophase.c
+++ b/src/backend/access/transam/twophase.c
@@ -1139,7 +1139,6 @@ EndPrepare(GlobalTransaction gxact)
if (replorigin)
{
- Assert(replorigin_session_origin_lsn != InvalidXLogRecPtr);
hdr->origin_lsn = replorigin_session_origin_lsn;
hdr->origin_timestamp = replorigin_session_origin_timestamp;
}