32 #define SnapshotSelf (&SnapshotSelfData)
33 #define SnapshotAny (&SnapshotAnyData)
40 #define InitDirtySnapshot(snapshotdata) \
41 ((snapshotdata).snapshot_type = SNAPSHOT_DIRTY)
48 #define InitNonVacuumableSnapshot(snapshotdata, vistestp) \
49 ((snapshotdata).snapshot_type = SNAPSHOT_NON_VACUUMABLE, \
50 (snapshotdata).vistest = (vistestp))
56 #define InitToastSnapshot(snapshotdata, l, w) \
57 ((snapshotdata).snapshot_type = SNAPSHOT_TOAST, \
58 (snapshotdata).lsn = (l), \
59 (snapshotdata).whenTaken = (w))
62 #define IsMVCCSnapshot(snapshot) \
63 ((snapshot)->snapshot_type == SNAPSHOT_MVCC || \
64 (snapshot)->snapshot_type == SNAPSHOT_HISTORIC_MVCC)
bool GlobalVisTestIsRemovableFullXid(GlobalVisState *state, FullTransactionId fxid)
void UnregisterSnapshotFromOwner(Snapshot snapshot, ResourceOwner owner)
bool GlobalVisTestIsRemovableXid(GlobalVisState *state, TransactionId xid)
bool GlobalVisCheckRemovableFullXid(Relation rel, FullTransactionId fxid)
struct HTAB * HistoricSnapshotGetTupleCids(void)
void AtSubAbort_Snapshot(int level)
void SerializeSnapshot(Snapshot snapshot, char *start_address)
void AtEOXact_Snapshot(bool isCommit, bool resetXmin)
bool XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
Snapshot GetTransactionSnapshot(void)
Snapshot GetLatestSnapshot(void)
void TeardownHistoricSnapshot(bool is_error)
Snapshot GetCatalogSnapshot(Oid relid)
void UnregisterSnapshot(Snapshot snapshot)
void PushActiveSnapshot(Snapshot snapshot)
Snapshot RestoreSnapshot(char *start_address)
void AtSubCommit_Snapshot(int level)
void UpdateActiveSnapshotCommandId(void)
PGDLLIMPORT TransactionId TransactionXmin
char * ExportSnapshot(Snapshot snapshot)
bool HistoricSnapshotActive(void)
void ImportSnapshot(const char *idstr)
bool ActiveSnapshotSet(void)
PGDLLIMPORT SnapshotData SnapshotAnyData
Snapshot RegisterSnapshot(Snapshot snapshot)
bool XactHasExportedSnapshots(void)
GlobalVisState * GlobalVisTestFor(Relation rel)
void DeleteAllExportedSnapshotFiles(void)
PGDLLIMPORT SnapshotData CatalogSnapshotData
bool GlobalVisCheckRemovableXid(Relation rel, TransactionId xid)
bool HaveRegisteredOrActiveSnapshot(void)
void InvalidateCatalogSnapshotConditionally(void)
bool ThereAreNoPriorRegisteredSnapshots(void)
void RestoreTransactionSnapshot(Snapshot snapshot, void *source_pgproc)
void SnapshotSetCommandId(CommandId curcid)
void PopActiveSnapshot(void)
void PushCopiedSnapshot(Snapshot snapshot)
PGDLLIMPORT SnapshotData SnapshotSelfData
Size EstimateSnapshotSpace(Snapshot snapshot)
void WaitForOlderSnapshots(TransactionId limitXmin, bool progress)
void SetupHistoricSnapshot(Snapshot historic_snapshot, struct HTAB *tuplecids)
PGDLLIMPORT bool FirstSnapshotSet
Snapshot RegisterSnapshotOnOwner(Snapshot snapshot, ResourceOwner owner)
void InvalidateCatalogSnapshot(void)
void PushActiveSnapshotWithLevel(Snapshot snapshot, int snap_level)
Snapshot GetNonHistoricCatalogSnapshot(Oid relid)
PGDLLIMPORT TransactionId RecentXmin
Snapshot GetOldestSnapshot(void)
Snapshot GetActiveSnapshot(void)