]> granicus.if.org Git - postgresql/commit
Fix aboriginal mistake in plpython's set-returning-function support.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Nov 2010 19:27:09 +0000 (14:27 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Nov 2010 19:27:09 +0000 (14:27 -0500)
commit6a93cb689a03aaaa04bbc446778de9029efad56d
treed8c47eb40a7c3f2fbbc2c2f2b0d5b3403b2be892
parentd589e40705df7e2ffa36d4159522062571339022
Fix aboriginal mistake in plpython's set-returning-function support.

We must stay in the function's SPI context until done calling the iterator
that returns the set result.  Otherwise, any attempt to invoke SPI features
in the python code called by the iterator will malfunction.  Diagnosis and
patch by Jan Urbanski, per bug report from Jean-Baptiste Quenot.

Back-patch to 8.2; there was no support for SRFs in previous versions of
plpython.
src/pl/plpython/expected/plpython_function.out
src/pl/plpython/expected/plpython_test.out
src/pl/plpython/plpython.c
src/pl/plpython/sql/plpython_function.sql
src/pl/plpython/sql/plpython_test.sql