From bdd2440c66292eb2464a49fdc57ff5fa86838f0a Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 10 Apr 2020 11:22:19 +0200 Subject: [PATCH v1 1/6] Remove redundant grammar symbols access_method, database_name, and index_name are all just name, and they are not used consistently for their alleged purpose, so remove them. They have been around since ancient times but have no current reason for existing. Removing them can simplify future grammar refactoring. --- src/backend/parser/gram.y | 86 +++++++++++------------- src/interfaces/ecpg/preproc/ecpg.trailer | 4 +- 2 files changed, 41 insertions(+), 49 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 3c78f2d1b5..378390af5d 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -352,9 +352,9 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); %type enable_trigger %type copy_file_name - database_name access_method_clause access_method attr_name + access_method_clause attr_name table_access_method_clause name cursor_name file_name - index_name opt_index_name cluster_index_specification + opt_index_name cluster_index_specification %type func_name handler_name qual_Op qual_all_Op subquery_Op opt_class opt_inline_handler opt_validator validator_clause @@ -1184,7 +1184,7 @@ AlterRoleStmt: opt_in_database: /* EMPTY */ { $$ = NULL; } - | IN_P DATABASE database_name { $$ = $3; } + | IN_P DATABASE name { $$ = $3; } ; AlterRoleSetStmt: @@ -3950,7 +3950,7 @@ part_elem: ColId opt_collate opt_class ; table_access_method_clause: - USING access_method { $$ = $2; } + USING name { $$ = $2; } | /*EMPTY*/ { $$ = NULL; } ; @@ -3975,7 +3975,7 @@ OptConsTableSpace: USING INDEX TABLESPACE name { $$ = $4; } | /*EMPTY*/ { $$ = NULL; } ; -ExistingIndex: USING INDEX index_name { $$ = $3; } +ExistingIndex: USING INDEX name { $$ = $3; } ; /***************************************************************************** @@ -4640,7 +4640,7 @@ AlterExtensionContentsStmt: n->object = (Node *) $6; $$ = (Node *)n; } - | ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING access_method + | ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); n->extname = $3; @@ -4649,7 +4649,7 @@ AlterExtensionContentsStmt: n->object = (Node *) lcons(makeString($9), $7); $$ = (Node *)n; } - | ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING access_method + | ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); n->extname = $3; @@ -5992,7 +5992,7 @@ opt_if_not_exists: IF_P NOT EXISTS { $$ = true; } CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename - USING access_method opt_opfamily AS opclass_item_list + USING name opt_opfamily AS opclass_item_list { CreateOpClassStmt *n = makeNode(CreateOpClassStmt); n->opclassname = $4; @@ -6091,7 +6091,7 @@ opt_recheck: RECHECK CreateOpFamilyStmt: - CREATE OPERATOR FAMILY any_name USING access_method + CREATE OPERATOR FAMILY any_name USING name { CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt); n->opfamilyname = $4; @@ -6101,7 +6101,7 @@ CreateOpFamilyStmt: ; AlterOpFamilyStmt: - ALTER OPERATOR FAMILY any_name USING access_method ADD_P opclass_item_list + ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); n->opfamilyname = $4; @@ -6110,7 +6110,7 @@ AlterOpFamilyStmt: n->items = $8; $$ = (Node *) n; } - | ALTER OPERATOR FAMILY any_name USING access_method DROP opclass_drop_list + | ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); n->opfamilyname = $4; @@ -6147,7 +6147,7 @@ opclass_drop: DropOpClassStmt: - DROP OPERATOR CLASS any_name USING access_method opt_drop_behavior + DROP OPERATOR CLASS any_name USING name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->objects = list_make1(lcons(makeString($6), $4)); @@ -6157,7 +6157,7 @@ DropOpClassStmt: n->concurrent = false; $$ = (Node *) n; } - | DROP OPERATOR CLASS IF_P EXISTS any_name USING access_method opt_drop_behavior + | DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->objects = list_make1(lcons(makeString($8), $6)); @@ -6170,7 +6170,7 @@ DropOpClassStmt: ; DropOpFamilyStmt: - DROP OPERATOR FAMILY any_name USING access_method opt_drop_behavior + DROP OPERATOR FAMILY any_name USING name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->objects = list_make1(lcons(makeString($6), $4)); @@ -6180,7 +6180,7 @@ DropOpFamilyStmt: n->concurrent = false; $$ = (Node *) n; } - | DROP OPERATOR FAMILY IF_P EXISTS any_name USING access_method opt_drop_behavior + | DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->objects = list_make1(lcons(makeString($8), $6)); @@ -6587,7 +6587,7 @@ CommentStmt: n->comment = $8; $$ = (Node *) n; } - | COMMENT ON OPERATOR CLASS any_name USING access_method IS comment_text + | COMMENT ON OPERATOR CLASS any_name USING name IS comment_text { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_OPCLASS; @@ -6595,7 +6595,7 @@ CommentStmt: n->comment = $9; $$ = (Node *) n; } - | COMMENT ON OPERATOR FAMILY any_name USING access_method IS comment_text + | COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text { CommentStmt *n = makeNode(CommentStmt); n->objtype = OBJECT_OPFAMILY; @@ -7437,7 +7437,7 @@ IndexStmt: CREATE opt_unique INDEX opt_concurrently opt_index_name n->reset_default_tblspc = false; $$ = (Node *)n; } - | CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS index_name + | CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_reloptions OptTableSpace where_clause { @@ -7480,12 +7480,12 @@ opt_concurrently: ; opt_index_name: - index_name { $$ = $1; } + name { $$ = $1; } | /*EMPTY*/ { $$ = NULL; } ; access_method_clause: - USING access_method { $$ = $2; } + USING name { $$ = $2; } | /*EMPTY*/ { $$ = DEFAULT_INDEX_TYPE; } ; @@ -8532,7 +8532,7 @@ RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name n->missing_ok = false; $$ = (Node *)n; } - | ALTER DATABASE database_name RENAME TO database_name + | ALTER DATABASE name RENAME TO name { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_DATABASE; @@ -8595,7 +8595,7 @@ RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name n->missing_ok = false; $$ = (Node *)n; } - | ALTER OPERATOR CLASS any_name USING access_method RENAME TO name + | ALTER OPERATOR CLASS any_name USING name RENAME TO name { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_OPCLASS; @@ -8604,7 +8604,7 @@ RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name n->missing_ok = false; $$ = (Node *)n; } - | ALTER OPERATOR FAMILY any_name USING access_method RENAME TO name + | ALTER OPERATOR FAMILY any_name USING name RENAME TO name { RenameStmt *n = makeNode(RenameStmt); n->renameType = OBJECT_OPFAMILY; @@ -9184,7 +9184,7 @@ AlterObjectSchemaStmt: n->missing_ok = false; $$ = (Node *)n; } - | ALTER OPERATOR CLASS any_name USING access_method SET SCHEMA name + | ALTER OPERATOR CLASS any_name USING name SET SCHEMA name { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_OPCLASS; @@ -9193,7 +9193,7 @@ AlterObjectSchemaStmt: n->missing_ok = false; $$ = (Node *)n; } - | ALTER OPERATOR FAMILY any_name USING access_method SET SCHEMA name + | ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); n->objectType = OBJECT_OPFAMILY; @@ -9449,7 +9449,7 @@ AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec n->newowner = $6; $$ = (Node *)n; } - | ALTER DATABASE database_name OWNER TO RoleSpec + | ALTER DATABASE name OWNER TO RoleSpec { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_DATABASE; @@ -9497,7 +9497,7 @@ AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec n->newowner = $6; $$ = (Node *)n; } - | ALTER OPERATOR CLASS any_name USING access_method OWNER TO RoleSpec + | ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_OPCLASS; @@ -9505,7 +9505,7 @@ AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec n->newowner = $9; $$ = (Node *)n; } - | ALTER OPERATOR FAMILY any_name USING access_method OWNER TO RoleSpec + | ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); n->objectType = OBJECT_OPFAMILY; @@ -10209,7 +10209,7 @@ LoadStmt: LOAD file_name *****************************************************************************/ CreatedbStmt: - CREATE DATABASE database_name opt_with createdb_opt_list + CREATE DATABASE name opt_with createdb_opt_list { CreatedbStmt *n = makeNode(CreatedbStmt); n->dbname = $3; @@ -10280,21 +10280,21 @@ opt_equal: '=' {} *****************************************************************************/ AlterDatabaseStmt: - ALTER DATABASE database_name WITH createdb_opt_list + ALTER DATABASE name WITH createdb_opt_list { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); n->dbname = $3; n->options = $5; $$ = (Node *)n; } - | ALTER DATABASE database_name createdb_opt_list + | ALTER DATABASE name createdb_opt_list { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); n->dbname = $3; n->options = $4; $$ = (Node *)n; } - | ALTER DATABASE database_name SET TABLESPACE name + | ALTER DATABASE name SET TABLESPACE name { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); n->dbname = $3; @@ -10305,7 +10305,7 @@ AlterDatabaseStmt: ; AlterDatabaseSetStmt: - ALTER DATABASE database_name SetResetClause + ALTER DATABASE name SetResetClause { AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt); n->dbname = $3; @@ -10322,7 +10322,7 @@ AlterDatabaseSetStmt: * This is implicitly CASCADE, no need for drop behavior *****************************************************************************/ -DropdbStmt: DROP DATABASE database_name +DropdbStmt: DROP DATABASE name { DropdbStmt *n = makeNode(DropdbStmt); n->dbname = $3; @@ -10330,7 +10330,7 @@ DropdbStmt: DROP DATABASE database_name n->options = NULL; $$ = (Node *)n; } - | DROP DATABASE IF_P EXISTS database_name + | DROP DATABASE IF_P EXISTS name { DropdbStmt *n = makeNode(DropdbStmt); n->dbname = $5; @@ -10338,7 +10338,7 @@ DropdbStmt: DROP DATABASE database_name n->options = NULL; $$ = (Node *)n; } - | DROP DATABASE database_name opt_with '(' drop_option_list ')' + | DROP DATABASE name opt_with '(' drop_option_list ')' { DropdbStmt *n = makeNode(DropdbStmt); n->dbname = $3; @@ -10346,7 +10346,7 @@ DropdbStmt: DROP DATABASE database_name n->options = $6; $$ = (Node *)n; } - | DROP DATABASE IF_P EXISTS database_name opt_with '(' drop_option_list ')' + | DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')' { DropdbStmt *n = makeNode(DropdbStmt); n->dbname = $5; @@ -10648,7 +10648,7 @@ ClusterStmt: $$ = (Node*)n; } /* kept for pre-8.3 compatibility */ - | CLUSTER opt_verbose index_name ON qualified_name + | CLUSTER opt_verbose name ON qualified_name { ClusterStmt *n = makeNode(ClusterStmt); n->relation = $5; @@ -10661,7 +10661,7 @@ ClusterStmt: ; cluster_index_specification: - USING index_name { $$ = $2; } + USING name { $$ = $2; } | /*EMPTY*/ { $$ = NULL; } ; @@ -14992,16 +14992,8 @@ name_list: name name: ColId { $$ = $1; }; -database_name: - ColId { $$ = $1; }; - -access_method: - ColId { $$ = $1; }; - attr_name: ColLabel { $$ = $1; }; -index_name: ColId { $$ = $1; }; - file_name: Sconst { $$ = $1; }; /* diff --git a/src/interfaces/ecpg/preproc/ecpg.trailer b/src/interfaces/ecpg/preproc/ecpg.trailer index 0dbdfdc122..6ccc8ab916 100644 --- a/src/interfaces/ecpg/preproc/ecpg.trailer +++ b/src/interfaces/ecpg/preproc/ecpg.trailer @@ -114,7 +114,7 @@ connection_target: opt_database_name opt_server opt_port } ; -opt_database_name: database_name { $$ = $1; } +opt_database_name: name { $$ = $1; } | /*EMPTY*/ { $$ = EMPTY; } ; @@ -962,7 +962,7 @@ dis_name: connection_object { $$ = $1; } | /* EMPTY */ { $$ = mm_strdup("\"CURRENT\""); } ; -connection_object: database_name { $$ = make3_str(mm_strdup("\""), $1, mm_strdup("\"")); } +connection_object: name { $$ = make3_str(mm_strdup("\""), $1, mm_strdup("\"")); } | DEFAULT { $$ = mm_strdup("\"DEFAULT\""); } | char_variable { $$ = $1; } ; base-commit: 7966b7980138ebcee7ae986ebcc393aea38a35c0 -- 2.26.2