]> granicus.if.org Git - postgresql/commit
Support expressions of the form 'scalar op ANY (array)' and
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 29 Jun 2003 00:33:44 +0000 (00:33 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 29 Jun 2003 00:33:44 +0000 (00:33 +0000)
commitbee217924d51af8cf0411167bfc8a7eb55122577
treeab6d3f311de5fd6b415e0bdf032205ed503ba95c
parentdf7618020b3845a51d1ba80cb9abfc6df5dfeaff
Support expressions of the form 'scalar op ANY (array)' and
'scalar op ALL (array)', where the operator is applied between the
lefthand scalar and each element of the array.  The operator must
yield boolean; the result of the construct is the OR or AND of the
per-element results, respectively.

Original coding by Joe Conway, after an idea of Peter's.  Rewritten
by Tom to keep the implementation strictly separate from subqueries.
28 files changed:
doc/src/sgml/func.sgml
src/backend/catalog/dependency.c
src/backend/executor/execQual.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/nodeFuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/clausesel.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/setrefs.c
src/backend/optimizer/util/clauses.c
src/backend/parser/gram.y
src/backend/parser/parse_expr.c
src/backend/parser/parse_oper.c
src/backend/utils/adt/ruleutils.c
src/backend/utils/fmgr/fmgr.c
src/include/catalog/catversion.h
src/include/nodes/execnodes.h
src/include/nodes/nodeFuncs.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/nodes/primnodes.h
src/include/optimizer/planmain.h
src/include/parser/parse_oper.h
src/pl/plpgsql/src/pl_exec.c
src/test/regress/expected/arrays.out
src/test/regress/sql/arrays.sql