]> 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:04 +0000 (14:27 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Nov 2010 19:27:04 +0000 (14:27 -0500)
commit7508d9d87e7d506b3e56ba3e0a778efa33a17912
treea488662e7e3ca803dda9109a878371fa25a1440c
parent2519b8268be4d407325b1882dd58ba50914e9230
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