Update FSM on WAL replay. This is a bit limited; the FSM is only updated
[PostgreSQL.git] / src / include / utils / snapmgr.h
blob392952da430d36234b0b16c1eae35d1144e6cf33
1 /*-------------------------------------------------------------------------
3 * snapmgr.h
4 * POSTGRES snapshot manager
6 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
9 * $PostgreSQL$
11 *-------------------------------------------------------------------------
13 #ifndef SNAPMGR_H
14 #define SNAPMGR_H
16 #include "utils/snapshot.h"
19 extern bool FirstSnapshotSet;
21 extern TransactionId TransactionXmin;
22 extern TransactionId RecentXmin;
23 extern TransactionId RecentGlobalXmin;
25 extern Snapshot GetTransactionSnapshot(void);
26 extern Snapshot GetLatestSnapshot(void);
27 extern void SnapshotSetCommandId(CommandId curcid);
29 extern void PushActiveSnapshot(Snapshot snapshot);
30 extern void PushUpdatedSnapshot(Snapshot snapshot);
31 extern void PopActiveSnapshot(void);
32 extern Snapshot GetActiveSnapshot(void);
33 extern bool ActiveSnapshotSet(void);
35 extern Snapshot RegisterSnapshot(Snapshot snapshot);
36 extern void UnregisterSnapshot(Snapshot snapshot);
38 extern void AtSubCommit_Snapshot(int level);
39 extern void AtSubAbort_Snapshot(int level);
40 extern void AtEOXact_Snapshot(bool isCommit);
42 #endif /* SNAPMGR_H */