]> granicus.if.org Git - postgresql/commit
Fix error handling in PLy_spi_execute_fetch_result().
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 20 Jul 2013 16:44:37 +0000 (12:44 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 20 Jul 2013 16:44:53 +0000 (12:44 -0400)
commit15b9bdf4d46e5b2858c7666dd4a39040aa12e668
treef461375dd87693596df4935b2f5a5dc27a289164
parentef8321a57d38c00592614a6d8f0872a721d301c3
Fix error handling in PLy_spi_execute_fetch_result().

If an error is thrown out of the datatype I/O functions called by this
function, we need to do subtransaction cleanup, which the previous coding
entirely failed to do.  Fortunately, both existing callers of this function
already have proper cleanup logic, so re-throwing the exception is enough.

Also, postpone creation of the resultset tupdesc until after the I/O
conversions are complete, so that we won't leak memory in TopMemoryContext
when such an error happens.
src/pl/plpython/plpy_spi.c