From 16c462140030fc7eb1a470c36e924a15c1595a4e Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 18 Feb 2025 12:49:31 +0100 Subject: [PATCH] remove unused non-standard tokens from the parser keep unused standard tokens, like LOCATOR or INSENSITIVE --- mysql-test/suite/funcs_1/r/storedproc.result | 36 ----------------- mysql-test/suite/funcs_1/t/storedproc.test | 41 -------------------- sql/gen_lex_token.cc | 6 +-- sql/lex.h | 12 ------ sql/sql_yacc.yy | 32 +-------------- 5 files changed, 2 insertions(+), 125 deletions(-) diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result index ecd64e00f3b..077d26cd845 100644 --- a/mysql-test/suite/funcs_1/r/storedproc.result +++ b/mysql-test/suite/funcs_1/r/storedproc.result @@ -1943,10 +1943,6 @@ SELECT * from t1 where f2 = f1' at line 1 CREATE PROCEDURE function() SELECT * from t1 where f2=f1; DROP PROCEDURE function; -CREATE PROCEDURE accessible() -SELECT * from t1 where f2=f1; -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'accessible() -SELECT * from t1 where f2=f1' at line 1 CREATE PROCEDURE add() SELECT * from t1 where f2=f1; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'add() @@ -3940,13 +3936,6 @@ Testcase ....: -------------------------------------------------------------------------------- DROP PROCEDURE IF EXISTS sp1; -CREATE PROCEDURE sp1() -accessible:BEGIN -SELECT @x; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'accessible:BEGIN -SELECT @x; -END' at line 2 DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1() add:BEGIN @@ -7597,12 +7586,6 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT f2 into x from t2 limit 1; END' at line 3 DROP PROCEDURE IF EXISTS sp1; -CREATE PROCEDURE sp1() -BEGIN -declare accessible char; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'accessible char; -END' at line 3 DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1() BEGIN @@ -9389,13 +9372,6 @@ ERROR HY000: Unknown data type: 'char1' DROP PROCEDURE IF EXISTS sp1; Warnings: Note 1305 PROCEDURE db_storedproc.sp1 does not exist -CREATE PROCEDURE sp1( ) -BEGIN -declare accessible condition for sqlstate '02000'; -declare exit handler for add set @var2 = 1; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'accessible condition for sqlstate '02000'; -declare exit handler for add set @...' at line 3 DROP PROCEDURE IF EXISTS sp1; Warnings: Note 1305 PROCEDURE db_storedproc.sp1 does not exist @@ -11719,18 +11695,6 @@ insert into t values (1); set @x = 3; END// ERROR HY000: Unknown data type: 'handler' -DROP PROCEDURE IF EXISTS sp1; -Warnings: -Note 1305 PROCEDURE db_storedproc.sp1 does not exist -CREATE PROCEDURE sp1( ) -BEGIN -declare accessible handler for sqlstate '02000' set @var2 = 1; -END// -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'accessible handler for sqlstate '02000' set @var2 = 1; -END' at line 3 -DROP PROCEDURE IF EXISTS sp1; -Warnings: -Note 1305 PROCEDURE db_storedproc.sp1 does not exist CREATE PROCEDURE sp1( ) BEGIN declare add handler for sqlstate '02000' set @var2 = 1; diff --git a/mysql-test/suite/funcs_1/t/storedproc.test b/mysql-test/suite/funcs_1/t/storedproc.test index 861179ec53b..1eccc54bcf1 100644 --- a/mysql-test/suite/funcs_1/t/storedproc.test +++ b/mysql-test/suite/funcs_1/t/storedproc.test @@ -961,10 +961,6 @@ CREATE PROCEDURE function() SELECT * from t1 where f2=f1; DROP PROCEDURE function; ---error ER_PARSE_ERROR -CREATE PROCEDURE accessible() - SELECT * from t1 where f2=f1; - --error ER_PARSE_ERROR CREATE PROCEDURE add() SELECT * from t1 where f2=f1; @@ -3082,14 +3078,6 @@ let $message= Testcase ....: DROP PROCEDURE IF EXISTS sp1; --enable_warnings -delimiter //; ---error ER_PARSE_ERROR -CREATE PROCEDURE sp1() - accessible:BEGIN - SELECT @x; -END// -delimiter ;// - --disable_warnings DROP PROCEDURE IF EXISTS sp1; --enable_warnings @@ -8578,14 +8566,6 @@ delimiter ;// DROP PROCEDURE IF EXISTS sp1; --enable_warnings -delimiter //; ---error ER_PARSE_ERROR -CREATE PROCEDURE sp1() -BEGIN - declare accessible char; -END// -delimiter ;// - --disable_warnings DROP PROCEDURE IF EXISTS sp1; --enable_warnings @@ -11331,15 +11311,6 @@ END// delimiter ;// DROP PROCEDURE IF EXISTS sp1; -delimiter //; ---error ER_PARSE_ERROR -CREATE PROCEDURE sp1( ) -BEGIN - declare accessible condition for sqlstate '02000'; - declare exit handler for add set @var2 = 1; -END// -delimiter ;// - DROP PROCEDURE IF EXISTS sp1; delimiter //; @@ -13974,18 +13945,6 @@ BEGIN END// delimiter ;// -DROP PROCEDURE IF EXISTS sp1; - -delimiter //; ---error ER_PARSE_ERROR -CREATE PROCEDURE sp1( ) -BEGIN - declare accessible handler for sqlstate '02000' set @var2 = 1; -END// -delimiter ;// - -DROP PROCEDURE IF EXISTS sp1; - delimiter //; --error ER_PARSE_ERROR CREATE PROCEDURE sp1( ) diff --git a/sql/gen_lex_token.cc b/sql/gen_lex_token.cc index 40145459917..5e60e822653 100644 --- a/sql/gen_lex_token.cc +++ b/sql/gen_lex_token.cc @@ -122,7 +122,6 @@ void compute_tokens() String terminal tokens, used in sql_yacc.yy */ set_token(NEG, "~"); - set_token(TABLE_REF_PRIORITY, "TABLE_REF_PRIORITY"); /* Tokens hard coded in sql_lex.cc @@ -166,10 +165,7 @@ void compute_tokens() /* Unused tokens */ - set_token(LOCATOR_SYM, "LOCATOR"); - set_token(SERVER_OPTIONS, "SERVER_OPTIONS"); - set_token(UDF_RETURNS_SYM, "UDF_RETURNS"); - + set_token(LOCATOR_SYM, "LOCATOR"); /* SQL-2003-N */ /* See symbols[] in sql/lex.h */ diff --git a/sql/lex.h b/sql/lex.h index 884efd40a07..1549fb1a595 100644 --- a/sql/lex.h +++ b/sql/lex.h @@ -55,7 +55,6 @@ SYMBOL symbols[] = { { "<<", SYM(SHIFT_LEFT)}, { ">>", SYM(SHIFT_RIGHT)}, { "<=>", SYM(EQUAL_SYM)}, - { "ACCESSIBLE", SYM(ACCESSIBLE_SYM)}, { "ACCOUNT", SYM(ACCOUNT_SYM)}, { "ACTION", SYM(ACTION)}, { "ADD", SYM(ADD)}, @@ -79,7 +78,6 @@ SYMBOL symbols[] = { { "AUTHORS", SYM(AUTHORS_SYM)}, { "AUTO", SYM(AUTO_SYM)}, { "AUTO_INCREMENT", SYM(AUTO_INC)}, - { "AUTOEXTEND_SIZE", SYM(AUTOEXTEND_SIZE_SYM)}, { "AVG", SYM(AVG_SYM)}, { "AVG_ROW_LENGTH", SYM(AVG_ROW_LENGTH)}, { "BACKUP", SYM(BACKUP_SYM)}, @@ -168,7 +166,6 @@ SYMBOL symbols[] = { { "DATA", SYM(DATA_SYM)}, { "DATABASE", SYM(DATABASE)}, { "DATABASES", SYM(DATABASES)}, - { "DATAFILE", SYM(DATAFILE_SYM)}, { "DATE", SYM(DATE_SYM)}, { "DATETIME", SYM(DATETIME)}, { "DAY", SYM(DAY_SYM)}, @@ -300,7 +297,6 @@ SYMBOL symbols[] = { { "INDEX", SYM(INDEX_SYM)}, { "INDEXES", SYM(INDEXES)}, { "INFILE", SYM(INFILE)}, - { "INITIAL_SIZE", SYM(INITIAL_SIZE_SYM)}, { "INNER", SYM(INNER_SYM)}, { "INOUT", SYM(INOUT_SYM)}, { "INSENSITIVE", SYM(INSENSITIVE_SYM)}, @@ -355,7 +351,6 @@ SYMBOL symbols[] = { { "LOCK", SYM(LOCK_SYM)}, { "LOCKED", SYM(LOCKED_SYM)}, { "LOCKS", SYM(LOCKS_SYM)}, - { "LOGFILE", SYM(LOGFILE_SYM)}, { "LOGS", SYM(LOGS_SYM)}, { "LONG", SYM(LONG_SYM)}, { "LONGBLOB", SYM(LONGBLOB)}, @@ -391,7 +386,6 @@ SYMBOL symbols[] = { { "MAX_CONNECTIONS_PER_HOUR", SYM(MAX_CONNECTIONS_PER_HOUR)}, { "MAX_QUERIES_PER_HOUR", SYM(MAX_QUERIES_PER_HOUR)}, { "MAX_ROWS", SYM(MAX_ROWS)}, - { "MAX_SIZE", SYM(MAX_SIZE_SYM)}, { "MAX_STATEMENT_TIME", SYM(MAX_STATEMENT_TIME_SYM)}, { "MAX_UPDATES_PER_HOUR", SYM(MAX_UPDATES_PER_HOUR)}, { "MAX_USER_CONNECTIONS", SYM(MAX_USER_CONNECTIONS_SYM)}, @@ -436,7 +430,6 @@ SYMBOL symbols[] = { { "NOMINVALUE", SYM(NOMINVALUE_SYM)}, { "NOCACHE", SYM(NOCACHE_SYM)}, { "NOCYCLE", SYM(NOCYCLE_SYM)}, - { "NO_WAIT", SYM(NO_WAIT_SYM)}, { "NOWAIT", SYM(NOWAIT_SYM)}, { "NODEGROUP", SYM(NODEGROUP_SYM)}, { "NONE", SYM(NONE_SYM)}, @@ -519,8 +512,6 @@ SYMBOL symbols[] = { { "RECORD", SYM(RECORD_SYM)}, { "RECOVER", SYM(RECOVER_SYM)}, { "RECURSIVE", SYM(RECURSIVE_SYM)}, - { "REDO_BUFFER_SIZE", SYM(REDO_BUFFER_SIZE_SYM)}, - { "REDOFILE", SYM(REDOFILE_SYM)}, { "REDUNDANT", SYM(REDUNDANT_SYM)}, { "REFERENCES", SYM(REFERENCES)}, { "REGEXP", SYM(REGEXP)}, @@ -547,7 +538,6 @@ SYMBOL symbols[] = { { "RESET", SYM(RESET_SYM)}, { "RESIGNAL", SYM(RESIGNAL_SYM)}, { "RESTART", SYM(RESTART_SYM)}, - { "RESTORE", SYM(RESTORE_SYM)}, { "RESTRICT", SYM(RESTRICT)}, { "RESUME", SYM(RESUME_SYM)}, { "RETURNED_SQLSTATE",SYM(RETURNED_SQLSTATE_SYM)}, @@ -692,8 +682,6 @@ SYMBOL symbols[] = { { "UNBOUNDED", SYM(UNBOUNDED_SYM)}, { "UNCOMMITTED", SYM(UNCOMMITTED_SYM)}, { "UNDEFINED", SYM(UNDEFINED_SYM)}, - { "UNDO_BUFFER_SIZE", SYM(UNDO_BUFFER_SIZE_SYM)}, - { "UNDOFILE", SYM(UNDOFILE_SYM)}, { "UNDO", SYM(UNDO_SYM)}, { "UNICODE", SYM(UNICODE_SYM)}, { "UNION", SYM(UNION_SYM)}, diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index b615a361a3b..f514fb9eca0 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -448,7 +448,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); /* Reserved keywords */ -%token ACCESSIBLE_SYM %token ADD /* SQL-2003-R */ %token ALL /* SQL-2003-R */ %token ALTER /* SQL-2003-R */ @@ -661,7 +660,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token SELECT_SYM /* SQL-2003-R */ %token SENSITIVE_SYM /* FUTURE-USE */ %token SEPARATOR_SYM -%token SERVER_OPTIONS %token SET /* SQL-2003-R */ %token SHOW %token SIGNAL_SYM /* SQL-2003-R */ @@ -684,7 +682,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token STRAIGHT_JOIN %token SUM_SYM /* SQL-2003-N */ %token SYSDATE -%token TABLE_REF_PRIORITY %token TABLE_SYM /* SQL-2003-R */ %token TERMINATED %token THEN_SYM /* SQL-2003-R */ @@ -767,7 +764,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token AT_SYM /* SQL-2003-R */ %token ATOMIC_SYM /* SQL-2003-R */ %token AUTHORS_SYM -%token AUTOEXTEND_SIZE_SYM %token AUTO_INC %token AUTO_SYM %token AVG_ROW_LENGTH @@ -829,7 +825,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token CURRENT_POS_SYM %token CURSOR_NAME_SYM /* SQL-2003-N */ %token CYCLE_SYM -%token DATAFILE_SYM %token DATA_SYM /* SQL-2003-N */ %token DATETIME %token DATE_SYM /* SQL-2003-R, Oracle-R, PLSQL-R */ @@ -908,7 +903,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token IMPORT %token INCREMENT_SYM %token INDEXES -%token INITIAL_SIZE_SYM %token INSERT_METHOD %token INSTALL_SYM %token INVOKER_SYM @@ -931,7 +925,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token LOCAL_SYM /* SQL-2003-R */ %token LOCKED_SYM %token LOCKS_SYM -%token LOGFILE_SYM %token LOGS_SYM %token MASTER_CONNECT_RETRY_SYM %token MASTER_DELAY_SYM @@ -959,7 +952,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token MAX_CONNECTIONS_PER_HOUR %token MAX_QUERIES_PER_HOUR %token MAX_ROWS -%token MAX_SIZE_SYM %token MAX_UPDATES_PER_HOUR %token MAX_STATEMENT_TIME_SYM %token MAX_USER_CONNECTIONS_SYM @@ -994,7 +986,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token NO_SYM /* SQL-2003-R */ %token NOMAXVALUE_SYM %token NOMINVALUE_SYM -%token NO_WAIT_SYM %token NOWAIT_SYM %token NUMBER_MARIADB_SYM /* SQL-2003-N */ %token NUMBER_ORACLE_SYM /* Oracle-R, PLSQL-R */ @@ -1043,8 +1034,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token READ_ONLY_SYM %token REBUILD_SYM %token RECOVER_SYM -%token REDOFILE_SYM -%token REDO_BUFFER_SIZE_SYM %token REDUNDANT_SYM %token RELAY %token RELAYLOG_SYM @@ -1061,7 +1050,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token RESET_SYM %token RESTART_SYM %token RESOURCES -%token RESTORE_SYM %token RESUME_SYM %token RETURNED_SQLSTATE_SYM /* SQL-2003-N */ %token RETURNS_SYM /* SQL-2003-R */ @@ -1150,12 +1138,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize); %token TRIM_ORACLE %token TRUNCATE_SYM %token TYPE_SYM /* SQL-2003-N */ -%token UDF_RETURNS_SYM %token UNBOUNDED_SYM /* SQL-2011-N */ %token UNCOMMITTED_SYM /* SQL-2003-N */ %token UNDEFINED_SYM -%token UNDOFILE_SYM -%token UNDO_BUFFER_SIZE_SYM %token UNICODE_SYM %token UNINSTALL_SYM %token UNKNOWN_SYM /* SQL-2003-R */ @@ -16260,7 +16245,6 @@ keyword_sp_var_not_label: | PREPARE_SYM | REMOVE_SYM | RESET_SYM - | RESTORE_SYM | SECURITY_SYM | SERVER_SYM | SOCKET_SYM @@ -16411,7 +16395,6 @@ keyword_func_sp_var_and_label: | ATOMIC_SYM | AUTHORS_SYM | AUTO_INC - | AUTOEXTEND_SIZE_SYM | AUTO_SYM | AVG_ROW_LENGTH | BLOCK_SYM @@ -16452,7 +16435,6 @@ keyword_func_sp_var_and_label: | CYCLE_SYM | DATA_SYM | DATABASE - | DATAFILE_SYM | DEFINER_SYM | DELAY_KEY_WRITE_SYM | DES_KEY_FILE @@ -16506,7 +16488,6 @@ keyword_func_sp_var_and_label: | INVOKER_SYM | IMPORT | INDEXES - | INITIAL_SIZE_SYM | IO_SYM | IPC_SYM | ISOLATION @@ -16523,7 +16504,6 @@ keyword_func_sp_var_and_label: | LIST_SYM | LOCKED_SYM | LOCKS_SYM - | LOGFILE_SYM | LOGS_SYM | MAX_ROWS | MASTER_SYM @@ -16550,7 +16530,6 @@ keyword_func_sp_var_and_label: | MASTER_SSL_KEY_SYM | MAX_CONNECTIONS_PER_HOUR | MAX_QUERIES_PER_HOUR - | MAX_SIZE_SYM | MAX_STATEMENT_TIME_SYM | MAX_UPDATES_PER_HOUR | MAX_USER_CONNECTIONS_SYM @@ -16578,7 +16557,6 @@ keyword_func_sp_var_and_label: | NOCYCLE_SYM | NOMINVALUE_SYM | NOMAXVALUE_SYM - | NO_WAIT_SYM | NOCOPY_SYM | NOWAIT_SYM | NODEGROUP_SYM @@ -16617,8 +16595,6 @@ keyword_func_sp_var_and_label: | READ_ONLY_SYM | REBUILD_SYM | RECOVER_SYM - | REDO_BUFFER_SIZE_SYM - | REDOFILE_SYM | REDUNDANT_SYM | RELAY | RELAY_LOG_FILE_SYM @@ -16690,11 +16666,8 @@ keyword_func_sp_var_and_label: %ifdef MARIADB | TYPE_SYM %prec PREC_BELOW_CONTRACTION_TOKEN2 %endif - | UDF_RETURNS_SYM | UNCOMMITTED_SYM | UNDEFINED_SYM - | UNDO_BUFFER_SIZE_SYM - | UNDOFILE_SYM | UNKNOWN_SYM | UNTIL_SYM | USE_FRM @@ -16759,8 +16732,7 @@ keyword_sp_var_and_label: reserved_keyword_udt_not_param_type: - ACCESSIBLE_SYM - | ADD + ADD | ALL | ALTER | ANALYZE_SYM @@ -16943,7 +16915,6 @@ reserved_keyword_udt_not_param_type: | SELECT_SYM | SENSITIVE_SYM | SEPARATOR_SYM - | SERVER_OPTIONS | SHOW | SIGNAL_SYM | SPATIAL_SYM @@ -16964,7 +16935,6 @@ reserved_keyword_udt_not_param_type: | STRAIGHT_JOIN | SUBSTRING | SUM_SYM - | TABLE_REF_PRIORITY | TABLE_SYM | TERMINATED | THEN_SYM