postgresql/src/pl/plperl
Tom Lane 23a27b039d Widen query numbers-of-tuples-processed counters to uint64.
This patch widens SPI_processed, EState's es_processed field, PortalData's
portalPos field, FuncCallContext's call_cntr and max_calls fields,
ExecutorRun's count argument, PortalRunFetch's result, and the max number
of rows in a SPITupleTable to uint64, and deals with (I hope) all the
ensuing fallout.  Some of these values were declared uint32 before, and
others "long".

I also removed PortalData's posOverflow field, since that logic seems
pretty useless given that portalPos is now always 64 bits.

The user-visible results are that command tags for SELECT etc will
correctly report tuple counts larger than 4G, as will plpgsql's GET
GET DIAGNOSTICS ... ROW_COUNT command.  Queries processing more tuples
than that are still not exactly the norm, but they're becoming more
common.

Most values associated with FETCH/MOVE distances, such as PortalRun's count
argument and the count argument of most SPI functions that have one, remain
declared as "long".  It's not clear whether it would be worth promoting
those to int64; but it would definitely be a large dollop of additional
API churn on top of this, and it would only help 32-bit platforms which
seem relatively less likely to see any benefit.

Andreas Scherbaum, reviewed by Christian Ullrich, additional hacking by me
2016-03-12 16:05:29 -05:00
..
expected Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
po Translation updates 2015-06-28 23:56:55 -04:00
sql Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
.gitignore Allow make check in PL directories 2011-02-15 06:52:12 +02:00
GNUmakefile Make hstore_plperl's build even more like plperl's 2015-05-01 22:16:58 -04:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
SPI.xs Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
Util.xs Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
nls.mk Translation updates 2014-12-15 00:25:35 -05:00
plc_perlboot.pl Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00
plc_trusted.pl Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
plperl--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plperl--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plperl.c Widen query numbers-of-tuples-processed counters to uint64. 2016-03-12 16:05:29 -05:00
plperl.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plperl.h Update copyright for 2016 2016-01-02 13:33:40 -05:00
plperl_helpers.h Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
plperl_opmask.pl Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00
plperlu--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:03:51 -04:00
plperlu--unpackaged--1.0.sql Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plperlu.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
ppport.h Upgrade to latest ppport.h. Patch from Tim Bunce. 2009-12-25 00:24:59 +00:00
text2macro.pl Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00

README

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.