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.