Re: array_length(anyarray)
От | Andrew Dunstan |
---|---|
Тема | Re: array_length(anyarray) |
Дата | |
Msg-id | 52B2147E.9040501@dunslane.net обсуждение исходный текст |
Ответ на | Re: array_length(anyarray) (Marko Tiikkaja <marko@joh.to>) |
Ответы |
Re: array_length(anyarray)
|
Список | pgsql-hackers |
On 12/18/2013 04:19 PM, Marko Tiikkaja wrote: > On 2013-12-18 22:13, Andrew Dunstan wrote: >> On 12/18/2013 03:27 PM, Marko Tiikkaja wrote: >>> Attached is a patch to add support for array_length(anyarray), which >>> only works for one-dimensional arrays, returns 0 for empty arrays and >>> complains if the array's lower bound isn't 1. In other words, does >>> the right thing when used with the arrays people use 99% of the time. >> >> Why the heck would it complain if the lower bound isn't 1? > > Because then you're free to assume that the first element is [1] and > the last one is [array_length()]. Which is what 99% of the code using > array_length(anyarray, int) does anyway. > > > You're not really free to assume it - you'll need an exception handler for the other-than-1 case, or your code might blow up. This seems to be codifying a bad pattern, which should be using array_lower() and array_upper() instead. cheers andrew
В списке pgsql-hackers по дате отправления: