CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@svr1.postgresql.org 04/05/10 19:44:50
Modified files:
doc/src/sgml : func.sgml syntax.sgml xfunc.sgml
src/backend/executor: execQual.c execTuples.c
src/backend/nodes: copyfuncs.c equalfuncs.c makefuncs.c
outfuncs.c readfuncs.c
src/backend/optimizer/path: allpaths.c clausesel.c
src/backend/optimizer/prep: prepjointree.c
src/backend/optimizer/util: clauses.c var.c
src/backend/parser: gram.y parse_coerce.c parse_expr.c
parse_target.c
src/backend/rewrite: rewriteHandler.c rewriteManip.c
src/backend/utils/adt: ruleutils.c
src/include/catalog: catversion.h
src/include/executor: executor.h
src/include/nodes: execnodes.h makefuncs.h nodes.h 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 misc.source
Log message:
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.