From 3fbd4bb6f494dd70cc5075536a754261853de167 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 11 Jun 2020 11:18:15 +0200 Subject: [PATCH] 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 --- src/backend/parser/gram.y | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) 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; } -- 2.39.5