summaryrefslogtreecommitdiff
path: root/sql/sql_lex.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2005-07-05 13:37:02 +0300
committerunknown <bell@sanja.is.com.ua>2005-07-05 13:37:02 +0300
commit836f5a5a1ed7475cf791c72892f0ea2527defad2 (patch)
tree0b30c0bc139d895ac9286cf6026aadf83c37e69d /sql/sql_lex.h
parent6487eb814ff3d162a70ff6d4d90c442256a931dd (diff)
downloadmariadb-git-836f5a5a1ed7475cf791c72892f0ea2527defad2.tar.gz
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)
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r--sql/sql_lex.h11
1 files changed, 8 insertions, 3 deletions
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