summaryrefslogtreecommitdiff
path: root/src/pl/plpython/sql/plpython_setof.sql
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-07-04 19:03:30 +0000
committerBruce Momjian <bruce@momjian.us>2005-07-04 19:03:30 +0000
commitaf8756713fcbbf907954b7a77072229910662520 (patch)
treeef598ad56f56192a4dbcdd7a2747b4f79300e2db /src/pl/plpython/sql/plpython_setof.sql
parent109f079be65b1d5e725e117ba2764af72007cc3b (diff)
downloadpostgresql-af8756713fcbbf907954b7a77072229910662520.tar.gz
This patch allows the PL/Python module to do (SRF) functions.
The patch was taken from the CVS version. I have modified the plpython.c file and have added a test sql script for testing the functionality. It was actually the script that was in the 8.0.3 version but have since been removed. In order to signal the end of a set, the called python function must simply return plpy.EndOfSet and the set would be returned. Gerrit van Dyk
Diffstat (limited to 'src/pl/plpython/sql/plpython_setof.sql')
-rw-r--r--src/pl/plpython/sql/plpython_setof.sql12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pl/plpython/sql/plpython_setof.sql b/src/pl/plpython/sql/plpython_setof.sql
new file mode 100644
index 0000000000..6e15788672
--- /dev/null
+++ b/src/pl/plpython/sql/plpython_setof.sql
@@ -0,0 +1,12 @@
+
+CREATE or replace FUNCTION test_setof() returns setof text
+ AS
+'if GD.has_key("calls"):
+ GD["calls"] = GD["calls"] + 1
+ if GD["calls"] > 2:
+ del GD["calls"]
+ return plpy.EndOfSet
+else:
+ GD["calls"] = 1
+return str(GD["calls"])'
+ LANGUAGE plpythonu;