mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
Allow PL/Python functions to return void, per gripe from James Robinson
(I didn't use his patch, however). A void-returning PL/Python function must return None (from Python), which is translated into a void datum (and *not* NULL) for Postgres. I also added some regression tests for this functionality.
This commit is contained in:
@ -341,3 +341,18 @@ plan = plpy.prepare("SELECT $1 AS testvalue1, $2 AS testvalue2", ["text", "text"
|
||||
rv = plpy.execute(plan, u"\\x80", 1)
|
||||
return rv[0]["testvalue1"]
|
||||
' LANGUAGE plpythonu;
|
||||
|
||||
-- Tests for functions that return void
|
||||
|
||||
CREATE FUNCTION test_void_func1() RETURNS void AS $$
|
||||
x = 10
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
||||
-- illegal: can't return non-None value in void-returning func
|
||||
CREATE FUNCTION test_void_func2() RETURNS void AS $$
|
||||
return 10
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
||||
CREATE FUNCTION test_return_none() RETURNS int AS $$
|
||||
None
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
Reference in New Issue
Block a user