postgresql/src/pl
Tom Lane 8c5722948e Fix error handling in pltcl_returnnext.
We can't throw elog(ERROR) out of a Tcl command procedure; we have
to catch the error and return TCL_ERROR to the Tcl interpreter.
pltcl_returnnext failed to meet this requirement, so that errors
detected by pltcl_build_tuple_result or other functions called here
led to longjmp'ing out of the Tcl interpreter and thereby leaving it
in a bad state.  Use the existing subtransaction support to prevent
that.  Oversight in commit 26abb50c4, found more or less accidentally
by the buildfarm thanks to the tests added in 961bed020.

Report: https://postgr.es/m/30647.1483989734@sss.pgh.pa.us
2017-01-09 17:47:10 -05:00
..
plperl Use 'use strict' in all Perl programs 2017-01-05 12:34:48 -05:00
plpgsql Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
plpython Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
tcl Fix error handling in pltcl_returnnext. 2017-01-09 17:47:10 -05:00
Makefile Make distprep and *clean build targets recurse into all subdirectories. 2011-07-03 13:55:12 -04:00