From 9469d083e5aaded40447f527f5b2415b24fd296e Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 26 Mar 2008 14:43:20 +0000 Subject: [PATCH] Improve documentation for odd array slice behavior. --- doc/src/sgml/array.sgml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml index b1e0b293107..9b0e658d81a 100644 --- a/doc/src/sgml/array.sgml +++ b/doc/src/sgml/array.sgml @@ -1,4 +1,4 @@ - + Arrays @@ -258,6 +258,9 @@ SELECT schedule[1:2][2] FROM sal_emp WHERE name = 'Bill'; {{meeting,lunch},{training,presentation}} (1 row) + + To avoid confusion with slices, use slice syntax for all dimmension + references, e.g. [1:2][1:1], not [2][1:1]. @@ -275,7 +278,8 @@ SELECT schedule[1:2][2] FROM sal_emp WHERE name = 'Bill'; any of the subscript expressions are null. However, in other corner cases such as selecting an array slice that is completely outside the current array bounds, a slice expression - yields an empty (zero-dimensional) array instead of null. + yields an empty (zero-dimensional) array instead of null. (This + does not match non-slice behavior and is done for historical reasons.) If the requested slice partially overlaps the array bounds, then it is silently reduced to just the overlapping region.