Re: [HACKERS] Faster methods for getting SPI results - Mailing list pgsql-hackers

From Jim Nasby
Subject Re: [HACKERS] Faster methods for getting SPI results
Date
Msg-id 93e424b7-7889-d5ce-38cc-e93cae29e301@BlueTreble.com
Whole thread Raw
In response to Re: [HACKERS] Faster methods for getting SPI results  (Craig Ringer <craig@2ndquadrant.com>)
List pgsql-hackers
On 12/27/16 9:10 PM, Craig Ringer wrote:
> On 28 December 2016 at 09:58, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
>
>> I've looked at this some more, and ITSM that the only way to do this without
>> some major surgery is to create a new type of Destination specifically for
>> SPI that allows for the execution of an arbitrary C function for each tuple
>> to be sent.
>
> That sounds a lot more sensible than the prior proposals. Callback driven.

Here's what I've got right now. I haven't bothered with 
SPI_execute_callback() yet, and there's some missing sanity checks.

I'm not sure if the changes to CreateDestReceiver() are warranted or 
necessary, though it would at least give you sane defaults. My 
incomplete code that would make use of this currently does
CallbackState    callback;
memcpy(callback.pub, CreateDestReceiver(DestSPICallback), 
sizeof(DestReceiver));callback.pub.receiveSlot = PLy_CSreceive;callback.pub.rStartup = PLy_CSStartup;
-- 
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
855-TREBLE2 (855-873-2532)



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] background sessions
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] gettimeofday is at the end of its usefulness?