diff options
Diffstat (limited to 'src/backend/commands/operatorcmds.c')
-rw-r--r-- | src/backend/commands/operatorcmds.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/backend/commands/operatorcmds.c b/src/backend/commands/operatorcmds.c index c5c18ee4fcc..1e6c5ce2ad7 100644 --- a/src/backend/commands/operatorcmds.c +++ b/src/backend/commands/operatorcmds.c @@ -291,56 +291,6 @@ DefineOperator(List *names, List *parameters) /* - * RemoveOperator - * Deletes an operator. - */ -void -RemoveOperator(RemoveFuncStmt *stmt) -{ - List *operatorName = stmt->name; - TypeName *typeName1 = (TypeName *) linitial(stmt->args); - TypeName *typeName2 = (TypeName *) lsecond(stmt->args); - Oid operOid; - HeapTuple tup; - ObjectAddress object; - - Assert(list_length(stmt->args) == 2); - operOid = LookupOperNameTypeNames(NULL, operatorName, - typeName1, typeName2, - stmt->missing_ok, -1); - - if (stmt->missing_ok && !OidIsValid(operOid)) - { - ereport(NOTICE, - (errmsg("operator %s does not exist, skipping", - NameListToString(operatorName)))); - return; - } - - tup = SearchSysCache1(OPEROID, ObjectIdGetDatum(operOid)); - if (!HeapTupleIsValid(tup)) /* should not happen */ - elog(ERROR, "cache lookup failed for operator %u", operOid); - - /* Permission check: must own operator or its namespace */ - if (!pg_oper_ownercheck(operOid, GetUserId()) && - !pg_namespace_ownercheck(((Form_pg_operator) GETSTRUCT(tup))->oprnamespace, - GetUserId())) - aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_OPER, - NameListToString(operatorName)); - - ReleaseSysCache(tup); - - /* - * Do the deletion - */ - object.classId = OperatorRelationId; - object.objectId = operOid; - object.objectSubId = 0; - - performDeletion(&object, stmt->behavior); -} - -/* * Guts of operator deletion. */ void |