postgresql/src/pl
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
..
plperl Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
plpgsql Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
plpython Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
tcl Allow memory contexts to have both fixed and variable ident strings. 2018-03-27 16:46:51 -04:00
Makefile Make distprep and *clean build targets recurse into all subdirectories. 2011-07-03 13:55:12 -04:00