Current Path : /compat/linux/proc/self/root/usr/local/include/postgresql/server/storage/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/usr/local/include/postgresql/server/storage/pos.h |
/*------------------------------------------------------------------------- * * pos.h * POSTGRES "position" 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/pos.h,v 1.22 2008/01/01 19:45:59 momjian Exp $ * *------------------------------------------------------------------------- */ #ifndef POS_H #define POS_H /* * a 'position' used to be <pagenumber, offset> in postgres. this has * been changed to just <offset> as the notion of having multiple pages * within a block has been removed. * * the 'offset' abstraction is somewhat confusing. it is NOT a byte * offset within the page; instead, it is an offset into the line * pointer array contained on every page that store (heap or index) * tuples. */ typedef bits16 PositionIdData; typedef PositionIdData *PositionId; /* ---------------- * support macros * ---------------- */ /* * PositionIdIsValid * True iff the position identifier is valid. */ #define PositionIdIsValid(positionId) \ PointerIsValid(positionId) /* * PositionIdSetInvalid * Make an invalid position. */ #define PositionIdSetInvalid(positionId) \ *(positionId) = (bits16) 0 /* * PositionIdSet * Sets a position identifier to the specified value. */ #define PositionIdSet(positionId, offsetNumber) \ *(positionId) = (offsetNumber) /* * PositionIdGetOffsetNumber * Retrieve the offset number from a position identifier. */ #define PositionIdGetOffsetNumber(positionId) \ ((OffsetNumber) *(positionId)) #endif /* POS_H */