On 21 December 2010 22:48, TJ O'Donnell <tjo@acm.org> wrote:
> In postgresql-9.0.1 I have to modify my plpython functions that return arrays.
> It seems one dimesional arrays are handled properly, but not
> 2-dimensional arrays.
>
> create or replace function atest() returns integer[] as $eopy$
> a = list()
> a.append(1)
> a.append(2)
> a.append(3)
> #return a works fine
> b = list()
> b.append(a)
> b.append(a)
> # error
> return b
> $eopy$ language plpythonu
>
>
> select atest() gives
> obtest=# select atest();
> ERROR: invalid input syntax for integer: "[1, 2, 3]"
> CONTEXT: while creating return value
> PL/Python function "atest"
>
> How can I return multi-dimensional arrays in plpython?
Are you sure that "a" returns okay in that scenario. You're using a
list. Shouldn't you be using an array? Like: a = []
--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935