Robert Haas <robertmh...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers