Re: is any reason why only one columns subselect are allowed in array()? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: is any reason why only one columns subselect are allowed in array()?
Date
Msg-id 21990.1227031328@sss.pgh.pa.us
Whole thread Raw
In response to Re: is any reason why only one columns subselect are allowed in array()?  (Sam Mason <sam@samason.me.uk>)
Responses Re: is any reason why only one columns subselect are allowed in array()?
List pgsql-hackers
Sam Mason <sam@samason.me.uk> writes:
> I've used this syntax before and got a surprising message back.  I'd
> expect to be able to do the following:
>   ARRAY((SELECT col1, col2 FROM (VALUES ('a',1), ('b',2)) x(col1,col2)));
> and get the following back {"(a,1)","(b,2)"}.  So I think I'm with
> David.

I concur --- if we support something like this, the behavior should be
that you get an array of record.  Pavel's proposal for a 2-D array seems
unworkably restrictive.  And I certainly don't want to end up in a
situation where we return either a 2-D array or array of record
depending on whether the parser thinks the column data types match ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Block-level CRC checks
Next
From: "Pavel Stehule"
Date:
Subject: Re: is any reason why only one columns subselect are allowed in array()?