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

From Peter Eisentraut
Subject Re: multiple CREATE FUNCTION AS items for PLs
Date
Msg-id 50CF8FDE.9060805@gmx.net
Whole thread Raw
In response to Re: multiple CREATE FUNCTION AS items for PLs  (Hannu Krosing <hannu@krosing.net>)
Responses Re: multiple CREATE FUNCTION AS items for PLs  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: multiple CREATE FUNCTION AS items for PLs  (Hannu Krosing <hannu@krosing.net>)
Re: multiple CREATE FUNCTION AS items for PLs  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
On 12/16/12 1:20 PM, Hannu Krosing wrote:
> I was going to suggest some special function name to be pulled out of code
> passed to CREATE FUNCTION in line with
> 
>     CREATE FUNCTION foo(a,b,c) AS $$
>     import x
>         from __future__ import nex_cool_feature
> 
>         def helper_function(x):
>            ...
> 
>         def __pg_main__(a,b,c):
>             defined function body here
> 
>     $$;
> 
> so that the whole text gets compiled into module at first call and the
> __pg_main__ will
> be the function that gets called as foo(a,b,c) from postgresql
> 
> but this would not be backwards compatible, at least not in any obvious way.

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')

But this is also a lot more typing, so the two-part AS solution still
has some appeal if you just want an import.



pgsql-hackers by date:

Previous
From: Jeff Janes
Date:
Subject: Re: Serious problem: media recovery fails after system or PostgreSQL crash
Next
From: Simon Riggs
Date:
Subject: Re: Enabling Checksums