| /*------------------------------------------------------------------------- |
| * |
| * itempos.h |
| * Standard POSTGRES buffer page long item subposition 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/itempos.h,v 1.23 2006/07/13 16:49:20 momjian Exp $ |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef ITEMPOS_H |
| #define ITEMPOS_H |
| |
| #include "storage/buf.h" |
| #include "storage/itemid.h" |
| |
| typedef struct ItemSubpositionData |
| { |
| Buffer op_db; |
| ItemId op_lpp; |
| char *op_cp; /* XXX */ |
| uint32 op_len; |
| } ItemSubpositionData; |
| |
| typedef ItemSubpositionData *ItemSubposition; |
| |
| /* |
| * PNOBREAK(OBJP, LEN) |
| * struct objpos *OBJP; |
| * unsigned LEN; |
| */ |
| #define PNOBREAK(OBJP, LEN) ((OBJP)->op_len >= (LEN)) |
| |
| /* |
| * PSKIP(OBJP, LEN) |
| * struct objpos *OBJP; |
| * unsigned LEN; |
| */ |
| #define PSKIP(OBJP, LEN) \ |
| do { (OBJP)->op_cp += (LEN); (OBJP)->op_len -= (LEN); } while (0) |
| |
| #endif /* ITEMPOS_H */ |