Commit 1f0a19c2 authored by Bruce Momjian's avatar Bruce Momjian

The enclose patch clarifies and makes a more useful example for the

Global Values in PL/Perl section of the documents.

David Fetter
parent 3d20578e
<!-- <!--
$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; ...@@ -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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment