1 /*-------------------------------------------------------------------------
4 * POSTGRES snapshot manager
6 * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
11 *-------------------------------------------------------------------------
16 #include "utils/resowner.h"
17 #include "utils/snapshot.h"
20 extern bool FirstSnapshotSet
;
22 extern TransactionId TransactionXmin
;
23 extern TransactionId RecentXmin
;
24 extern TransactionId RecentGlobalXmin
;
26 extern Snapshot
GetTransactionSnapshot(void);
27 extern Snapshot
GetLatestSnapshot(void);
28 extern void SnapshotSetCommandId(CommandId curcid
);
30 extern void PushActiveSnapshot(Snapshot snapshot
);
31 extern void PushUpdatedSnapshot(Snapshot snapshot
);
32 extern void PopActiveSnapshot(void);
33 extern Snapshot
GetActiveSnapshot(void);
34 extern bool ActiveSnapshotSet(void);
36 extern Snapshot
RegisterSnapshot(Snapshot snapshot
);
37 extern void UnregisterSnapshot(Snapshot snapshot
);
38 extern Snapshot
RegisterSnapshotOnOwner(Snapshot snapshot
, ResourceOwner owner
);
39 extern void UnregisterSnapshotFromOwner(Snapshot snapshot
, ResourceOwner owner
);
41 extern void AtSubCommit_Snapshot(int level
);
42 extern void AtSubAbort_Snapshot(int level
);
43 extern void AtEarlyCommit_Snapshot(void);
44 extern void AtEOXact_Snapshot(bool isCommit
);
46 #endif /* SNAPMGR_H */