Re: Question about GetAttributeByNum(Name) ExecQual.c - Mailing list pgsql-hackers

From Zdenek Kotala
Subject Re: Question about GetAttributeByNum(Name) ExecQual.c
Date
Msg-id 4909ADAD.7080902@sun.com
Whole thread Raw
In response to Re: Question about GetAttributeByNum(Name) ExecQual.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Question about GetAttributeByNum(Name) ExecQual.c
List pgsql-hackers
Tom Lane napsal(a):
> Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
>> GetAttributeByNum has first parameter as HeapTupleHeader,  but most functions 
>> use Datum and after that they call DatumGetHeapTupleHeader. The difference is 
>> that DatumGetHeapTupleHeader performs detoast on tuple(row type).
> 
>> Is it intention do not detoast in these functions or it is a bug?
> 
> You would certainly not want a tuple to get separately detoasted for
> each attribute you pull from it.  So having detoasting here would be
> the wrong thing IMHO.

Does it mean that these function are every time called with heap tuple or 
untoasted row type (composite data type)? What is purpose of these function. 
They are not use in executor and never in the core (only in example and 
regress). Should be really in executor?
Thanks Zdenek



-- 
Zdenek Kotala              Sun Microsystems
Prague, Czech Republic     http://sun.com/postgresql



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Question about GetAttributeByNum(Name) ExecQual.c
Next
From: Tom Lane
Date:
Subject: Re: Question about GetAttributeByNum(Name) ExecQual.c