PL/Perl Returned Array

From: "David E(dot) Wheeler" <david(at)kineticode(dot)com>
To: PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: PL/Perl Returned Array
Date: 2011-08-13 00:00:05
Message-ID: 6242D79C-0D5F-44B8-AD1A-0E1D556E733D@kineticode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hackers,

Given this script on 9.1beta3:

BEGIN;

CREATE EXTENSION plperl;

CREATE OR REPLACE FUNCTION wtf(
) RETURNS TEXT[] LANGUAGE plperl AS $$ return []; $$;

SELECT wtf() = '{}'::TEXT[];

ROLLBACK;

The output is:

BEGIN
CREATE EXTENSION
CREATE FUNCTION
?column?
----------
f
(1 row)

ROLLBACK

Why is that? If I save the values to TEXT[] columns, they are still not the same. But if I pg_dump them and then load them up again, they *are* the same. The dump looks like this:

CREATE TABLE gtf (
have text[],
want text[]
);

COPY gtf (have, want) FROM stdin;
{} {}
\.

Is PL/Perl doing something funky under the hood to array values it returns on 9.1?

Thanks,

David

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alex Hunsaker 2011-08-13 01:17:25 Re: PL/Perl Returned Array
Previous Message daveg 2011-08-12 23:19:37 OperationalError: FATAL: lock AccessShareLock on object 0/1260/0 is already