mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
Fix example of de-escaping bytea argument, per Florian Weimer. Also fix example
of escaping bytea return value. Both cases did not handle backslash values properly.
This commit is contained in:
parent
353a1cca9f
commit
a794b99a31
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.66 2007/05/04 14:55:32 adunstan Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.67 2008/01/25 15:28:35 adunstan Exp $ -->
|
||||||
|
|
||||||
<chapter id="plperl">
|
<chapter id="plperl">
|
||||||
<title>PL/Perl - Perl Procedural Language</title>
|
<title>PL/Perl - Perl Procedural Language</title>
|
||||||
@ -150,7 +150,7 @@ $$ LANGUAGE plperl;
|
|||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
my $arg = shift;
|
my $arg = shift;
|
||||||
$arg =~ s!\\(\d{3})!chr(oct($1))!ge;
|
$arg =~ s!\\(?:\\|(\d{3}))!$1 ? chr(oct($1)) : "\\"!ge;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
@ -161,7 +161,7 @@ $$ LANGUAGE plperl;
|
|||||||
is how to escape binary data for a return value of type <type>bytea</>:
|
is how to escape binary data for a return value of type <type>bytea</>:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
$retval =~ s!([^ -~])!sprintf("\\%03o",ord($1))!ge;
|
$retval =~ s!(\\|[^ -~])!sprintf("\\%03o",ord($1))!ge;
|
||||||
return $retval;
|
return $retval;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user