From: Peter Eisentraut Date: Thu, 11 Jun 2020 09:18:15 +0000 (+0200) Subject: Refactor DROP LANGUAGE grammar X-Git-Tag: REL_14_BETA1~2168 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3fbd4bb6f494dd70cc5075536a754261853de167;p=thirdparty%2Fpostgresql.git Refactor DROP LANGUAGE grammar Fold it into the generic DropStmt. Discussion: https://www.postgresql.org/message-id/flat/163c00a5-f634-ca52-fc7c-0e53deda8735%402ndquadrant.com --- diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 0f0f7a328b7..44daae88c39 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -272,7 +272,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); CreateAssertionStmt CreateTransformStmt CreateTrigStmt CreateEventTrigStmt CreateUserStmt CreateUserMappingStmt CreateRoleStmt CreatePolicyStmt CreatedbStmt DeclareCursorStmt DefineStmt DeleteStmt DiscardStmt DoStmt - DropOpClassStmt DropOpFamilyStmt DropPLangStmt DropStmt + DropOpClassStmt DropOpFamilyStmt DropStmt DropCastStmt DropRoleStmt DropdbStmt DropTableSpaceStmt DropTransformStmt @@ -921,7 +921,6 @@ stmt : | DropOpClassStmt | DropOpFamilyStmt | DropOwnedStmt - | DropPLangStmt | DropStmt | DropSubscriptionStmt | DropTableSpaceStmt @@ -4404,29 +4403,6 @@ opt_validator: | /*EMPTY*/ { $$ = NIL; } ; -DropPLangStmt: - DROP opt_procedural LANGUAGE name opt_drop_behavior - { - DropStmt *n = makeNode(DropStmt); - n->removeType = OBJECT_LANGUAGE; - n->objects = list_make1(makeString($4)); - n->behavior = $5; - n->missing_ok = false; - n->concurrent = false; - $$ = (Node *)n; - } - | DROP opt_procedural LANGUAGE IF_P EXISTS name opt_drop_behavior - { - DropStmt *n = makeNode(DropStmt); - n->removeType = OBJECT_LANGUAGE; - n->objects = list_make1(makeString($6)); - n->behavior = $7; - n->missing_ok = true; - n->concurrent = false; - $$ = (Node *)n; - } - ; - opt_procedural: PROCEDURAL {} | /*EMPTY*/ {} @@ -6359,6 +6335,7 @@ drop_type_name: | EVENT TRIGGER { $$ = OBJECT_EVENT_TRIGGER; } | EXTENSION { $$ = OBJECT_EXTENSION; } | FOREIGN DATA_P WRAPPER { $$ = OBJECT_FDW; } + | opt_procedural LANGUAGE { $$ = OBJECT_LANGUAGE; } | PUBLICATION { $$ = OBJECT_PUBLICATION; } | SCHEMA { $$ = OBJECT_SCHEMA; } | SERVER { $$ = OBJECT_FOREIGN_SERVER; }