Promote row expressions to full-fledged citizens of the expression syntax,
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 May 2004 22:44:49 +0000 (22:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 May 2004 22:44:49 +0000 (22:44 +0000)
commit2f63232d30ca64a8f2684af855230f23a701d371
treeb7a7707d1ec9edf368780cd3f4a23755527c5884
parent9a939886ac782cfee3cd5fdd1c58689163ed84be
Promote row expressions to full-fledged citizens of the expression syntax,
rather than allowing them only in a few special cases as before.  In
particular you can now pass a ROW() construct to a function that accepts
a rowtype parameter.  Internal generation of RowExprs fixes a number of
corner cases that used to not work very well, such as referencing the
whole-row result of a JOIN or subquery.  This represents a further step in
the work I started a month or so back to make rowtype values into
first-class citizens.
34 files changed:
doc/src/sgml/func.sgml
doc/src/sgml/syntax.sgml
doc/src/sgml/xfunc.sgml
src/backend/executor/execQual.c
src/backend/executor/execTuples.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/makefuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/clausesel.c
src/backend/optimizer/prep/prepjointree.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/var.c
src/backend/parser/gram.y
src/backend/parser/parse_coerce.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_target.c
src/backend/rewrite/rewriteHandler.c
src/backend/rewrite/rewriteManip.c
src/backend/utils/adt/ruleutils.c
src/include/catalog/catversion.h
src/include/executor/executor.h
src/include/nodes/execnodes.h
src/include/nodes/makefuncs.h
src/include/nodes/nodes.h
src/include/nodes/primnodes.h
src/include/optimizer/var.h
src/include/rewrite/rewriteManip.h
src/pl/plpgsql/src/pl_exec.c
src/test/regress/input/misc.source
src/test/regress/output/constraints.source
src/test/regress/output/misc.source