mirror of https://github.com/postgres/postgres
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
52 lines
1.3 KiB
--
|
|
-- 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 plpythonu;
|
|
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 plpythonu;
|
|
CREATE FUNCTION static_test() returns int4
|
|
AS
|
|
'if "call" in SD:
|
|
SD["call"] = SD["call"] + 1
|
|
else:
|
|
SD["call"] = 1
|
|
return SD["call"]
|
|
'
|
|
LANGUAGE plpythonu;
|
|
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)
|
|
|
|
|