Re: multiple CREATE FUNCTION AS items for PLs - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: multiple CREATE FUNCTION AS items for PLs
Date
Msg-id 50DDB968.6010708@dunslane.net
Whole thread Raw
In response to Re: multiple CREATE FUNCTION AS items for PLs  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
On 12/28/2012 03:15 AM, Peter Eisentraut wrote:
> On Mon, 2012-12-17 at 16:34 -0500, Peter Eisentraut wrote:
>> Yes, this would be a good solution for some applications, but the only
>> way I can think of to manage the compatibility issue is to invent some
>> function attribute system like
>>
>> CREATE FUNCTION ... OPTIONS (call_convention 'xyz')
> An alternative that has some amount of precedent in the Python world
> would be to use comment pragmas, like this:
>
>          CREATE FUNCTION foo(a,b,c) AS $$
>          # plpython: module
>          import x
>           from __future__ import nex_cool_feature
>
>           def helper_function(x):
>              ...
>
>           def __pg_main__(a,b,c):
>               defined function body here
>
>          $$;
>
> The source code parser would look for this string on, say, the first two
> lines, and then decide which way to process the source text.
>
> This way we could get this done fairly easily without any new
> infrastructure outside the language handler.
>


Quite true, but I have wanted something along the lines of function 
attributes for a long time (can't find the email thread right now, but I 
do seem to recall it being discussed in some form), so I think there's a 
good case for the OPTIONS mechanism.

Making the language handler pull this out of the function text seems a 
bit ugly too.

cheers

andrew



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: enhanced error fields
Next
From: Tom Lane
Date:
Subject: Re: SPI API and exceptions