Thread: pgsql: Allow omitting one or both boundaries in an array slice specifie

pgsql: Allow omitting one or both boundaries in an array slice specifie

From
Tom Lane
Date:
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

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6efbded6e4672c597a6f0dc0f09263e7db7369ff

Modified Files
--------------
doc/src/sgml/array.sgml              |   27 +++++++++
src/backend/executor/execQual.c      |   22 +++++++
src/backend/nodes/copyfuncs.c        |    1 +
src/backend/nodes/equalfuncs.c       |    1 +
src/backend/nodes/outfuncs.c         |    1 +
src/backend/parser/gram.y            |   11 +++-
src/backend/parser/parse_node.c      |   59 +++++++++++-------
src/backend/parser/parse_target.c    |    2 +-
src/backend/utils/adt/arrayfuncs.c   |   33 +++++++++-
src/backend/utils/adt/ruleutils.c    |    2 +
src/include/nodes/parsenodes.h       |   17 ++++--
src/include/nodes/primnodes.h        |    5 +-
src/include/utils/array.h            |    2 +
src/test/regress/expected/arrays.out |  111 ++++++++++++++++++++++++++++++++++
src/test/regress/sql/arrays.sql      |   41 +++++++++++++
15 files changed, 302 insertions(+), 33 deletions(-)