Index: doc/src/sgml/array.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/array.sgml,v
retrieving revision 1.66
diff -c -r1.66 array.sgml
*** doc/src/sgml/array.sgml 28 Apr 2008 14:48:57 -0000 1.66
--- doc/src/sgml/array.sgml 15 Oct 2008 14:25:53 -0000
***************
*** 322,327 ****
--- 322,339 ----
2
(1 row)
+
+ array_length will return the length of a specified
+ array dimension:
+
+
+ SELECT array_length(schedule, 1) FROM sal_emp WHERE name = 'Carol';
+
+ array_length
+ --------------
+ 2
+ (1 row)
+
Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.450
diff -c -r1.450 func.sgml
*** doc/src/sgml/func.sgml 14 Oct 2008 17:12:32 -0000 1.450
--- doc/src/sgml/func.sgml 15 Oct 2008 14:25:57 -0000
***************
*** 9399,9404 ****
--- 9399,9415 ----
+ array_length(anyarray, int)
+
+
+ int
+ returns length of the requested array dimension
+ array_length(array[1,2,3], 1)
+ 3
+
+
+
+
array_lower(anyarray, int)
Index: src/include/catalog/pg_proc.h
===================================================================
RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v
retrieving revision 1.520
diff -c -r1.520 pg_proc.h
*** src/include/catalog/pg_proc.h 14 Oct 2008 17:12:33 -0000 1.520
--- src/include/catalog/pg_proc.h 15 Oct 2008 14:25:59 -0000
***************
*** 995,1000 ****
--- 995,1002 ----
DESCR("array lower dimension");
DATA(insert OID = 2092 ( array_upper PGNSP PGUID 12 1 0 0 f f t f i 2 23 "2277 23" _null_ _null_ _null_ array_upper _null_ _null_ _null_ ));
DESCR("array upper dimension");
+ DATA(insert OID = 2176 ( array_length PGNSP PGUID 14 1 0 0 f f t f i 2 23 "2277 23" _null_ _null_ _null_ "select array_upper( $1, $2 ) - array_lower( $1, $2 ) + 1" _null_ _null_ _null_ ));
+ DESCR("array length");
DATA(insert OID = 378 ( array_append PGNSP PGUID 12 1 0 0 f f f f i 2 2277 "2277 2283" _null_ _null_ _null_ array_push _null_ _null_ _null_ ));
DESCR("append element onto end of array");
DATA(insert OID = 379 ( array_prepend PGNSP PGUID 12 1 0 0 f f f f i 2 2277 "2283 2277" _null_ _null_ _null_ array_push _null_ _null_ _null_ ));