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

📄 relscan.h

📁 关系型数据库 Postgresql 6.5.2
💻 H
字号:
/*------------------------------------------------------------------------- * * relscan.h *	  POSTGRES internal relation scan descriptor definitions. * * * Copyright (c) 1994, Regents of the University of California * * $Id: relscan.h,v 1.15 1999/05/25 16:13:33 momjian Exp $ * *------------------------------------------------------------------------- */#ifndef RELSCAN_H#define RELSCAN_H#include <storage/buf.h>#include <utils/rel.h>#include <access/htup.h>#include <utils/tqual.h>typedef ItemPointerData MarkData;typedef struct HeapScanDescData{	Relation	rs_rd;			/* pointer to relation descriptor */	HeapTupleData rs_ptup;		/* previous tuple in scan */	HeapTupleData rs_ctup;		/* current tuple in scan */	HeapTupleData rs_ntup;		/* next tuple in scan */	Buffer		rs_pbuf;		/* previous buffer in scan */	Buffer		rs_cbuf;		/* current buffer in scan */	Buffer		rs_nbuf;		/* next buffer in scan */	ItemPointerData rs_mptid;	/* marked previous tid */	ItemPointerData rs_mctid;	/* marked current tid */	ItemPointerData rs_mntid;	/* marked next tid */	ItemPointerData rs_mcd;		/* marked current delta XXX ??? */	Snapshot	rs_snapshot;	/* snapshot to see */	bool		rs_atend;		/* restart scan at end? */	uint16		rs_cdelta;		/* current delta in chain */	uint16		rs_nkeys;		/* number of attributes in keys */	ScanKey		rs_key;			/* key descriptors */} HeapScanDescData;typedef HeapScanDescData *HeapScanDesc;typedef struct IndexScanDescData{	Relation	relation;		/* relation descriptor */	void	   *opaque;			/* am-specific slot */	ItemPointerData previousItemData;	/* previous index pointer */	ItemPointerData currentItemData;	/* current index pointer */	ItemPointerData nextItemData;		/* next index pointer */	MarkData	previousMarkData;		/* marked previous pointer */	MarkData	currentMarkData;/* marked current  pointer */	MarkData	nextMarkData;	/* marked next pointer */	uint8		flags;			/* scan position flags */	bool		scanFromEnd;	/* restart scan at end? */	uint16		numberOfKeys;	/* number of key attributes */	ScanKey		keyData;		/* key descriptor */} IndexScanDescData;typedef IndexScanDescData *IndexScanDesc;/* ---------------- *		IndexScanDescPtr is used in the executor where we have to *		keep track of several index scans when using several indices *		- cim 9/10/89 * ---------------- */typedef IndexScanDesc *IndexScanDescPtr;/* * HeapScanIsValid *		True iff the heap scan is valid. */#define HeapScanIsValid(scan) PointerIsValid(scan)/* * IndexScanIsValid *		True iff the index scan is valid. */#define IndexScanIsValid(scan) PointerIsValid(scan)#endif	 /* RELSCAN_H */

⌨️ 快捷键说明

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