mirror of
https://github.com/postgres/postgres.git
synced 2025-12-07 12:02:30 +03:00
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 >.
This commit is contained in:
@@ -173,13 +173,13 @@ drop operator;
|
||||
ERROR: parser: parse error at or near ";"
|
||||
-- bad operator name
|
||||
drop operator equals;
|
||||
ERROR: parser: parse error at or near "equals"
|
||||
ERROR: parser: parse error at or near ";"
|
||||
-- missing type list
|
||||
drop operator ===;
|
||||
ERROR: parser: parse error at or near ";"
|
||||
-- missing parentheses
|
||||
drop operator int4, int4;
|
||||
ERROR: parser: parse error at or near "int4"
|
||||
ERROR: parser: parse error at or near ","
|
||||
-- missing operator name
|
||||
drop operator (int4, int4);
|
||||
ERROR: parser: parse error at or near "("
|
||||
@@ -191,7 +191,7 @@ drop operator === (int4);
|
||||
ERROR: parser: argument type missing (use NONE for unary operators)
|
||||
-- no such operator by that name
|
||||
drop operator === (int4, int4);
|
||||
ERROR: RemoveOperator: binary operator '===' taking 'int4' and 'int4' does not exist
|
||||
ERROR: RemoveOperator: Operator '===' for types 'int4' and 'int4' does not exist
|
||||
-- no such type1
|
||||
drop operator = (nonesuch);
|
||||
ERROR: parser: argument type missing (use NONE for unary operators)
|
||||
|
||||
Reference in New Issue
Block a user