On Fri, 2005-23-09 at 09:48 -0700, Matthew Peter wrote: > > --- Guy Fraser <guy@xxxxxxxxxxxx> wrote: > ...snip... > > OK what I jotted down was totally wrong. > > > > This is slightly more correct : > > > > SELECT > > array_upper(item,1) - array_lower(item,1) + 1 as > > elements > > FROM > > arraytest ; > > > > Without do a tonne of research, I can not refine > > this to handle > > all circumstances. > > > > Can someone point me to documentation that explains > > the function > > better than : > > > > Dimensions can also be retrieved with array_upper > > and array_lower, which > > return the upper and lower bound of a specified > > array dimension, > > respectively. > > > > The table "Table 9-36. array Functions" does not > > explain how empty > > and null arrays are handled either. > > > > How do array_upper() and array_lower() respond to : > > 1) NULL > > 2) Empty Array > > 3) Nonexistent requested dimension > > > > Also is there a function that specifies how many > > dimensions the > > array has? > > > > That was exactly the answer I was looking for when I > posted the question. Now if there was a function to > delete a position in the array.... > > ie set array1 = array_delete_at(array1,5) where 5 is > the position to delete I hope someone else can answer that, the best I can do is provide a link to the docs : http://www.postgresql.org/docs/current/static/functions-array.html My best guess is that you need to "walk" the array and drop the element you don't want. The way I currently use arrays is I read the whole array into my application the modify the array then update the whole array. Unfortunately the arrays in PG are not associative and the elements must be sequential. I only use arrays in limited ways in PG because of earlier constraints, and have not needed to investigate the newer features. Good luck. ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly