On 10/9/07, Gokulakannan Somasundaram <[EMAIL PROTECTED]> wrote: > > Hi, > When i saw the IndexTuple structure, i saw that 13 bits are allocated > to store the size of the Values List of the IndexTuple Structure. Also the > IID(ItemId Identifier) in the Page header stores the complete size of the > IndexTuple. Can't we derive the size of the IndexTuple from the IID->len? > I think we will be able to save 1 byte per IndexTuple, if we can > implement this from t_info. > > But will this really be a benefit, if we reduce this, considering the > effect of MAX_ALIGN? > I did a small analysis, Currently IndexTuple has a ItemId (6 Bytes) + > t_info(2 Bytes) . So usually it is 8 Bytes. In this case it doesn't matter > whether the t_info occupies 1 byte/2 bytes. > But when Null Bitmap is included and if it is less than one byte(which it > is in most of the cases), then IndexInfoFindDataOffset will return 12 bytes > now (9 bytes + 3 bytes for maxalign). > If we make this improvement, it will continue to be 8 bytes(saving of 4 > bytes per IndexTuple)
No the calculation went wrong over here. It occupies 12 bytes, if the null bitmap exists, since the null bitmap is always 4 bytes. Please put forth your comments.. > > > Thanks, > Gokul. >