OSDN Git Service

Operators live in namespaces. CREATE/DROP/COMMENT ON OPERATOR take
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Apr 2002 23:08:12 +0000 (23:08 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 16 Apr 2002 23:08:12 +0000 (23:08 +0000)
commit6cef5d2549110c6c0abb92215c2593e652024493
tree7481a5b0bec7227c23f4b846cd7a1e40b47bf20e
parent4da51bfd6d89762f0a3cacde6edf1ac63c09349e
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 >.
39 files changed:
doc/src/sgml/catalogs.sgml
doc/src/sgml/ref/create_operator.sgml
src/backend/catalog/indexing.c
src/backend/catalog/namespace.c
src/backend/catalog/pg_operator.c
src/backend/commands/analyze.c
src/backend/commands/comment.c
src/backend/commands/operatorcmds.c
src/backend/executor/nodeAgg.c
src/backend/executor/nodeGroup.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/makefuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/subselect.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_node.c
src/backend/parser/parse_oper.c
src/backend/utils/adt/ri_triggers.c
src/backend/utils/adt/selfuncs.c
src/backend/utils/cache/lsyscache.c
src/backend/utils/cache/syscache.c
src/include/catalog/catversion.h
src/include/catalog/indexing.h
src/include/catalog/namespace.h
src/include/catalog/pg_operator.h
src/include/commands/defrem.h
src/include/nodes/makefuncs.h
src/include/nodes/parsenodes.h
src/include/parser/parse_func.h
src/include/parser/parse_node.h
src/include/parser/parse_oper.h
src/include/utils/syscache.h
src/test/regress/expected/errors.out