Re: PL/Python: domain over array support

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Marko Kreen <markokr(at)gmail(dot)com>
Cc: Rodolfo Campero <rodolfo(dot)campero(at)anachronics(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PL/Python: domain over array support
Date: 2013-11-25 22:23:48
Message-ID: 5293CDF4.3010002@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 24.11.2013 18:44, Marko Kreen wrote:
> On Sat, Nov 23, 2013 at 11:09:53AM -0200, Rodolfo Campero wrote:
>> 2013/11/22 Marko Kreen <markokr(at)gmail(dot)com>
>>> One more thing - please update Python 3 regtests too.
>>>
>> The attached patch (version 3) includes the expected results for Python 3
>> (file plpython_types_3.out).
>
> Thanks. Looks good now.

Looks good to me too.

This does change the behavior of any existing functions that return a
domain over array. For example:

postgres=# create domain intarr as integer[];
CREATE DOMAIN
postgres=# create function intarr_test() returns intarr as $$
return '{1,2}'
$$ language plpythonu;
CREATE FUNCTION

Before patch:

postgres=# select intarr_test();
intarr_test
-------------
{1,2}
(1 row)

After patch:

postgres=# select intarr_test();
ERROR: invalid input syntax for integer: "{"
CONTEXT: while creating return value
PL/Python function "intarr_test"

The new behavior is clearly better, but it is an incompatibility
nonetheless. I don't do anything with PL/python myself, so I don't have
a good feel of how much that'll break people's applications. Probably
not much I guess. But warrants a mention in the release notes at least.
Any thoughts on that?

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2013-11-25 22:24:25 Re: [GENERAL] pg_upgrade ?deficiency
Previous Message Kevin Grittner 2013-11-25 22:10:02 Re: MultiXact bugs