--
-- 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;
-- Tests for functions returning void
SELECT test_void_func1(), test_void_func1() IS NULL AS "is null";
 test_void_func1 | is null 
-----------------+---------
                 | f
(1 row)

SELECT test_void_func2(); -- should fail
ERROR:  PL/Python function with return type "void" did not return None
CONTEXT:  while creating return value
PL/Python function "test_void_func2"
SELECT test_return_none(), test_return_none() IS NULL AS "is null";
 test_return_none | is null 
------------------+---------
                  | t
(1 row)

