1 /*-------------------------------------------------------------------------
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
11 *-------------------------------------------------------------------------
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 */