postgresql/src/pl/plpython
Michael Paquier bb65f3c1b2 Fix assertion failure with PL/Python exceptions
PLy_elog() was not able to handle correctly cases where a SPI called
failed, which would fill in a DETAIL string able to trigger an
assertion.  We may want to improve this infrastructure so as it is able
to provide any extra detail information provided by an error stack, but
this is left as a future improvement as it could impact existing error
stacks and any applications that depend on them.  For now, the assertion
is removed and a regression test is added to cover the case of a failure
with a detail string.

This problem exists since 2bd78eb8d5, so backpatch all the way down
with tweaks to the regression tests output added where required.

Author: Alexander Lakhin
Discussion: https://postgr.es/m/18070-ab9c171cbf4ebb0f@postgresql.org
Backpatch-through: 11
2023-09-19 08:31:26 +09:00
..
expected Fix assertion failure with PL/Python exceptions 2023-09-19 08:31:26 +09:00
po Translation updates 2023-05-08 14:33:02 +02:00
sql Fix assertion failure with PL/Python exceptions 2023-09-19 08:31:26 +09:00
.gitignore PL/Python: Improve Python 3 regression test setup 2012-09-16 22:26:33 -04:00
generate-spiexceptions.pl Update copyright for 2021 2021-01-02 13:06:25 -05:00
Makefile Use gendef instead of pexports for building windows .def files 2022-02-10 13:51:19 -05:00
nls.mk Translation updates 2021-06-21 12:33:50 +02:00
plpy_cursorobject.c Clear some style deviations. 2020-05-21 08:31:16 -07:00
plpy_cursorobject.h Make PL/Python handle domain-type conversions correctly. 2017-11-16 16:23:04 -05:00
plpy_elog.c Fix assertion failure with PL/Python exceptions 2023-09-19 08:31:26 +09:00
plpy_elog.h Fix assorted header files that failed to compile standalone. 2019-05-31 11:45:33 -04:00
plpy_exec.c Move return statements out of PG_TRY blocks. 2023-05-04 16:25:05 -07:00
plpy_exec.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_main.c Remove the "opaque" pseudo-type and associated compatibility hacks. 2020-03-05 15:48:56 -05:00
plpy_main.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_planobject.c Clear some style deviations. 2020-05-21 08:31:16 -07:00
plpy_planobject.h Make PL/Python handle domain-type conversions correctly. 2017-11-16 16:23:04 -05:00
plpy_plpymodule.c Fix SPI's handling of errors during transaction commit. 2022-06-22 12:11:59 -04:00
plpy_plpymodule.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_procedure.c Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
plpy_procedure.h SQL procedures 2017-11-30 11:03:20 -05:00
plpy_resultobject.c Clear some style deviations. 2020-05-21 08:31:16 -07:00
plpy_resultobject.h Fix assorted header files that failed to compile standalone. 2019-05-31 11:45:33 -04:00
plpy_spi.c Fix SPI's handling of errors during transaction commit. 2022-06-22 12:11:59 -04:00
plpy_spi.h Fix SPI's handling of errors during transaction commit. 2022-06-22 12:11:59 -04:00
plpy_subxactobject.c Clear some style deviations. 2020-05-21 08:31:16 -07:00
plpy_subxactobject.h Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
plpy_typeio.c Tighten array dimensionality checks in Python -> SQL array conversion. 2023-05-04 11:00:33 -04:00
plpy_typeio.h Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
plpy_util.c Make the order of the header file includes consistent. 2019-11-25 08:08:57 +05:30
plpy_util.h Fix assorted header files that failed to compile standalone. 2019-05-31 11:45:33 -04:00
plpython.h Remove unneeded Python includes 2021-11-25 14:30:12 +01:00
plpython2u--1.0.sql Invent "trusted" extensions, and remove the pg_pltemplate catalog. 2020-01-29 18:42:43 -05:00
plpython2u.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython3u--1.0.sql Invent "trusted" extensions, and remove the pg_pltemplate catalog. 2020-01-29 18:42:43 -05:00
plpython3u.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpythonu--1.0.sql Invent "trusted" extensions, and remove the pg_pltemplate catalog. 2020-01-29 18:42:43 -05:00
plpythonu.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
regress-python3-mangle.mk Port regress-python3-mangle.mk to Solaris "sed". 2021-04-12 19:24:21 -07:00