postgresql/src/pl/plperl
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
sql Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
.gitignore
GNUmakefile
nls.mk
plc_perlboot.pl
plc_trusted.pl
plperl_helpers.h
plperl_opmask.pl
plperl--1.0.sql
plperl--unpackaged--1.0.sql
plperl.c Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
plperl.control
plperl.h
plperlu--1.0.sql
plperlu--unpackaged--1.0.sql
plperlu.control
ppport.h
README
SPI.xs
text2macro.pl
Util.xs

src/pl/plperl/README

PL/Perl allows you to write PostgreSQL functions and procedures in
Perl.  To include PL/Perl in the build use './configure --with-perl'.
To build from this directory use 'make all; make install'.  libperl
must have been built as a shared library, which is usually not the
case in standard installations.

Consult the PostgreSQL User's Guide and the INSTALL file in the
top-level directory of the source distribution for more information.