From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Merlin Moncure" <mmoncure(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: So what's an "empty" array anyway? |
Date: | 2008-10-21 18:23:21 |
Message-ID: | 28521.1224613401@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Merlin Moncure" <mmoncure(at)gmail(dot)com> 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.
> 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 ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Decibel! | 2008-10-21 18:30:53 | Re: Regression in IN( field, field, field ) performance |
Previous Message | Pavel Stehule | 2008-10-21 18:20:15 | Re: So what's an "empty" array anyway? |