On Tue, Oct 21, 2008 at 2:23 PM, Tom Lane <[EMAIL PROTECTED]> wrote:
> "Merlin Moncure" <[EMAIL PROTECTED]> writes:
>> ISTM this is the way it should work from SQL level:
>
>> '{}'::int[] empty 1d
>> '{{},{}}'::int[] :: empty 2d
>
> The first one looks okay, but ISTM the second one is not describing
> an "empty" array: the upper dimension is of length 2.  In particular
> I think that under your proposal array_dims() would probably yield
> these results:
>
>        [1:0]
>        [1:2][1:0]
>
> and all of these would be different:
>
> '{{}}'::int[]                   [1:1][1:0]
> '{{},{}}'::int[]                [1:2][1:0]
> '{{},{},{}}'::int[]             [1:3][1:0]
>
> Maybe this is okay but it feels a bit weird.

agreed...you're right...and if this flies, you are still restricted to
making empty arrays for 1d only, so in this case I guess that's where
the array should be locked down.

>> If you dump zero dimension arrays, then the problem about what to do
>> with array_dims goes away.
>
> I'm not against dropping zero-dimension arrays ...

yup.

merlin

-- 
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