mirror of
https://github.com/postgres/postgres.git
synced 2025-07-14 08:21:07 +03:00
Allow assignment to array elements not contiguous with those already
present; intervening positions are filled with nulls. This behavior is required by SQL99 but was not implementable before 8.2 due to lack of support for nulls in arrays. I have only made it work for the one-dimensional case, which is all that SQL99 requires. It seems quite complex to get it right in higher dimensions, and since we never allowed extension at all in higher dimensions, I think that must count as a future feature addition not a bug fix.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.51 2006/05/09 23:12:54 momjian Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.52 2006/09/29 21:22:21 tgl Exp $ -->
|
||||
|
||||
<sect1 id="arrays">
|
||||
<title>Arrays</title>
|
||||
@ -350,11 +350,12 @@ UPDATE sal_emp SET pay_by_quarter[1:2] = '{27000,27000}'
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A stored array value can be enlarged by assigning to an element adjacent to
|
||||
those already present, or by assigning to a slice that is adjacent
|
||||
to or overlaps the data already present. For example, if array
|
||||
<literal>myarray</> currently has 4 elements, it will have five
|
||||
elements after an update that assigns to <literal>myarray[5]</>.
|
||||
A stored array value can be enlarged by assigning to element(s) not already
|
||||
present. Any positions between those previously present and the newly
|
||||
assigned element(s) will be filled with nulls. For example, if array
|
||||
<literal>myarray</> currently has 4 elements, it will have six
|
||||
elements after an update that assigns to <literal>myarray[6]</>,
|
||||
and <literal>myarray[5]</> will contain a null.
|
||||
Currently, enlargement in this fashion is only allowed for one-dimensional
|
||||
arrays, not multidimensional arrays.
|
||||
</para>
|
||||
|
Reference in New Issue
Block a user