Re: plpython returns integer[] fails for multi-dimensional array

From: Thom Brown <thom(at)linux(dot)com>
To: "TJ O'Donnell" <tjo(at)acm(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: plpython returns integer[] fails for multi-dimensional array
Date: 2010-12-21 23:17:25
Message-ID: AANLkTimgj2sVEuktPBixGgOggp=3Gk5iaQjkQwthQtYZ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 21 December 2010 22:48, TJ O'Donnell <tjo(at)acm(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Geoghegan 2010-12-21 23:25:48 Re: plpython returns integer[] fails for multi-dimensional array
Previous Message TJ O'Donnell 2010-12-21 22:48:16 plpython returns integer[] fails for multi-dimensional array