CVSROOT: /cvsroot
Module name: pgsql
Changes by: tgl@postgresql.org 02/04/16 19:08:12
Modified files:
doc/src/sgml : catalogs.sgml
doc/src/sgml/ref: create_operator.sgml
src/backend/catalog: indexing.c namespace.c pg_operator.c
src/backend/commands: analyze.c comment.c operatorcmds.c
src/backend/executor: nodeAgg.c nodeGroup.c
src/backend/nodes: copyfuncs.c equalfuncs.c makefuncs.c
outfuncs.c
src/backend/optimizer/path: indxpath.c
src/backend/optimizer/plan: initsplan.c subselect.c
src/backend/parser: analyze.c gram.y parse_clause.c parse_expr.c
parse_node.c parse_oper.c
src/backend/utils/adt: ri_triggers.c selfuncs.c
src/backend/utils/cache: lsyscache.c syscache.c
src/include/catalog: catversion.h indexing.h namespace.h
pg_operator.h
src/include/commands: defrem.h
src/include/nodes: makefuncs.h parsenodes.h
src/include/parser: parse_func.h parse_node.h parse_oper.h
src/include/utils: syscache.h
src/test/regress/expected: errors.out
Log message:
Operators live in namespaces. CREATE/DROP/COMMENT ON OPERATOR take
qualified operator names directly, for example CREATE OPERATOR myschema.+
( ... ). To qualify an operator name in an expression you need to write
OPERATOR(myschema.+) (thanks to Peter for suggesting an escape hatch).
I also took advantage of having to reformat pg_operator to fix something
that'd been bugging me for a while: mergejoinable operators should have
explicit links to the associated cross-data-type comparison operators,
rather than hardwiring an assumption that they are named < and >.