OSDN Git Service

Fix aboriginal mistake in plpython's set-returning-function support.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Nov 2010 19:27:00 +0000 (14:27 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Nov 2010 19:27:00 +0000 (14:27 -0500)
commite086197aaa8de484dafcb1cc991640980e252d70
tree01bb0ce4bb715abff5062a9619c31981233dc151
parent102aeedfb9bf01b419563151846ebbd1f01f4a5f
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