summaryrefslogtreecommitdiff
path: root/src/include/storage/itemid.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-08-07 20:16:13 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-08-07 20:16:13 +0000
commit022417740094620880488dd9b04fbb96ff11694b (patch)
treefa7a1b0853207355cb1f180d126b939c899825e2 /src/include/storage/itemid.h
parentd2165a4a5d7786ecd43becf8e040c5764d35ca16 (diff)
downloadpostgresql-022417740094620880488dd9b04fbb96ff11694b.tar.gz
TOAST mop-up work: update comments for tuple-size-related symbols such
as MaxHeapAttributeNumber. Increase MaxAttrSize to something more reasonable (given what it's used for, namely checking char(n) declarations, I didn't make it the full 1G that it could theoretically be --- 10Mb seemed a more reasonable number). Improve calculation of MaxTupleSize.
Diffstat (limited to 'src/include/storage/itemid.h')
-rw-r--r--src/include/storage/itemid.h36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/include/storage/itemid.h b/src/include/storage/itemid.h
index 51af7f49f3..87aa82ac3c 100644
--- a/src/include/storage/itemid.h
+++ b/src/include/storage/itemid.h
@@ -7,38 +7,48 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: itemid.h,v 1.10 2000/01/26 05:58:33 momjian Exp $
+ * $Id: itemid.h,v 1.11 2000/08/07 20:15:50 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef ITEMID_H
#define ITEMID_H
-typedef uint16 ItemOffset;
-typedef uint16 ItemLength;
-
-typedef bits16 ItemIdFlags;
-
-
+/*
+ * An item pointer (also called line pointer) on a buffer page
+ */
typedef struct ItemIdData
{ /* line pointers */
- unsigned lp_off:15, /* offset to find tup */
- /* can be reduced by 2 if necc. */
- lp_flags:2, /* flags on tuple */
+ unsigned lp_off:15, /* offset to start of tuple */
+ lp_flags:2, /* flags for tuple */
lp_len:15; /* length of tuple */
} ItemIdData;
-typedef struct ItemIdData *ItemId;
+typedef ItemIdData *ItemId;
-#ifndef LP_USED
+/*
+ * lp_flags contains these flags:
+ */
#define LP_USED 0x01 /* this line pointer is being used */
-#endif
+/* currently, there is one unused flag bit ... */
+
+
+/*
+ * 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
*/