0002-asserts-for-candidate-lsn-fields.patch
text/x-patch
Filename: 0002-asserts-for-candidate-lsn-fields.patch
Type: text/x-patch
Part: 1
Patch
Format: format-patch
Series: patch 0002
Subject: asserts for candidate lsn fields
| File | + | − |
|---|---|---|
| src/backend/replication/logical/logical.c | 10 | 0 |
From 39024b07c5bc8c3f43fba7a1368368c64a5b6f14 Mon Sep 17 00:00:00 2001
From: tomas <tomas>
Date: Sat, 9 Nov 2024 12:09:42 +0100
Subject: [PATCH 2/5] asserts for candidate lsn fields
---
src/backend/replication/logical/logical.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c
index d76889664a8..8fe77f8c463 100644
--- a/src/backend/replication/logical/logical.c
+++ b/src/backend/replication/logical/logical.c
@@ -1599,6 +1599,8 @@ LogicalIncreaseXminForSlot(XLogRecPtr current_lsn, TransactionId xmin)
*/
else if (current_lsn <= slot->data.confirmed_flush)
{
+ Assert(slot->candidate_xmin_lsn <= current_lsn);
+
slot->candidate_catalog_xmin = xmin;
slot->candidate_xmin_lsn = current_lsn;
@@ -1612,6 +1614,8 @@ LogicalIncreaseXminForSlot(XLogRecPtr current_lsn, TransactionId xmin)
*/
else if (slot->candidate_xmin_lsn == InvalidXLogRecPtr)
{
+ Assert(slot->candidate_xmin_lsn <= current_lsn);
+
slot->candidate_catalog_xmin = xmin;
slot->candidate_xmin_lsn = current_lsn;
}
@@ -1654,6 +1658,9 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart
*/
else if (current_lsn <= slot->data.confirmed_flush)
{
+ Assert(slot->candidate_restart_valid <= current_lsn);
+ Assert(slot->candidate_restart_lsn <= restart_lsn);
+
slot->candidate_restart_valid = current_lsn;
slot->candidate_restart_lsn = restart_lsn;
@@ -1668,6 +1675,9 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart
*/
if (slot->candidate_restart_valid == InvalidXLogRecPtr)
{
+ Assert(slot->candidate_restart_valid <= current_lsn);
+ Assert(slot->candidate_restart_lsn <= restart_lsn);
+
slot->candidate_restart_valid = current_lsn;
slot->candidate_restart_lsn = restart_lsn;
SpinLockRelease(&slot->mutex);
--
2.39.5