mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Document array behavior for out-of-range subscripts.
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.42 2004/12/23 05:37:39 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.43 2005/02/06 20:59:30 tgl Exp $ -->
|
||||||
|
|
||||||
<sect1 id="arrays">
|
<sect1 id="arrays">
|
||||||
<title>Arrays</title>
|
<title>Arrays</title>
|
||||||
@ -149,7 +149,7 @@ INSERT INTO sal_emp
|
|||||||
A limitation of the present array implementation is that individual
|
A limitation of the present array implementation is that individual
|
||||||
elements of an array cannot be SQL null values. The entire array
|
elements of an array cannot be SQL null values. The entire array
|
||||||
can be set to null, but you can't have an array with some elements
|
can be set to null, but you can't have an array with some elements
|
||||||
null and some not.
|
null and some not. (This is likely to change in the future.)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -261,6 +261,18 @@ SELECT schedule[1:2][2] FROM sal_emp WHERE name = 'Bill';
|
|||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Fetching from outside the current bounds of an array yields a
|
||||||
|
SQL null value, not an error. For example, if <literal>schedule</>
|
||||||
|
currently has the dimensions <literal>[1:3][1:2]</> then referencing
|
||||||
|
<literal>schedule[3][3]</> yields NULL. Similarly, an array reference
|
||||||
|
with the wrong number of subscripts yields a null rather than an error.
|
||||||
|
Fetching an array slice that
|
||||||
|
is completely outside the current bounds likewise yields a null array;
|
||||||
|
but if the requested slice partially overlaps the array bounds, then it
|
||||||
|
is silently reduced to just the overlapping region.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The current dimensions of any array value can be retrieved with the
|
The current dimensions of any array value can be retrieved with the
|
||||||
<function>array_dims</function> function:
|
<function>array_dims</function> function:
|
||||||
|
Reference in New Issue
Block a user