From 9d017935e117f52e5c628727d0f21c22e49ead5c Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 5 Jul 2005 13:37:02 +0300 Subject: fixed environment creation and cleaning up for processing view one by one during checking (BUG#11337) mysql-test/r/view.result: checking views after some view with error (BUG#11337) mysql-test/t/view.test: checking views after some view with error (BUG#11337) sql/sql_lex.cc: environment cleaning up for processing view one by one sql/sql_lex.h: methods for lex cleunup during view processing one by one sql/sql_table.cc: fixed environment creation and cleaning up for processing view one by one (BUG#11337) --- sql/sql_lex.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'sql/sql_lex.h') diff --git a/sql/sql_lex.h b/sql/sql_lex.h index a9bfb6da926..ffe3a5ba833 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -371,7 +371,6 @@ typedef class st_select_lex_node SELECT_LEX_NODE; SELECT_LEX_UNIT - unit of selects (UNION, INTERSECT, ...) group SELECT_LEXs */ -struct st_lex; class THD; class select_result; class JOIN; @@ -627,7 +626,13 @@ public: order_list.first= 0; order_list.next= (byte**) &order_list.first; } - + /* + This method created for reiniting LEX in mysql_admin_table() and can be + used only if you are going remove all SELECT_LEX & units except belonger + to LEX (LEX::unit & LEX::select, for other purposes there are + SELECT_LEX_UNIT::exclude_level & SELECT_LEX_UNIT::exclude_tree + */ + void cut_subtree() { slave= 0; } bool test_limit(); friend void lex_start(THD *thd, uchar *buf, uint length); @@ -912,7 +917,7 @@ typedef struct st_lex { return ( query_tables_own_last ? *query_tables_own_last : 0); } - + void cleanup_after_one_table_open(); } LEX; struct st_lex_local: public st_lex -- cgit v1.2.1