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

From Pavel Stehule
Subject Re: is any reason why only one columns subselect are allowed in array()?
Date
Msg-id 162867790811180819s21392b05oc90212c6e98155b6@mail.gmail.com
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()?  (Sam Mason <sam@samason.me.uk>)
List pgsql-hackers
2008/11/18 David Fetter <david@fetter.org>:
> On Tue, Nov 18, 2008 at 10:29:53AM -0500, Robert Haas wrote:
>> On Tue, Nov 18, 2008 at 10:06 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> > Hello
>> >
>> > I am thinking about allowing 2D array from multicolumn subselect
>> > (all columns have to share same type, ofcourse). Is there some
>> > real limit, why this functionality is disallowed?
>>
>> 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.
>

yes, I though this.

there are some not necessary limits, because we should some operations:

postgres=# select array(select array[a,b] from foo);
ERROR:  could not find array type for datatype integer[]
postgres=# select array(select * from foo);
ERROR:  subquery must return only one column
LINE 1: select array(select * from foo);

postgres=# select array[[1,2]]||array[[1,3]];  ?column?
---------------{{1,2},{1,3}}
(1 row)

so I don't see reason why dis feature are blocked

regards
Pavel Stehule

> Cheers,
> David.
> --
> David Fetter <david@fetter.org> http://fetter.org/
> Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
> Skype: davidfetter      XMPP: david.fetter@gmail.com
>
> Remember to vote!
> Consider donating to Postgres: http://www.postgresql.org/about/donate
>


pgsql-hackers by date:

Previous
From: Zdenek Kotala
Date:
Subject: Re: Re: toast by chunk-end (was Re: PG_PAGE_LAYOUT_VERSION 5 - time for change)
Next
From: "Pavel Stehule"
Date:
Subject: Re: is any reason why only one columns subselect are allowed in array()?