The enclose patch clarifies and makes a more useful example for the
Global Values in PL/Perl section of the documents. David Fetter
This commit is contained in:
parent
3d20578e93
commit
1f0a19c263
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.26 2004/07/21 20:44:52 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/plperl.sgml,v 2.27 2004/08/18 03:37:56 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter id="plperl">
|
<chapter id="plperl">
|
||||||
@ -317,23 +317,25 @@ $$ LANGUAGE plperl;
|
|||||||
<sect1 id="plperl-global">
|
<sect1 id="plperl-global">
|
||||||
<title>Global Values in PL/Perl</title>
|
<title>Global Values in PL/Perl</title>
|
||||||
<para>
|
<para>
|
||||||
You can use the %_SHARED to store data between function calls. WHY
|
You can use the %_SHARED to store data between function calls.
|
||||||
IS THIS A HASH, AND NOT A HASH REF?
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
For example:
|
For example:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
CREATE OR REPLACE FUNCTION set_var(TEXT) RETURNS TEXT AS $$
|
CREATE OR REPLACE FUNCTION set_var(name TEXT, val TEXT) RETURNS TEXT AS $$
|
||||||
$_SHARED{first} = 'Hello, PL/Perl!';
|
if ($_SHARED{$_[0]} = $_[1]) {
|
||||||
return 'ok';
|
return 'ok';
|
||||||
|
} else {
|
||||||
|
return "Can't set shared variable $_[0] to $_[1]";
|
||||||
|
}
|
||||||
$$ LANGUAGE plperl;
|
$$ LANGUAGE plperl;
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION get_var() RETURNS text AS $$
|
CREATE OR REPLACE FUNCTION get_var(name TEXT) RETURNS text AS $$
|
||||||
return $_SHARED{first};
|
return $_SHARED{$_[0]};
|
||||||
$$ LANGUAGE plperl;
|
$$ LANGUAGE plperl;
|
||||||
|
|
||||||
SELECT set_var('hello plperl');
|
SELECT set_var('sample', $q$Hello, PL/Perl! How's tricks?$q$);
|
||||||
SELECT get_var();
|
SELECT get_var('sample');
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
</para>
|
</para>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user