mirror of
https://github.com/simtactics/niotso.git
synced 2025-04-01 23:44:02 +00:00
75 lines
2.8 KiB
C
75 lines
2.8 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* procarray.h
|
|
* POSTGRES process array definitions.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/storage/procarray.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef PROCARRAY_H
|
|
#define PROCARRAY_H
|
|
|
|
#include "storage/lock.h"
|
|
#include "storage/procsignal.h"
|
|
#include "storage/standby.h"
|
|
#include "utils/snapshot.h"
|
|
|
|
|
|
extern Size ProcArrayShmemSize(void);
|
|
extern void CreateSharedProcArray(void);
|
|
extern void ProcArrayAdd(PGPROC *proc);
|
|
extern void ProcArrayRemove(PGPROC *proc, TransactionId latestXid);
|
|
|
|
extern void ProcArrayEndTransaction(PGPROC *proc, TransactionId latestXid);
|
|
extern void ProcArrayClearTransaction(PGPROC *proc);
|
|
|
|
extern void ProcArrayApplyRecoveryInfo(RunningTransactions running);
|
|
extern void ProcArrayApplyXidAssignment(TransactionId topxid,
|
|
int nsubxids, TransactionId *subxids);
|
|
|
|
extern void RecordKnownAssignedTransactionIds(TransactionId xid);
|
|
extern void ExpireTreeKnownAssignedTransactionIds(TransactionId xid,
|
|
int nsubxids, TransactionId *subxids,
|
|
TransactionId max_xid);
|
|
extern void ExpireAllKnownAssignedTransactionIds(void);
|
|
extern void ExpireOldKnownAssignedTransactionIds(TransactionId xid);
|
|
|
|
extern RunningTransactions GetRunningTransactionData(void);
|
|
|
|
extern Snapshot GetSnapshotData(Snapshot snapshot);
|
|
|
|
extern bool TransactionIdIsInProgress(TransactionId xid);
|
|
extern bool TransactionIdIsActive(TransactionId xid);
|
|
extern TransactionId GetOldestXmin(bool allDbs, bool ignoreVacuum);
|
|
extern TransactionId GetOldestActiveTransactionId(void);
|
|
|
|
extern int GetTransactionsInCommit(TransactionId **xids_p);
|
|
extern bool HaveTransactionsInCommit(TransactionId *xids, int nxids);
|
|
|
|
extern PGPROC *BackendPidGetProc(int pid);
|
|
extern int BackendXidGetPid(TransactionId xid);
|
|
extern bool IsBackendPid(int pid);
|
|
|
|
extern VirtualTransactionId *GetCurrentVirtualXIDs(TransactionId limitXmin,
|
|
bool excludeXmin0, bool allDbs, int excludeVacuum,
|
|
int *nvxids);
|
|
extern VirtualTransactionId *GetConflictingVirtualXIDs(TransactionId limitXmin, Oid dbOid);
|
|
extern pid_t CancelVirtualTransaction(VirtualTransactionId vxid, ProcSignalReason sigmode);
|
|
|
|
extern bool MinimumActiveBackends(int min);
|
|
extern int CountDBBackends(Oid databaseid);
|
|
extern void CancelDBBackends(Oid databaseid, ProcSignalReason sigmode, bool conflictPending);
|
|
extern int CountUserBackends(Oid roleid);
|
|
extern bool CountOtherDBBackends(Oid databaseId,
|
|
int *nbackends, int *nprepared);
|
|
|
|
extern void XidCacheRemoveRunningXids(TransactionId xid,
|
|
int nxids, const TransactionId *xids,
|
|
TransactionId latestXid);
|
|
|
|
#endif /* PROCARRAY_H */
|