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

From Sam Mason
Subject Re: is any reason why only one columns subselect are allowed in array()?
Date
Msg-id 20081118160158.GO2459@frubble.xen.chris-lamb.co.uk
Whole thread Raw
In response to Re: is any reason why only one columns subselect are allowed in array()?  (David Fetter <david@fetter.org>)
Responses Re: is any reason why only one columns subselect are allowed in array()?  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Re: is any reason why only one columns subselect are allowed in array()?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Tue, Nov 18, 2008 at 07:37:44AM -0800, David Fetter wrote:
> On Tue, Nov 18, 2008 at 10:29:53AM -0500, Robert Haas wrote:
> > Seems like you could just write SELECT ARRAY[col1, col2, col3]
> > instead of SELECT col1, col2, col3.
> 
> If I understand this right, Pavel is thinking that
> 
>     ARRAY(SELECT col1, col2, col3...)
> 
> should produce an array each element of which is the compound type
> consisting of (col1, col2, col3), and if it doesn't produce one, we're
> looking at a pretty large POLA violation.

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.

 Sam


pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: TABLE command
Next
From: Tom Lane
Date:
Subject: Re: Updates of SE-PostgreSQL 8.4devel patches (r1197)