postgresql/src/pl/plpython
Peter Eisentraut 056a5a3f63 Allow committing inside cursor loop
Previously, committing or aborting inside a cursor loop was prohibited
because that would close and remove the cursor.  To allow that,
automatically convert such cursors to holdable cursors so they survive
commits or rollbacks.  Portals now have a new state "auto-held", which
means they have been converted automatically from pinned.  An auto-held
portal is kept on transaction commit or rollback, but is still removed
when returning to the main loop on error.

This supports all languages that have cursor loop constructs: PL/pgSQL,
PL/Python, PL/Perl.

Reviewed-by: Ildus Kurbangaliev <i.kurbangaliev@postgrespro.ru>
2018-03-28 19:03:26 -04:00
..
expected Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
po Translation updates 2017-08-07 13:55:34 -04:00
sql Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
.gitignore PL/Python: Improve Python 3 regression test setup 2012-09-16 22:26:33 -04:00
generate-spiexceptions.pl Update copyright for 2018 2018-01-02 23:30:12 -05:00
Makefile Transaction control in PL procedures 2018-01-22 08:43:06 -05:00
nls.mk Translation updates 2017-08-07 13:55:34 -04:00
plpy_cursorobject.c Improve type conversion of SPI_processed in Python 2018-01-20 08:02:01 -05:00
plpy_cursorobject.h Make PL/Python handle domain-type conversions correctly. 2017-11-16 16:23:04 -05:00
plpy_elog.c Add compiler hints to PLy_elog() 2017-11-29 09:56:49 -05:00
plpy_elog.h Add compiler hints to PLy_elog() 2017-11-29 09:56:49 -05:00
plpy_exec.c Support INOUT arguments in procedures 2018-03-14 12:07:28 -04:00
plpy_exec.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_main.c Fix broken logic for reporting PL/Python function names in errcontext. 2018-02-14 14:47:18 -05:00
plpy_main.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_planobject.c PL/Python: Add cursor and execute methods to plan object 2017-03-27 11:37:22 -04:00
plpy_planobject.h Make PL/Python handle domain-type conversions correctly. 2017-11-16 16:23:04 -05:00
plpy_plpymodule.c Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
plpy_plpymodule.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_procedure.c Allow memory contexts to have both fixed and variable ident strings. 2018-03-27 16:46:51 -04:00
plpy_procedure.h SQL procedures 2017-11-30 11:03:20 -05:00
plpy_resultobject.c Consistently catch errors from Python _New() functions 2017-11-18 13:39:53 -05:00
plpy_resultobject.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_spi.c Improve type conversion of SPI_processed in Python 2018-01-20 08:02:01 -05:00
plpy_spi.h Remove some inappropriate #includes. 2018-02-16 12:14:08 -05:00
plpy_subxactobject.c Use Py_RETURN_NONE where suitable 2017-09-29 16:51:39 -04:00
plpy_subxactobject.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpy_typeio.c Make plpgsql use its DTYPE_REC code paths for composite-type variables. 2018-02-13 18:52:21 -05:00
plpy_typeio.h Make plpgsql use its DTYPE_REC code paths for composite-type variables. 2018-02-13 18:52:21 -05:00
plpy_util.c Remove some inappropriate #includes. 2018-02-16 12:14:08 -05:00
plpy_util.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plpython2u--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plpython2u--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython2u.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython3u--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plpython3u--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython3u.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpython.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
plpythonu--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plpythonu--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plpythonu.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
regress-python3-mangle.mk Fix hstore_plpython test when python3 is used. 2015-10-04 22:29:03 +02:00