blob: 074e82c0b2abc61ac39ddd585139c34df9ae2c58 [file] [log] [blame]
/*-------------------------------------------------------------------------
*
* 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 */