On 12/16/2012 07:37 PM, Tom Lane wrote:
Hannu Krosing <ha...@2ndquadrant.com> writes:
On further thought the function name should just be what it is defined
in postgresql, like this
CREATE FUNCTION foo(a,b,c) AS $$
import x
from __future__ import nex_cool_feature
def helper_function(x):
...
def foo(a,b,c):
defined function body here
def bar(i,j):
function body for bar(i,j)
$$ language plpythonu;
but this would not be backwards compatible, at least not in any
obvious way.
This is still unfortunately true :(
Could we say that *if* the function text contains a line beginning
"def function_name" then we interpret it as above, otherwise oldstyle?
I'm not sure how big a risk of false positives there'd be.
You could be inclined to define a recursive function like this under
current pl/python
CREATE FUNCTION factorial(n bigint) returns bigint LANGUAGE plpythonu
AS $$
def factorial(n):
if n==0: return 1
return factorial(n-1) * n
return factorial(n)
$$;
but at least for functions returning a non-null value an old-style
definition usually
end with line in form
return <something>
------------------------
Hannu
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers