From f98f6ee0641e87c6ecc2524f5d0a8b54924ffd14 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 12 Nov 2008 13:09:28 +0000 Subject: array_length() function, and for SQL compatibility also cardinality() function as a special case. This version still has the suspicious behavior of returning null for an empty array (rather than zero), but this may need a wholesale revision of empty array behavior, currently under discussion. Jim Nasby, Robert Haas, Peter Eisentraut --- doc/src/sgml/array.sgml | 14 +++++++++++++- doc/src/sgml/func.sgml | 26 +++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml index 4d762c53d35..08a3ee021d2 100644 --- a/doc/src/sgml/array.sgml +++ b/doc/src/sgml/array.sgml @@ -1,4 +1,4 @@ - + Arrays @@ -324,6 +324,18 @@ SELECT array_upper(schedule, 1) FROM sal_emp WHERE name = 'Carol'; ------------- 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) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 1e329904512..85403e2c9f7 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -1,4 +1,4 @@ - + Functions and Operators @@ -9408,6 +9408,17 @@ SELECT NULLIF(value, '(none)') ... array_fill(7, ARRAY[3], ARRAY[2]) [2:4]={7,7,7} + + + + array_length(anyarray, int) + + + int + returns the length of the requested array dimension + array_length(array[1,2,3], 1) + 3 + @@ -9452,6 +9463,19 @@ SELECT NULLIF(value, '(none)') ... array_upper(ARRAY[1,2,3,4], 1) 4 + + + + cardinality(anyarray) + + + int + returns the length of the first dimension of the array + (special case of array_length for SQL + compatibility) + cardinality(array[1,2,3]) + 3 + -- cgit v1.2.3