diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2014-06-26 20:12:18 +0400 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2014-06-26 20:12:18 +0400 |
commit | be885ebe8c3df78d090c2ad25772959fc2ae9fc9 (patch) | |
tree | 0227056380e48fba6876dc12556f577be59888da | |
parent | c6be74458fd478b019ac357371d5aee8925fe012 (diff) | |
download | mariadb-git-be885ebe8c3df78d090c2ad25772959fc2ae9fc9.tar.gz |
Code cleanup, more tests.
-rw-r--r-- | mysql-test/r/analyze_stmt.result | 9 | ||||
-rw-r--r-- | mysql-test/t/analyze_stmt.test | 7 | ||||
-rw-r--r-- | sql/sql_parse.cc | 10 |
3 files changed, 17 insertions, 9 deletions
diff --git a/mysql-test/r/analyze_stmt.result b/mysql-test/r/analyze_stmt.result index 256c66ea204..8df6fe5127a 100644 --- a/mysql-test/r/analyze_stmt.result +++ b/mysql-test/r/analyze_stmt.result @@ -242,3 +242,12 @@ analyze update t1 set i=8; id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 4 4 100.00 100.00 drop table t1; +# +# Check ANALYZE SELECT INTO +# +create table t1 (i int); +insert into t1 values (1); +analyze select * from t1 into @var; +id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra +1 SIMPLE t1 system NULL NULL NULL NULL 1 NULL 100.00 NULL +drop table t1; diff --git a/mysql-test/t/analyze_stmt.test b/mysql-test/t/analyze_stmt.test index d2ec554e825..8bd4ce37dd3 100644 --- a/mysql-test/t/analyze_stmt.test +++ b/mysql-test/t/analyze_stmt.test @@ -191,3 +191,10 @@ insert into t1 values (1),(2),(3),(4); analyze update t1 set i=8; drop table t1; +--echo # +--echo # Check ANALYZE SELECT INTO +--echo # +create table t1 (i int); +insert into t1 values (1); +analyze select * from t1 into @var; +drop table t1; diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index e9be2b284a9..78c98d2d7be 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5256,11 +5256,9 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables) } else { - select_result *save_result; Protocol *save_protocol; if (lex->analyze_stmt) { - save_result= result; result= new select_send_analyze(); save_protocol= thd->protocol; thd->protocol= new Protocol_discard(thd); @@ -5277,16 +5275,10 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables) if (lex->analyze_stmt) { - result= save_result; - if (!result && !(result= new select_send())) - return 1; delete thd->protocol; thd->protocol= save_protocol; if (!res) - thd->lex->explain->send_explain(thd); - - if (result != lex->result) - delete result; + res= thd->lex->explain->send_explain(thd); } } } |