| 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: | Whole Thread | Raw Message | 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
| 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 |