mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
54 lines
1.7 KiB
C
54 lines
1.7 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* snapmgr.h
|
|
* POSTGRES snapshot manager
|
|
*
|
|
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/utils/snapmgr.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef SNAPMGR_H
|
|
#define SNAPMGR_H
|
|
|
|
#include "fmgr.h"
|
|
#include "utils/resowner.h"
|
|
#include "utils/snapshot.h"
|
|
|
|
|
|
extern bool FirstSnapshotSet;
|
|
|
|
extern TransactionId TransactionXmin;
|
|
extern TransactionId RecentXmin;
|
|
extern TransactionId RecentGlobalXmin;
|
|
|
|
extern Snapshot GetTransactionSnapshot(void);
|
|
extern Snapshot GetLatestSnapshot(void);
|
|
extern void SnapshotSetCommandId(CommandId curcid);
|
|
|
|
extern void PushActiveSnapshot(Snapshot snapshot);
|
|
extern void PushCopiedSnapshot(Snapshot snapshot);
|
|
extern void UpdateActiveSnapshotCommandId(void);
|
|
extern void PopActiveSnapshot(void);
|
|
extern Snapshot GetActiveSnapshot(void);
|
|
extern bool ActiveSnapshotSet(void);
|
|
|
|
extern Snapshot RegisterSnapshot(Snapshot snapshot);
|
|
extern void UnregisterSnapshot(Snapshot snapshot);
|
|
extern Snapshot RegisterSnapshotOnOwner(Snapshot snapshot, ResourceOwner owner);
|
|
extern void UnregisterSnapshotFromOwner(Snapshot snapshot, ResourceOwner owner);
|
|
|
|
extern void AtSubCommit_Snapshot(int level);
|
|
extern void AtSubAbort_Snapshot(int level);
|
|
extern void AtEOXact_Snapshot(bool isCommit);
|
|
|
|
extern Datum pg_export_snapshot(PG_FUNCTION_ARGS);
|
|
extern void ImportSnapshot(const char *idstr);
|
|
extern bool XactHasExportedSnapshots(void);
|
|
extern void DeleteAllExportedSnapshotFiles(void);
|
|
extern bool ThereAreNoPriorRegisteredSnapshots(void);
|
|
|
|
#endif /* SNAPMGR_H */
|