| /*------------------------------------------------------------------------- |
| * |
| * procarray.h |
| * POSTGRES process array definitions. |
| * |
| * |
| * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * $PostgreSQL: pgsql/src/include/storage/procarray.h,v 1.10 2006/07/30 02:07:18 alvherre Exp $ |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef PROCARRAY_H |
| #define PROCARRAY_H |
| |
| #include "storage/lock.h" |
| |
| struct DtxContextInfo; /* cdb/cdbdtxcontextinfo.h */ |
| struct SnapshotData; /* utils/tqual.h */ |
| |
| extern Size ProcArrayShmemSize(void); |
| extern void CreateSharedProcArray(void); |
| extern void ProcArrayAdd(PGPROC *proc); |
| extern void ProcArrayRemove(PGPROC *proc, bool isCommit); |
| |
| extern bool TransactionIdIsInProgress(TransactionId xid); |
| extern bool TransactionIdIsActive(TransactionId xid); |
| extern TransactionId GetOldestXmin(bool allDbs); |
| |
| extern PGPROC *BackendPidGetProc(int pid); |
| extern int BackendXidGetPid(TransactionId xid); |
| extern bool IsBackendPid(int pid); |
| extern bool DatabaseHasActiveBackends(Oid databaseId, bool ignoreMyself); |
| |
| extern int CountActiveBackends(void); |
| extern int CountDBBackends(Oid databaseid); |
| extern int CountUserBackends(Oid roleid); |
| |
| extern void XidCacheRemoveRunningXids(TransactionId xid, |
| int nxids, TransactionId *xids); |
| |
| extern struct SnapshotData* GetSnapshotData(struct SnapshotData *snapshot, bool serializable); |
| extern void updateSharedLocalSnapshot(struct DtxContextInfo *dtxContextInfo, struct SnapshotData *snapshot, char* debugCaller); |
| |
| extern void GetSlotTableDebugInfo(void **snapshotArray, int *maxSlots); |
| |
| extern bool FindAndSignalProcess(int sessionId, int commandId); |
| |
| #endif /* PROCARRAY_H */ |