Re: Is there anyway to create a TupleDesc with uint32 attribute easily? - Mailing list pgsql-hackers

From Xiao Meng
Subject Re: Is there anyway to create a TupleDesc with uint32 attribute easily?
Date
Msg-id ded849dd0807150518g562a802dp9cf8820b2adfc38a@mail.gmail.com
Whole thread Raw
In response to Re: Is there anyway to create a TupleDesc with uint32 attribute easily?  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
List pgsql-hackers
Oh, I almost forget the problem of item size.
What I consider is just to modify the source code as few as possible;-(
Thank you for reminding me, Heikki.
I can see in the older version of postgresql, it remove a  structure
HashItem and just use indextuple to store the item.
Now I would use a structure HashItem to store it again;-)

On Tue, Jul 15, 2008 at 8:04 PM, Heikki Linnakangas
<heikki@enterprisedb.com> wrote:
> Xiao Meng wrote:
>>
>> Hi, hackers.
>> I'm working on my gsoc project - improving hash index.
>> I need to create a TupldeDesc with uint32 attribute.
>> Here is the reason why I need it -
>> If we store hash code only in the tuple, then the TupleDesc's
>> attribute should be uint32
>
> Something along the lines of:
>
> TupleDesc tupdesc = CreateTemplateTupleDesc(1, false);
> TupleDescInitEntry(tupdesc, 1, "hashcode", INT4OID, -1, 0);
>
>> In this way, we can use index_form_tuple() to create a tuple and
>> needn't write a function for hash specially.
>
> I would actually suggest ditching the normal page layout with line pointers
> and IndexTuples altogether. All the entries are fixed size, so you can get
> away with a much simpler structure, and store more entries per page. Storing
> an IndexTuple with one int32 column takes
>
> (sizeof(IndexTupleData) + sizeof(uint32) + sizeof(ItemIdData)) = 16 bytes,
>
> but you only need a pointer to the heap tuple, and the hash code, which is
> just 10 bytes in total. Or 12 if you have to align the hash code to 4 byte
> boundary.
>
> --
>  Heikki Linnakangas
>  EnterpriseDB   http://www.enterprisedb.com
>



-- 
Best Regards,
Xiao Meng

DKERC, Harbin Institute of Technology, China
Gtalk: mx.cogito@gmail.com
MSN: cnEnder@live.com
http://xiaomeng.yo2.cn


pgsql-hackers by date:

Previous
From: "Heikki Linnakangas"
Date:
Subject: Re: Is there anyway to create a TupleDesc with uint32 attribute easily?
Next
From: Bruce Momjian
Date:
Subject: Re: Hint Bits and Write I/O