OSDN Git Service

COALESCE() and NULLIF() are now first-class expressions, not macros
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 16 Feb 2003 02:30:39 +0000 (02:30 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 16 Feb 2003 02:30:39 +0000 (02:30 +0000)
commit51972a9d5d068dd34b24ff4923981ffb90e5cc2d
treec68fddbb3eaafbd332e84afbafe3c171f6372d4e
parentde25638d2fbe9e56ecfc60a7dda8a0c56028317a
COALESCE() and NULLIF() are now first-class expressions, not macros
that turn into CASE expressions.  They evaluate their arguments at most
once.  Patch by Kris Jurka, review and (very light) editorializing by me.
22 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/outfuncs.c
src/backend/nodes/readfuncs.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_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_target.c
src/backend/utils/adt/ruleutils.c
src/include/catalog/catversion.h
src/include/nodes/execnodes.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/nodes/primnodes.h
src/pl/plpgsql/src/pl_exec.c
src/test/regress/expected/case.out