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