summaryrefslogtreecommitdiff
path: root/src/include/utils/tqual.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/utils/tqual.h')
-rw-r--r--src/include/utils/tqual.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h
index 036d9898d69..9a3b56e5f03 100644
--- a/src/include/utils/tqual.h
+++ b/src/include/utils/tqual.h
@@ -66,6 +66,8 @@ extern bool HeapTupleSatisfiesToast(HeapTuple htup,
Snapshot snapshot, Buffer buffer);
extern bool HeapTupleSatisfiesDirty(HeapTuple htup,
Snapshot snapshot, Buffer buffer);
+extern bool HeapTupleSatisfiesNonVacuumable(HeapTuple htup,
+ Snapshot snapshot, Buffer buffer);
extern bool HeapTupleSatisfiesHistoricMVCC(HeapTuple htup,
Snapshot snapshot, Buffer buffer);
@@ -101,6 +103,14 @@ extern bool ResolveCminCmaxDuringDecoding(struct HTAB *tuplecid_data,
((snapshotdata).satisfies = HeapTupleSatisfiesDirty)
/*
+ * Similarly, some initialization is required for a NonVacuumable snapshot.
+ * The caller must supply the xmin horizon to use (e.g., RecentGlobalXmin).
+ */
+#define InitNonVacuumableSnapshot(snapshotdata, xmin_horizon) \
+ ((snapshotdata).satisfies = HeapTupleSatisfiesNonVacuumable, \
+ (snapshotdata).xmin = (xmin_horizon))
+
+/*
* Similarly, some initialization is required for SnapshotToast. We need
* to set lsn and whenTaken correctly to support snapshot_too_old.
*/