Brendan Jurd <dire...@gmail.com> wrote:
> On 6 April 2013 01:59, Kevin Grittner <kgri...@ymail.com> wrote:
>> Brendan Jurd <dire...@gmail.com> wrote:
>>
>>> The language specifically allows for zero elements, and does not
>>> contemplate multiple dimensions.
>>
>> I don't remember anything in the spec which would prohibit the data
>> type of an array element from itself being an array, however.
>
> Indeed it does not prohibit nesting arrays inside other arrays, but
> the multidim arrays that Postgres allows you to create are not the
> same thing as nested arrays.
>
> I believe that a purely to-spec implementation would allow you to make
> an array-of-int-arrays, but since each element is its own separate
> collection there would be no requirement that they have the same
> cardinality as each other.
>
> For example, ARRAY[[1], [2,3], [4,5,6]] is a valid collection per the
> spec, but Postgres won't let you create this, because Postgres is
> trying to create a 2-D matrix of integers, rather than a collection of
> collections of integers.
>
> The inability to extend multidim arrays in Postgres is another
> manifestation of this matrix-oriented design.  Extending nested
> collections is a no-brainer.  Extending matrices while ensuring they
> remain perfectly regular ... not so much.

Your interpretation matches mine all around.  It is unfortunate
that we have hijacked the standard's syntax for arrays to add a
matrix feature.  It seems to leave us without any way forward on
these issues that I like very much.

--
Kevin Grittner
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to