Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL)
От | Tom Lane |
---|---|
Тема | Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL) |
Дата | |
Msg-id | 19746.1364330685@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL) (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re:
Should array_length() Return NULL)
Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL) |
Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes: > Well, you could easily change array_ndims() to error out if ARR_NDIM() > is negative or more than MAXDIM and return NULL only if it's exactly > 0. That wouldn't break backward compatibility because it would throw > an error only if fed a value that shouldn't ever exist in the first > place, short of a corrupted database. I imagine the other functions > are amenable to similar treatment. I haven't looked at the patch in detail, but I thought one of the key changes was that '{}' would now be interpreted as a zero-length 1-D array rather than a zero-D array. If we do that it seems a bit moot to argue about whether we should exactly preserve backwards-compatible behavior in array_ndims(), because the input it's looking at won't be the same anymore anyway. In any case, the entire point of this proposal is that the current behavior around zero-D arrays is *broken* and we don't want to be backwards-compatible with it anymore. So if you wish to argue against that opinion, do so; but it seems a bit beside the point to simply complain that backwards compatibility is being lost. regards, tom lane
В списке pgsql-hackers по дате отправления: