Split CollateClause into separate raw and analyzed node types.
authorTom Lane <[email protected]>
Fri, 11 Mar 2011 21:27:51 +0000 (16:27 -0500)
committerTom Lane <[email protected]>
Fri, 11 Mar 2011 21:28:18 +0000 (16:28 -0500)
commit8acdb8bf9cebc42cee5aa96a2d594756b44173c9
tree3db28ae99dfb962e4ac5f2f338a15d2b5c7a476e
parent7a8f43968add3c69b79c49ef236d945e643dcb1e
Split CollateClause into separate raw and analyzed node types.

CollateClause is now used only in raw grammar output, and CollateExpr after
parse analysis.  This is for clarity and to avoid carrying collation names
in post-analysis parse trees: that's both wasteful and possibly misleading,
since the collation's name could be changed while the parsetree still
exists.

Also, clean up assorted infelicities and omissions in processing of the
node type.
22 files changed:
src/backend/catalog/dependency.c
src/backend/commands/typecmds.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/util/clauses.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/parser/parse_type.c
src/backend/parser/parse_utilcmd.c
src/backend/utils/adt/ruleutils.c
src/include/catalog/catversion.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/collate.linux.utf8.out