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

📄 itemid.h

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 H
字号:
/*------------------------------------------------------------------------- * * itemid.h *	  Standard POSTGRES buffer page item identifier definitions. * * * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $PostgreSQL: pgsql/src/include/storage/itemid.h,v 1.25 2005/09/22 16:46:00 momjian Exp $ * *------------------------------------------------------------------------- */#ifndef ITEMID_H#define ITEMID_H/* * An item pointer (also called line pointer) on a buffer page */typedef struct ItemIdData{								/* line pointers */	unsigned	lp_off:15,		/* offset to start of tuple */				lp_flags:2,		/* flags for tuple */				lp_len:15;		/* length of tuple */} ItemIdData;typedef ItemIdData *ItemId;/* * lp_flags contains these flags: */#define LP_USED			0x01	/* this line pointer is being used */#define LP_DELETE		0x02	/* item is to be deleted */#define ItemIdDeleted(itemId) \	(((itemId)->lp_flags & LP_DELETE) != 0)/* * This bit may be passed to PageAddItem together with * LP_USED & LP_DELETE bits to specify overwrite mode */#define OverwritePageMode	0x10/* * Item offsets, lengths, and flags are represented by these types when * they're not actually stored in an ItemIdData. */typedef uint16 ItemOffset;typedef uint16 ItemLength;typedef bits16 ItemIdFlags;/* ---------------- *		support macros * ---------------- *//* *		ItemIdGetLength */#define ItemIdGetLength(itemId) \   ((itemId)->lp_len)/* *		ItemIdGetOffset */#define ItemIdGetOffset(itemId) \   ((itemId)->lp_off)/* *		ItemIdGetFlags */#define ItemIdGetFlags(itemId) \   ((itemId)->lp_flags)/* * ItemIdIsValid *		True iff disk item identifier is valid. */#define ItemIdIsValid(itemId)	PointerIsValid(itemId)/* * ItemIdIsUsed *		True iff disk item identifier is in use. * * Note: *		Assumes disk item identifier is valid. */#define ItemIdIsUsed(itemId) \( \	AssertMacro(ItemIdIsValid(itemId)), \	(bool) (((itemId)->lp_flags & LP_USED) != 0) \)#endif   /* ITEMID_H */

⌨️ 快捷键说明

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