Re: Add SPI results constants available for PL/* - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Add SPI results constants available for PL/*
Date
Msg-id CAFj8pRDv4jHcP90-4KXwgYRryNToAtXbCRDZeC3GWnevr=mGqQ@mail.gmail.com
Whole thread Raw
In response to Re: Add SPI results constants available for PL/*  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Add SPI results constants available for PL/*  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
2012/1/10 Andrew Dunstan <andrew@dunslane.net>:
>
>
> On 01/03/2012 09:11 PM, Andrew Dunstan wrote:
>>
>>
>>
>> On 01/03/2012 08:40 PM, Robert Haas wrote:
>>>
>>> On Tue, Jan 3, 2012 at 9:33 AM, Pavel Stehule<pavel.stehule@gmail.com>
>>>  wrote:
>>>>>
>>>>> I'd suppose it interesting to add a table to pg_catalog containing this
>>>>> data.
>>>>
>>>> - it is useless overhead
>>>
>>> I tend to agree.
>>>
>>>> I am expecting so definition some constants in Perl, Python is simple
>>>
>>> Presumably one could instead write a script to transform the list of
>>> constants into a .pm file that could be loaded into the background, or
>>> whatever PL/python's equivalent of that concept is.  Not sure if
>>> there's a better way to do it.
>>
>>
>> Yeah, I'm with you and Pavel. Here's my quick perl one-liner to produce a
>> set of SPI_* constants for pl/perl. I'm looking at the best way to include
>> this in the bootstrap code.
>>
>>   perl -ne 'BEGIN { print "use constant\n{\n"; } END { print "};\n"; }
>>   print "\t$1 => $2,\n" if /#define (SPI_\S+)\s+\(?(-?\d+)\)?/;'
>>   src/include/executor/spi.h
>>
>>
>>
>
>
> Actually, now I look closer I see that PLPerl passes back a stringified
> status from SPI_execute(), so there is no great need for setting up these
> constants. It's probably water under the bridge now, but maybe PLPython
> should have done this too.
>

This is not documented well - I see nothing about result value in doc.
Does it raise exception when SPI returns some bad result value?

Regards

Pavel

> cheers
>
> andrew


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Add SPI results constants available for PL/*
Next
From: Simon Riggs
Date:
Subject: Re: Sending notifications from the master to the standby