From: | Vladimir Svedov <vodevsh(at)gmail(dot)com> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: array_ndims never returns zero |
Date: | 2017-12-29 18:57:51 |
Message-ID: | CADqDLE8cfwtyHH2-Ho5V9T9zc9H004nDp-KTM-4HkRnPPr=rfA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Maybe if you decide not to touch the code, I should report to documentation
mail group, asking to add this special exception to docs?..
Thank you
On 29 December 2017 at 19:50, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
>
>
> 2017-12-29 17:52 GMT+01:00 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>
>> Vladimir Svedov <vodevsh(at)gmail(dot)com> writes:
>> > Reading
>> > https://stackoverflow.com/questions/48022753/why-does-array-
>> ndimsarray-produce-null#48022980
>> > confused me much - why array_ndims never returns zero indeed?..
>>
>> Yeah, it's not a very good choice that it returns null for a zero-D
>> array. But it's been like that for 20-some years, so the question
>> is whether we are prepared to take the compatibility hit from
>> changing it.
>>
>> If we were willing to break things around zero-D arrays, I don't think
>> that's the only thing to change. It's equally silly that array_dims()
>> returns NULL for such arrays, for instance; their dimensions are
>> certainly not unknown. Perhaps an empty string is the right result,
>> though I've not thought about it hard.
>>
>> I'd also argue that an out-of-range AARR_NDIM result is grounds
>> for raising an error; returning NULL is a poor substitute for
>> reporting data corruption.
>>
>> In short, if we're to touch this, I'd want somebody to go through all
>> the array functions/operators and see if anything else is weird with
>> zero-D arrays.
>>
>
> Although I see a cost of compatibility break, I agree so NULL in this case
> is confusing.
>
> The empty array can be taken as possible unlimited dimensional with zero
> sized dimensions.
>
> The test on zero is more readable.
>
> Regards
>
> Pavel
>
>>
>> regards, tom lane
>>
>>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-12-29 19:20:08 | Re: Should we nonblocking open FIFO files in COPY? |
Previous Message | Jeff Davis | 2017-12-29 18:25:35 | Rangejoin rebased |