Re: build array of composites in SPI

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

In response to

Responses

Browse pgsql-general by date

  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?