-
Gleb Shchepa authored
========================================================================== Context-independent parsing of the SELECT statement. WL#7203: True bottom-up server parser: refactoring of the SET statement ======================================================================= Context-independent parsing of the SET statement. WL#7199: True bottom-up server parser: common framework for the refactoring =========================================================================== New files: sql/parse_location.h A separate definition of YYLTYPE structure (Bison "locations") and its Bison macros: we don't need the whole sql_lex.h file to include this structure -- this helps to break cyclic include file dependences. sql/parse_tree_node_base.h sql/parse_tree_node_base.cc Definition of parse tree node base class: the Parse_tree_node class. sql/parse_tree_helpers.h sql/parse_tree_helpers.cc Helper classes and macros: * The Parse_tree_item: the child of the Item class that overload abstract methods of its parent; we subclass it with intermediate Item-compatible parse tree node classes. * Helper macros for recursive Item list rule refactoring. sql/parse_tree_items.h sql/parse_tree_items.cc Files to store Item-compatible parse tree node classes. sql/parse_tree_nodes.h sql/parse_tree_nodes.cc Files to store parse tree node classes (besides Item-compatible ones). Other changes: * The LEX::text_string_is_7bit has replaced with the Lex_input_stream::text_string_is_7bit() constant function. * sql_yacc.yy: the %union has been moved to sql_lex.h and the MYSQL_YACC-related hacks have been eliminated. * YYLTYPE has been structured with the help of new Symbol_location class
Gleb Shchepa authored========================================================================== Context-independent parsing of the SELECT statement. WL#7203: True bottom-up server parser: refactoring of the SET statement ======================================================================= Context-independent parsing of the SET statement. WL#7199: True bottom-up server parser: common framework for the refactoring =========================================================================== New files: sql/parse_location.h A separate definition of YYLTYPE structure (Bison "locations") and its Bison macros: we don't need the whole sql_lex.h file to include this structure -- this helps to break cyclic include file dependences. sql/parse_tree_node_base.h sql/parse_tree_node_base.cc Definition of parse tree node base class: the Parse_tree_node class. sql/parse_tree_helpers.h sql/parse_tree_helpers.cc Helper classes and macros: * The Parse_tree_item: the child of the Item class that overload abstract methods of its parent; we subclass it with intermediate Item-compatible parse tree node classes. * Helper macros for recursive Item list rule refactoring. sql/parse_tree_items.h sql/parse_tree_items.cc Files to store Item-compatible parse tree node classes. sql/parse_tree_nodes.h sql/parse_tree_nodes.cc Files to store parse tree node classes (besides Item-compatible ones). Other changes: * The LEX::text_string_is_7bit has replaced with the Lex_input_stream::text_string_is_7bit() constant function. * sql_yacc.yy: the %union has been moved to sql_lex.h and the MYSQL_YACC-related hacks have been eliminated. * YYLTYPE has been structured with the help of new Symbol_location class
Loading