Subject: IndexTupleData struct has no room for pointer indication

From: "Schenkelaars.V.F" <[email-masked]>
Date: Mon, 24 Aug 92 13:44:38 MET DST

Dear Postgres group,

In my attempt to add a newaccess method I need a way to distinguish
the indextuple data pointer from the index tuple tree pointer. 
Your IndexTupleData struct seems to have no room for such indicator.
Here is the code of IndexTupleData
typedef struct IndexTupleData {
        ItemPointerData                 t_tid; /* reference TID to base tuple */

        /*
         * t_info is layed out in the following fashion:
         *
         * first (leftmost) bit: "has nulls" bit
         * second bit: "has varlenas" bit
         * third bit: "has rules" bit
         * fourth-16th bit: size of tuple.
         */

        unsigned short                  t_info; /* various info about tuple */

#ifdef NOTDEF
        char            t_locktype;     /* type of rule lock representation*/
        IndexAttributeBitMapData        bits;   /* bitmap of domains */
#endif
} IndexTupleData;       /* MORE DATA FOLLOWS AT END OF STRUCT */

t_info looks like a good place for such flag, but it seems there is no 
room left. In my opinion it looks like you didn't consider a access method
wich has a mixture of data pointer and tree pointers in a node. Or am I
missing something? Is there a easy way to distinghuish these two pointers.

Regards, and keep up the good work,

     ____________________
 \  / . _   _  _   _  |
  \/ ( ( \ (_ (-' ( \ |

--------------------------------------------------------------------------------
Vincent F. Schenkelaars				|
Company: FEL-TNO                                | Private:
Email  : [email-masked]	|
address: Oude Waalsdorperweg 63			| Groenhovenstraat 12
         Postbus 96864				|
         2509 JG  Den Haag			| 2311 BT  Leiden
         The Netherlands			| The Netherlands
Phone  : Holland 070-3264221			| Holland 071-125576
Fax    : Holland 070-3280961			|
--------------------------------------------------------------------------------
We apologize for the inconvenience.