⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tqual.h

📁 关系型数据库 Postgresql 6.5.2
💻 H
字号:
/*------------------------------------------------------------------------- * * tqual.h *	  POSTGRES "time" qualification definitions. * *	  Should be moved/renamed...	- vadim 07/28/98 * * Copyright (c) 1994, Regents of the University of California * * $Id: tqual.h,v 1.22.2.1 1999/08/02 05:25:26 scrappy Exp $ * *------------------------------------------------------------------------- */#ifndef TQUAL_H#define TQUAL_H#include "access/htup.h"#include "access/xact.h"typedef struct SnapshotData{	TransactionId xmin;			/* XID < xmin are visible to me */	TransactionId xmax;			/* XID >= xmax are invisible to me */	uint32		xcnt;			/* # of xact below */	TransactionId *xip;			/* array of xacts in progress */	ItemPointerData tid;		/* required for Dirty snapshot -:( */} SnapshotData;typedef SnapshotData *Snapshot;#define SnapshotNow					((Snapshot) 0x0)#define SnapshotSelf				((Snapshot) 0x1)extern Snapshot SnapshotDirty;extern Snapshot QuerySnapshot;extern Snapshot SerializableSnapshot;#define IsSnapshotNow(snapshot)		((Snapshot) snapshot == SnapshotNow)#define IsSnapshotSelf(snapshot)	((Snapshot) snapshot == SnapshotSelf)#define IsSnapshotDirty(snapshot)	((Snapshot) snapshot == SnapshotDirty)extern TransactionId HeapSpecialTransactionId;extern CommandId HeapSpecialCommandId;/* * HeapTupleSatisfiesVisibility *		True iff heap tuple satsifies a time qual. * * Note: *		Assumes heap tuple is valid. */#define HeapTupleSatisfiesVisibility(tuple, snapshot) \( \	TransactionIdEquals((tuple)->t_data->t_xmax, AmiTransactionId) ? \		false \	: \	( \		(IsSnapshotSelf(snapshot) || heapisoverride()) ? \			HeapTupleSatisfiesItself((tuple)->t_data) \		: \			((IsSnapshotDirty(snapshot)) ? \				HeapTupleSatisfiesDirty((tuple)->t_data) \			: \				((IsSnapshotNow(snapshot)) ? \					HeapTupleSatisfiesNow((tuple)->t_data) \				: \					HeapTupleSatisfiesSnapshot((tuple)->t_data, snapshot) \				) \			) \	) \)#define heapisoverride() \( \	(!TransactionIdIsValid(HeapSpecialTransactionId)) ? \		false \	: \	( \		(!TransactionIdEquals(GetCurrentTransactionId(), \							 HeapSpecialTransactionId) || \		 GetCurrentCommandId() != HeapSpecialCommandId) ? \		( \			HeapSpecialTransactionId = InvalidTransactionId, \			false \		) \		: \			true \	) \)#define HeapTupleMayBeUpdated		0#define HeapTupleInvisible			1#define HeapTupleSelfUpdated		2#define HeapTupleUpdated			3#define HeapTupleBeingUpdated		4extern bool HeapTupleSatisfiesItself(HeapTupleHeader tuple);extern bool HeapTupleSatisfiesNow(HeapTupleHeader tuple);extern bool HeapTupleSatisfiesDirty(HeapTupleHeader tuple);extern bool HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot);extern int	HeapTupleSatisfiesUpdate(HeapTuple tuple);extern void setheapoverride(bool on);extern Snapshot GetSnapshotData(bool serializable);extern void SetQuerySnapshot(void);extern void FreeXactSnapshot(void);#endif	 /* TQUAL_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -