plpython returns integer[] fails for multi-dimensional array

From: "TJ O'Donnell" <tjo(at)acm(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: plpython returns integer[] fails for multi-dimensional array
Date: 2010-12-21 22:48:16
Message-ID: AANLkTinhAi65eCG4zLYrmR-uYS1i_0pJ9he-6_Vo4DKx@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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?

TJ O'Donnell

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thom Brown 2010-12-21 23:17:25 Re: plpython returns integer[] fails for multi-dimensional array
Previous Message Ben Carbery 2010-12-21 22:46:36 Re: Understanding PG9.0 streaming replication feature