Operators live in namespaces. CREATE/DROP/COMMENT ON OPERATOR take

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 6cef5d2549110c6c0abb92215c2593e652024493
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2002-04-16T23:08:12Z
Releases: 7.3.1
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 >.

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +43 −12
doc/src/sgml/ref/create_operator.sgml modified +68 −29
src/backend/catalog/indexing.c modified +2 −2
src/backend/catalog/namespace.c modified +175 −1
src/backend/catalog/pg_operator.c modified +338 −399
src/backend/commands/analyze.c modified +3 −3
src/backend/commands/comment.c modified +12 −45
src/backend/commands/operatorcmds.c modified +70 −72
src/backend/executor/nodeAgg.c modified +3 −2
src/backend/executor/nodeGroup.c modified +3 −2
src/backend/nodes/copyfuncs.c modified +4 −6
src/backend/nodes/equalfuncs.c modified +4 −4
src/backend/nodes/makefuncs.c modified +34 −1
src/backend/nodes/outfuncs.c modified +2 −2
src/backend/optimizer/path/indxpath.c modified +7 −4
src/backend/optimizer/plan/initsplan.c modified +3 −2
src/backend/optimizer/plan/subselect.c modified +5 −5
src/backend/parser/analyze.c modified +7 −5
src/backend/parser/gram.y modified +140 −119
src/backend/parser/parse_clause.c modified +9 −16
src/backend/parser/parse_expr.c modified +13 −15
src/backend/parser/parse_node.c modified +7 −10
src/backend/parser/parse_oper.c modified +254 −280
src/backend/utils/adt/ri_triggers.c modified +8 −14
src/backend/utils/adt/selfuncs.c modified +5 −3
src/backend/utils/cache/lsyscache.c modified +10 −37
src/backend/utils/cache/syscache.c modified +4 −4
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/indexing.h modified +3 −3
src/include/catalog/namespace.h modified +3 −1
src/include/catalog/pg_operator.h modified +716 −707
src/include/commands/defrem.h modified +2 −2
src/include/nodes/makefuncs.h modified +6 −1
src/include/nodes/parsenodes.h modified +4 −4
src/include/parser/parse_func.h modified +1 −11
src/include/parser/parse_node.h modified +3 −4
src/include/parser/parse_oper.h modified +13 −7
src/include/utils/syscache.h modified +2 −2
src/test/regress/expected/errors.out modified +3 −3