Allow omitting one or both boundaries in an array slice specifier.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 23 Dec 2015 02:05:16 +0000 (21:05 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 23 Dec 2015 02:05:29 +0000 (21:05 -0500)
commit6efbded6e4672c597a6f0dc0f09263e7db7369ff
tree2ee78e250058cdbc4021f24c6ae0bf4e92098c4b
parent0ba3f3bc65f1176250b942e14fd9e4975a5d3913
Allow omitting one or both boundaries in an array slice specifier.

Omitted boundaries represent the upper or lower limit of the corresponding
array subscript.  This allows simpler specification of many common
use-cases.

(Revised version of commit 9246af6799819847faa33baf441251003acbb8fe)

YUriy Zhuravlev
15 files changed:
doc/src/sgml/array.sgml
src/backend/executor/execQual.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/parser/gram.y
src/backend/parser/parse_node.c
src/backend/parser/parse_target.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/ruleutils.c
src/include/nodes/parsenodes.h
src/include/nodes/primnodes.h
src/include/utils/array.h
src/test/regress/expected/arrays.out
src/test/regress/sql/arrays.sql