]> 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:26:55 +0000 (14:26 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Nov 2010 19:26:55 +0000 (14:26 -0500)
commitadd0ea88e7722b48d1f3a7c38e3cfd7f1e854674
tree4e1c26e91a5e8645f2711c1f3cbca4218b814e39
parent3134d8863e8473e3ed791e27d484f9e548220411
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_setof.out
src/pl/plpython/plpython.c
src/pl/plpython/sql/plpython_setof.sql