diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-12-09 10:47:25 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-12-09 12:32:04 +0200 |
commit | 292015d486aa157422b43d99fabb5f81e6a382f0 (patch) | |
tree | 898a2e0e52cbf037e7cb1d66e15d815c5d6e74b8 /storage/innobase/include | |
parent | 59e14b96847e458909ca7fcf95b144fd6ccdb708 (diff) | |
download | mariadb-git-292015d486aa157422b43d99fabb5f81e6a382f0.tar.gz |
MDEV-21254 Remove unused keywords from the InnoDB SQL parser
The InnoDB internal SQL parser, which is used for updating the InnoDB
data dictionary tables (to be removed in MDEV-11655), persistent
statistics (to be refactored in MDEV-15020) and fulltext indexes,
implements some unused keywords and built-in functions:
OUT BINARY BLOB INTEGER FLOAT SUM DISTINCT READ
COMPACT BLOCK_SIZE
TO_CHAR TO_NUMBER BINARY_TO_NUMBER REPLSTR SYSDATE PRINTF ASSERT
RND RND_STR ROW_PRINTF UNSIGNED
Also, procedures are never declared with parameters. Only one top-level
procedure is declared and invoked at a time, and parameters are being
passed via pars_info_t.
Diffstat (limited to 'storage/innobase/include')
-rw-r--r-- | storage/innobase/include/pars0grm.h | 158 | ||||
-rw-r--r-- | storage/innobase/include/pars0pars.h | 35 |
2 files changed, 73 insertions, 120 deletions
diff --git a/storage/innobase/include/pars0grm.h b/storage/innobase/include/pars0grm.h index 90a7468bc9a..58d424abfdc 100644 --- a/storage/innobase/include/pars0grm.h +++ b/storage/innobase/include/pars0grm.h @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.4. */ +/* A Bison parser, made by GNU Bison 3.4.2. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +31,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + #ifndef YY_YY_PARS0GRM_TAB_H_INCLUDED # define YY_YY_PARS0GRM_TAB_H_INCLUDED /* Debug traces. */ @@ -58,91 +62,71 @@ extern int yydebug; PARS_NE_TOKEN = 268, PARS_PROCEDURE_TOKEN = 269, PARS_IN_TOKEN = 270, - PARS_OUT_TOKEN = 271, - PARS_BINARY_TOKEN = 272, - PARS_BLOB_TOKEN = 273, - PARS_INT_TOKEN = 274, - PARS_FLOAT_TOKEN = 275, - PARS_CHAR_TOKEN = 276, - PARS_IS_TOKEN = 277, - PARS_BEGIN_TOKEN = 278, - PARS_END_TOKEN = 279, - PARS_IF_TOKEN = 280, - PARS_THEN_TOKEN = 281, - PARS_ELSE_TOKEN = 282, - PARS_ELSIF_TOKEN = 283, - PARS_LOOP_TOKEN = 284, - PARS_WHILE_TOKEN = 285, - PARS_RETURN_TOKEN = 286, - PARS_SELECT_TOKEN = 287, - PARS_SUM_TOKEN = 288, - PARS_COUNT_TOKEN = 289, - PARS_DISTINCT_TOKEN = 290, - PARS_FROM_TOKEN = 291, - PARS_WHERE_TOKEN = 292, - PARS_FOR_TOKEN = 293, - PARS_DDOT_TOKEN = 294, - PARS_READ_TOKEN = 295, - PARS_ORDER_TOKEN = 296, - PARS_BY_TOKEN = 297, - PARS_ASC_TOKEN = 298, - PARS_DESC_TOKEN = 299, - PARS_INSERT_TOKEN = 300, - PARS_INTO_TOKEN = 301, - PARS_VALUES_TOKEN = 302, - PARS_UPDATE_TOKEN = 303, - PARS_SET_TOKEN = 304, - PARS_DELETE_TOKEN = 305, - PARS_CURRENT_TOKEN = 306, - PARS_OF_TOKEN = 307, - PARS_CREATE_TOKEN = 308, - PARS_TABLE_TOKEN = 309, - PARS_INDEX_TOKEN = 310, - PARS_UNIQUE_TOKEN = 311, - PARS_CLUSTERED_TOKEN = 312, - PARS_ON_TOKEN = 313, - PARS_ASSIGN_TOKEN = 314, - PARS_DECLARE_TOKEN = 315, - PARS_CURSOR_TOKEN = 316, - PARS_SQL_TOKEN = 317, - PARS_OPEN_TOKEN = 318, - PARS_FETCH_TOKEN = 319, - PARS_CLOSE_TOKEN = 320, - PARS_NOTFOUND_TOKEN = 321, - PARS_TO_CHAR_TOKEN = 322, - PARS_TO_NUMBER_TOKEN = 323, - PARS_TO_BINARY_TOKEN = 324, - PARS_BINARY_TO_NUMBER_TOKEN = 325, - PARS_SUBSTR_TOKEN = 326, - PARS_REPLSTR_TOKEN = 327, - PARS_CONCAT_TOKEN = 328, - PARS_INSTR_TOKEN = 329, - PARS_LENGTH_TOKEN = 330, - PARS_SYSDATE_TOKEN = 331, - PARS_PRINTF_TOKEN = 332, - PARS_ASSERT_TOKEN = 333, - PARS_RND_TOKEN = 334, - PARS_RND_STR_TOKEN = 335, - PARS_ROW_PRINTF_TOKEN = 336, - PARS_COMMIT_TOKEN = 337, - PARS_ROLLBACK_TOKEN = 338, - PARS_WORK_TOKEN = 339, - PARS_UNSIGNED_TOKEN = 340, - PARS_EXIT_TOKEN = 341, - PARS_FUNCTION_TOKEN = 342, - PARS_LOCK_TOKEN = 343, - PARS_SHARE_TOKEN = 344, - PARS_MODE_TOKEN = 345, - PARS_LIKE_TOKEN = 346, - PARS_LIKE_TOKEN_EXACT = 347, - PARS_LIKE_TOKEN_PREFIX = 348, - PARS_LIKE_TOKEN_SUFFIX = 349, - PARS_LIKE_TOKEN_SUBSTR = 350, - PARS_TABLE_NAME_TOKEN = 351, - PARS_COMPACT_TOKEN = 352, - PARS_BLOCK_SIZE_TOKEN = 353, - PARS_BIGINT_TOKEN = 354, - NEG = 355 + PARS_INT_TOKEN = 271, + PARS_CHAR_TOKEN = 272, + PARS_IS_TOKEN = 273, + PARS_BEGIN_TOKEN = 274, + PARS_END_TOKEN = 275, + PARS_IF_TOKEN = 276, + PARS_THEN_TOKEN = 277, + PARS_ELSE_TOKEN = 278, + PARS_ELSIF_TOKEN = 279, + PARS_LOOP_TOKEN = 280, + PARS_WHILE_TOKEN = 281, + PARS_RETURN_TOKEN = 282, + PARS_SELECT_TOKEN = 283, + PARS_COUNT_TOKEN = 284, + PARS_FROM_TOKEN = 285, + PARS_WHERE_TOKEN = 286, + PARS_FOR_TOKEN = 287, + PARS_DDOT_TOKEN = 288, + PARS_ORDER_TOKEN = 289, + PARS_BY_TOKEN = 290, + PARS_ASC_TOKEN = 291, + PARS_DESC_TOKEN = 292, + PARS_INSERT_TOKEN = 293, + PARS_INTO_TOKEN = 294, + PARS_VALUES_TOKEN = 295, + PARS_UPDATE_TOKEN = 296, + PARS_SET_TOKEN = 297, + PARS_DELETE_TOKEN = 298, + PARS_CURRENT_TOKEN = 299, + PARS_OF_TOKEN = 300, + PARS_CREATE_TOKEN = 301, + PARS_TABLE_TOKEN = 302, + PARS_INDEX_TOKEN = 303, + PARS_UNIQUE_TOKEN = 304, + PARS_CLUSTERED_TOKEN = 305, + PARS_ON_TOKEN = 306, + PARS_ASSIGN_TOKEN = 307, + PARS_DECLARE_TOKEN = 308, + PARS_CURSOR_TOKEN = 309, + PARS_SQL_TOKEN = 310, + PARS_OPEN_TOKEN = 311, + PARS_FETCH_TOKEN = 312, + PARS_CLOSE_TOKEN = 313, + PARS_NOTFOUND_TOKEN = 314, + PARS_TO_BINARY_TOKEN = 315, + PARS_SUBSTR_TOKEN = 316, + PARS_CONCAT_TOKEN = 317, + PARS_INSTR_TOKEN = 318, + PARS_LENGTH_TOKEN = 319, + PARS_COMMIT_TOKEN = 320, + PARS_ROLLBACK_TOKEN = 321, + PARS_WORK_TOKEN = 322, + PARS_EXIT_TOKEN = 323, + PARS_FUNCTION_TOKEN = 324, + PARS_LOCK_TOKEN = 325, + PARS_SHARE_TOKEN = 326, + PARS_MODE_TOKEN = 327, + PARS_LIKE_TOKEN = 328, + PARS_LIKE_TOKEN_EXACT = 329, + PARS_LIKE_TOKEN_PREFIX = 330, + PARS_LIKE_TOKEN_SUFFIX = 331, + PARS_LIKE_TOKEN_SUBSTR = 332, + PARS_TABLE_NAME_TOKEN = 333, + PARS_BIGINT_TOKEN = 334, + NEG = 335 }; #endif diff --git a/storage/innobase/include/pars0pars.h b/storage/innobase/include/pars0pars.h index f74d3700eca..f54c50e5b85 100644 --- a/storage/innobase/include/pars0pars.h +++ b/storage/innobase/include/pars0pars.h @@ -48,29 +48,15 @@ extern int yydebug; NOT re-entrant */ extern sym_tab_t* pars_sym_tab_global; -extern pars_res_word_t pars_to_char_token; -extern pars_res_word_t pars_to_number_token; extern pars_res_word_t pars_to_binary_token; -extern pars_res_word_t pars_binary_to_number_token; extern pars_res_word_t pars_substr_token; -extern pars_res_word_t pars_replstr_token; extern pars_res_word_t pars_concat_token; extern pars_res_word_t pars_length_token; extern pars_res_word_t pars_instr_token; -extern pars_res_word_t pars_sysdate_token; -extern pars_res_word_t pars_printf_token; -extern pars_res_word_t pars_assert_token; -extern pars_res_word_t pars_rnd_token; -extern pars_res_word_t pars_rnd_str_token; extern pars_res_word_t pars_count_token; -extern pars_res_word_t pars_sum_token; -extern pars_res_word_t pars_distinct_token; -extern pars_res_word_t pars_binary_token; -extern pars_res_word_t pars_blob_token; extern pars_res_word_t pars_int_token; extern pars_res_word_t pars_bigint_token; extern pars_res_word_t pars_char_token; -extern pars_res_word_t pars_float_token; extern pars_res_word_t pars_update_token; extern pars_res_word_t pars_asc_token; extern pars_res_word_t pars_desc_token; @@ -236,17 +222,6 @@ pars_insert_statement( que_node_t* values_list, /*!< in: value expression list or NULL */ sel_node_t* select); /*!< in: select condition or NULL */ /*********************************************************************//** -Parses a procedure parameter declaration. -@return own: symbol table node of type SYM_VAR */ -sym_node_t* -pars_parameter_declaration( -/*=======================*/ - sym_node_t* node, /*!< in: symbol table node allocated for the - id of the parameter */ - ulint param_type, - /*!< in: PARS_INPUT or PARS_OUTPUT */ - pars_res_word_t* type); /*!< in: pointer to a type token */ -/*********************************************************************//** Parses an elsif element. @return elsif node */ elsif_node_t* @@ -358,8 +333,6 @@ pars_column_def( pars_res_word_t* type, /*!< in: data type */ sym_node_t* len, /*!< in: length of column, or NULL */ - void* is_unsigned, /*!< in: if not NULL, column - is of type UNSIGNED. */ void* is_not_null); /*!< in: if not NULL, column is of type NOT NULL. */ /*********************************************************************//** @@ -370,9 +343,7 @@ pars_create_table( /*==============*/ sym_node_t* table_sym, /*!< in: table name node in the symbol table */ - sym_node_t* column_defs, /*!< in: list of column names */ - sym_node_t* compact, /* in: non-NULL if COMPACT table. */ - sym_node_t* block_size); /* in: block size (can be NULL) */ + sym_node_t* column_defs); /*!< in: list of column names */ /*********************************************************************//** Parses an index creation operation. @return index create subgraph */ @@ -394,7 +365,6 @@ pars_procedure_definition( /*======================*/ sym_node_t* sym_node, /*!< in: procedure id node in the symbol table */ - sym_node_t* param_list, /*!< in: parameter declaration list */ que_node_t* stat_list); /*!< in: statement list */ /*************************************************************//** @@ -672,7 +642,6 @@ struct proc_node_t{ que_common_t common; /*!< type: QUE_NODE_PROC */ sym_node_t* proc_id; /*!< procedure name symbol in the symbol table of this same procedure */ - sym_node_t* param_list; /*!< input and output parameters */ que_node_t* stat_list; /*!< statement list */ sym_tab_t* sym_tab; /*!< symbol table of this procedure */ }; @@ -747,7 +716,7 @@ struct col_assign_node_t{ #define PARS_FUNC_LOGICAL 2 /*!< AND, OR, NOT */ #define PARS_FUNC_CMP 3 /*!< comparison operators */ #define PARS_FUNC_PREDEFINED 4 /*!< TO_NUMBER, SUBSTR, ... */ -#define PARS_FUNC_AGGREGATE 5 /*!< COUNT, DISTINCT, SUM */ +#define PARS_FUNC_AGGREGATE 5 /*!< COUNT */ #define PARS_FUNC_OTHER 6 /*!< these are not real functions, e.g., := */ /* @} */ |