mirror of
https://github.com/postgres/postgres.git
synced 2025-07-07 00:36:50 +03:00
PL/Python array support
Support arrays as parameters and return values of PL/Python functions.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/plpython.sgml,v 1.40 2009/03/30 16:15:43 alvherre Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/plpython.sgml,v 1.41 2009/12/10 20:43:40 petere Exp $ -->
|
||||
|
||||
<chapter id="plpython">
|
||||
<title>PL/Python - Python Procedural Language</title>
|
||||
@ -134,6 +134,43 @@ $$ LANGUAGE plpythonu;
|
||||
function is strict or not.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
SQL array values are passed into PL/Python as a Python list. To
|
||||
return an SQL array value out of a PL/Python function, return a
|
||||
Python sequence, for example a list or tuple:
|
||||
|
||||
<programlisting>
|
||||
CREATE FUNCTION return_arr()
|
||||
RETURNS int[]
|
||||
AS $$
|
||||
return (1, 2, 3, 4, 5)
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
||||
SELECT return_arr();
|
||||
return_arr
|
||||
-------------
|
||||
{1,2,3,4,5}
|
||||
(1 row)
|
||||
</programlisting>
|
||||
|
||||
Note that in Python, strings are sequences, which can have
|
||||
undesirable effects that might be familiar to Python programmers:
|
||||
|
||||
<programlisting>
|
||||
CREATE FUNCTION return_str_arr()
|
||||
RETURNS varchar[]
|
||||
AS $$
|
||||
return "hello"
|
||||
$$ LANGUAGE plpythonu;
|
||||
|
||||
SELECT return_str_arr();
|
||||
return_str_arr
|
||||
----------------
|
||||
{h,e,l,l,o}
|
||||
(1 row)
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Composite-type arguments are passed to the function as Python mappings. The
|
||||
element names of the mapping are the attribute names of the composite type.
|
||||
|
Reference in New Issue
Block a user