diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2018-03-28 18:57:10 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2018-03-28 19:03:26 -0400 |
commit | 056a5a3f63f1a29d9266165ee6e25c6a51ddd63c (patch) | |
tree | 81a14413e9303f536c9c3f8c889bc2d265fa75c8 /doc/src/sgml/plpython.sgml | |
parent | a2894cce544d120199a1a90469073796d055bb60 (diff) | |
download | postgresql-056a5a3f63f1a29d9266165ee6e25c6a51ddd63c.tar.gz postgresql-056a5a3f63f1a29d9266165ee6e25c6a51ddd63c.zip |
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>
Diffstat (limited to 'doc/src/sgml/plpython.sgml')
-rw-r--r-- | doc/src/sgml/plpython.sgml | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml index 3b7974690ed..de383272427 100644 --- a/doc/src/sgml/plpython.sgml +++ b/doc/src/sgml/plpython.sgml @@ -1416,9 +1416,7 @@ CALL transaction_test1(); </para> <para> - Transactions cannot be ended when a cursor created by - <literal>plpy.cursor</literal> is open or when an explicit subtransaction - is active. + Transactions cannot be ended when an explicit subtransaction is active. </para> </sect1> |