-- -- check static and global data (SD and GD) -- CREATE FUNCTION global_test_one() returns text AS 'if "global_test" not in SD: SD["global_test"] = "set by global_test_one" if "global_test" not in GD: GD["global_test"] = "set by global_test_one" return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]' LANGUAGE plpython3u; CREATE FUNCTION global_test_two() returns text AS 'if "global_test" not in SD: SD["global_test"] = "set by global_test_two" if "global_test" not in GD: GD["global_test"] = "set by global_test_two" return "SD: " + SD["global_test"] + ", GD: " + GD["global_test"]' LANGUAGE plpython3u; CREATE FUNCTION static_test() returns int4 AS 'if "call" in SD: SD["call"] = SD["call"] + 1 else: SD["call"] = 1 return SD["call"] ' LANGUAGE plpython3u; SELECT static_test(); static_test ------------- 1 (1 row) SELECT static_test(); static_test ------------- 2 (1 row) SELECT global_test_one(); global_test_one -------------------------------------------------------- SD: set by global_test_one, GD: set by global_test_one (1 row) SELECT global_test_two(); global_test_two -------------------------------------------------------- SD: set by global_test_two, GD: set by global_test_one (1 row)