postgresql/src/pl/plperl
Tom Lane ca6c2f863b Fix plperl to handle non-ASCII error message texts correctly.
We were passing error message texts to croak() verbatim, which turns out
not to work if the text contains non-ASCII characters; Perl mangles their
encoding, as reported in bug #13638 from Michal Leinweber.  To fix, convert
the text into a UTF8-encoded SV first.

It's hard to test this without risking failures in different database
encodings; but we can follow the lead of plpython, which is already
assuming that no-break space (U+00A0) has an equivalent in all encodings
we care about running the regression tests in (cf commit 2dfa15de5).

Back-patch to 9.1.  The code is quite different in 9.0, and anyway it seems
too risky to put something like this into 9.0's final minor release.

Alex Hunsaker, with suggestions from Tim Bunce and Tom Lane
2015-09-29 10:52:22 -04:00
..
expected Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
po Translation updates 2015-05-18 08:51:06 -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 plperl: Skip setting UTF8 flag when in SQL_ASCII encoding 2012-07-10 15:50:58 -04:00
nls.mk Translation updates 2013-02-03 23:58:38 -05:00
plc_perlboot.pl Fix declaration of $_TD in "strict" trigger functions 2011-05-18 23:56:18 -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:04:05 -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 Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
plperl.control Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
plperl.h Revert error-throwing wrappers for the printf family of functions. 2015-05-19 18:18:16 -04: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 Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is 2010-05-13 16:39:43 +00:00
plperlu--1.0.sql Put comments on the installable procedural languages. 2011-07-03 19:04:05 -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
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
SPI.xs Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00
text2macro.pl Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Util.xs Fix plperl to handle non-ASCII error message texts correctly. 2015-09-29 10:52:22 -04:00

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 'gmake all; gmake 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.