diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2009-12-10 20:43:40 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2009-12-10 20:43:40 +0000 |
commit | db7386187f78dfc45b86b6f4f382f6b12cdbc693 (patch) | |
tree | 412cea5a602ff9ad0b0faabc5f260be39000f49f /doc/src | |
parent | a37b001b8048a17f40a59cb8e26c593a6a21e500 (diff) |
PL/Python array support
Support arrays as parameters and return values of PL/Python functions.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/plpython.sgml | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml index 4944b8ad6c5..58208720398 100644 --- a/doc/src/sgml/plpython.sgml +++ b/doc/src/sgml/plpython.sgml @@ -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> @@ -135,6 +135,43 @@ $$ LANGUAGE plpythonu; </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. If an attribute in the passed row has the null value, it has the value |