From: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: build array of composites in SPI |
Date: | 2009-11-17 19:11:48 |
Message-ID: | b42b73150911171111r53fe5485p24ba1b5212977daf@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Nov 17, 2009 at 1:07 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Merlin Moncure <mmoncure(at)gmail(dot)com> writes:
>> 2) build the composite via:
>> 2a) TupleDescGetAttInMetadata
>> 2b) BuildTupleFromCStrings
>> 2c) get datum/HeapTupleGetDatum
>
> If it's performance critical, you might want to avoid the extra overhead
> of the AttInMetadata API. Especially if you know the column datatypes
> ahead of time, and even more especially if you have the values in datum
> rather than C-string form. Consider using heap_form_tuple directly.
right...makes sense. converted. one last question: can you save off
the blessed TupleDesc (that is, make it static) between invocations of
the function (I'm not worried about it changing)?
merlin
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-11-17 19:19:47 | Re: build array of composites in SPI |
Previous Message | Alexey Klyukin | 2009-11-17 18:32:04 | Re: plperl: spi_query_prepared/spi_fetchrow versus spi_exec_prepared: memory? |