Commit 12d6f89b authored by Sergei Petrunia's avatar Sergei Petrunia

MDEV-6393: ANALYZE SELECT crashes ... Don't try printing EXPLAIN if we had an error.

parent b7d10e56
......@@ -197,3 +197,21 @@ select * from t1;
a b
6 6
drop table t0, t1;
#
# MDEV-6393: ANALYZE SELECT crashes in Explain_query::print_explain with a non-existing column
#
create table t1 (i int);
insert into t1 values (1),(2);
analyze select a from t1;
ERROR 42S22: Unknown column 'a' in 'field list'
analyze delete from t1 where a=2;
ERROR 42S22: Unknown column 'a' in 'where clause'
analyze update t1 set a=2;
ERROR 42S22: Unknown column 'a' in 'field list'
create table t2 like t1;
insert into t2 select * from t1;
analyze update t2,t1 set t2.i=5 where t2.a=t1.a;
ERROR 42S22: Unknown column 't2.a' in 'where clause'
analyze delete t1 from t2,t1 where t2.a=t1.a;
ERROR 42S22: Unknown column 't2.a' in 'where clause'
drop table t1,t2;
......@@ -146,3 +146,28 @@ select * from t1;
drop table t0, t1;
--echo #
--echo # MDEV-6393: ANALYZE SELECT crashes in Explain_query::print_explain with a non-existing column
--echo #
create table t1 (i int);
insert into t1 values (1),(2);
--error ER_BAD_FIELD_ERROR
analyze select a from t1;
--error ER_BAD_FIELD_ERROR
analyze delete from t1 where a=2;
--error ER_BAD_FIELD_ERROR
analyze update t1 set a=2;
create table t2 like t1;
insert into t2 select * from t1;
--error ER_BAD_FIELD_ERROR
analyze update t2,t1 set t2.i=5 where t2.a=t1.a;
--error ER_BAD_FIELD_ERROR
analyze delete t1 from t2,t1 where t2.a=t1.a;
drop table t1,t2;
......@@ -5282,7 +5282,8 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables)
return 1;
delete thd->protocol;
thd->protocol= save_protocol;
thd->lex->explain->send_explain(thd);
if (!res)
thd->lex->explain->send_explain(thd);
if (result != lex->result)
delete result;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment