Re: Question about GetAttributeByNum(Name) ExecQual.c

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Question about GetAttributeByNum(Name) ExecQual.c
Date: 2008-10-30 12:50:53
Message-ID: 4909ADAD.7080902@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane napsal(a):
> Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2008-10-30 12:52:09 Re: Question about GetAttributeByNum(Name) ExecQual.c
Previous Message Tom Lane 2008-10-30 12:32:56 Re: Question about GetAttributeByNum(Name) ExecQual.c