-
+
PL/Perl - Perl Procedural Language
Similarly, values passed back to
PostgreSQL
must be in the external text representation format. For example, the
encode_bytea function can be used to
- to escape binary data for a return value of type bytea>.
+ escape binary data for a return value of type bytea>.
spi_prepare accepts a query string with numbered argument placeholders ($1, $2, etc)
and a string list of argument types:
-$plan = spi_prepare('SELECT * FROM test WHERE id > $1 AND name = $2', 'INTEGER', 'TEXT');
+$plan = spi_prepare('SELECT * FROM test WHERE id > $1 AND name = $2',
+ 'INTEGER', 'TEXT');
Once a query plan is prepared by a call to spi_prepare, the plan can be used instead
of the string query, either in spi_exec_prepared, where the result is the same as returned
CREATE OR REPLACE FUNCTION init() RETURNS VOID AS $$
- $_SHARED{my_plan} = spi_prepare( 'SELECT (now() + $1)::date AS now', 'INTERVAL');
+ $_SHARED{my_plan} = spi_prepare('SELECT (now() + $1)::date AS now',
+ 'INTERVAL');
$$ LANGUAGE plperl;
CREATE OR REPLACE FUNCTION add_time( INTERVAL ) RETURNS TEXT AS $$
-CREATE TABLE hosts AS SELECT id, ('192.168.1.'||id)::inet AS address FROM generate_series(1,3) AS id;
+CREATE TABLE hosts AS SELECT id, ('192.168.1.'||id)::inet AS address
+ FROM generate_series(1,3) AS id;
CREATE OR REPLACE FUNCTION init_hosts_query() RETURNS VOID AS $$
- $_SHARED{plan} = spi_prepare('SELECT * FROM hosts WHERE address << $1', 'inet');
+ $_SHARED{plan} = spi_prepare('SELECT * FROM hosts
+ WHERE address << $1', 'inet');
$$ LANGUAGE plperl;
CREATE OR REPLACE FUNCTION query_hosts(inet) RETURNS SETOF hosts AS $$