remove unused non-standard tokens from the parser

keep unused standard tokens, like LOCATOR or INSENSITIVE
This commit is contained in:
Sergei Golubchik 2025-02-18 12:49:31 +01:00
parent 11f6b9d12a
commit 16c4621400
5 changed files with 2 additions and 125 deletions

View File

@ -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;

View File

@ -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( )

View File

@ -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
*/

View File

@ -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)},

View File

@ -448,7 +448,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
/*
Reserved keywords
*/
%token <kwd> ACCESSIBLE_SYM
%token <kwd> ADD /* SQL-2003-R */
%token <kwd> ALL /* SQL-2003-R */
%token <kwd> ALTER /* SQL-2003-R */
@ -661,7 +660,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> SELECT_SYM /* SQL-2003-R */
%token <kwd> SENSITIVE_SYM /* FUTURE-USE */
%token <kwd> SEPARATOR_SYM
%token <kwd> SERVER_OPTIONS
%token <kwd> SET /* SQL-2003-R */
%token <kwd> SHOW
%token <kwd> SIGNAL_SYM /* SQL-2003-R */
@ -684,7 +682,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> STRAIGHT_JOIN
%token <kwd> SUM_SYM /* SQL-2003-N */
%token <kwd> SYSDATE
%token <kwd> TABLE_REF_PRIORITY
%token <kwd> TABLE_SYM /* SQL-2003-R */
%token <kwd> TERMINATED
%token <kwd> THEN_SYM /* SQL-2003-R */
@ -767,7 +764,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> AT_SYM /* SQL-2003-R */
%token <kwd> ATOMIC_SYM /* SQL-2003-R */
%token <kwd> AUTHORS_SYM
%token <kwd> AUTOEXTEND_SIZE_SYM
%token <kwd> AUTO_INC
%token <kwd> AUTO_SYM
%token <kwd> AVG_ROW_LENGTH
@ -829,7 +825,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> CURRENT_POS_SYM
%token <kwd> CURSOR_NAME_SYM /* SQL-2003-N */
%token <kwd> CYCLE_SYM
%token <kwd> DATAFILE_SYM
%token <kwd> DATA_SYM /* SQL-2003-N */
%token <kwd> DATETIME
%token <kwd> DATE_SYM /* SQL-2003-R, Oracle-R, PLSQL-R */
@ -908,7 +903,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> IMPORT
%token <kwd> INCREMENT_SYM
%token <kwd> INDEXES
%token <kwd> INITIAL_SIZE_SYM
%token <kwd> INSERT_METHOD
%token <kwd> INSTALL_SYM
%token <kwd> INVOKER_SYM
@ -931,7 +925,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> LOCAL_SYM /* SQL-2003-R */
%token <kwd> LOCKED_SYM
%token <kwd> LOCKS_SYM
%token <kwd> LOGFILE_SYM
%token <kwd> LOGS_SYM
%token <kwd> MASTER_CONNECT_RETRY_SYM
%token <kwd> MASTER_DELAY_SYM
@ -959,7 +952,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> MAX_CONNECTIONS_PER_HOUR
%token <kwd> MAX_QUERIES_PER_HOUR
%token <kwd> MAX_ROWS
%token <kwd> MAX_SIZE_SYM
%token <kwd> MAX_UPDATES_PER_HOUR
%token <kwd> MAX_STATEMENT_TIME_SYM
%token <kwd> MAX_USER_CONNECTIONS_SYM
@ -994,7 +986,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> NO_SYM /* SQL-2003-R */
%token <kwd> NOMAXVALUE_SYM
%token <kwd> NOMINVALUE_SYM
%token <kwd> NO_WAIT_SYM
%token <kwd> NOWAIT_SYM
%token <kwd> NUMBER_MARIADB_SYM /* SQL-2003-N */
%token <kwd> NUMBER_ORACLE_SYM /* Oracle-R, PLSQL-R */
@ -1043,8 +1034,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> READ_ONLY_SYM
%token <kwd> REBUILD_SYM
%token <kwd> RECOVER_SYM
%token <kwd> REDOFILE_SYM
%token <kwd> REDO_BUFFER_SIZE_SYM
%token <kwd> REDUNDANT_SYM
%token <kwd> RELAY
%token <kwd> RELAYLOG_SYM
@ -1061,7 +1050,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> RESET_SYM
%token <kwd> RESTART_SYM
%token <kwd> RESOURCES
%token <kwd> RESTORE_SYM
%token <kwd> RESUME_SYM
%token <kwd> RETURNED_SQLSTATE_SYM /* SQL-2003-N */
%token <kwd> RETURNS_SYM /* SQL-2003-R */
@ -1150,12 +1138,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
%token <kwd> TRIM_ORACLE
%token <kwd> TRUNCATE_SYM
%token <kwd> TYPE_SYM /* SQL-2003-N */
%token <kwd> UDF_RETURNS_SYM
%token <kwd> UNBOUNDED_SYM /* SQL-2011-N */
%token <kwd> UNCOMMITTED_SYM /* SQL-2003-N */
%token <kwd> UNDEFINED_SYM
%token <kwd> UNDOFILE_SYM
%token <kwd> UNDO_BUFFER_SIZE_SYM
%token <kwd> UNICODE_SYM
%token <kwd> UNINSTALL_SYM
%token <kwd> 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