aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/execParallel.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2017-01-09 17:47:02 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2017-01-09 17:47:10 -0500
commit8c5722948e831c1862a39da2bb5d793a6f2aabab (patch)
treef9dcc2349363186a412a9e1db99ad27973610879 /src/backend/executor/execParallel.c
parent3957b58b8885441c8d03bc1cfc00e47cf8cd7975 (diff)
downloadpostgresql-8c5722948e831c1862a39da2bb5d793a6f2aabab.tar.gz
postgresql-8c5722948e831c1862a39da2bb5d793a6f2aabab.zip
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
Diffstat (limited to 'src/backend/executor/execParallel.c')
0 files changed, 0 insertions, 0 deletions