Commit 11c75fc3 authored by Monty's avatar Monty

Fixed sporadically failing test show_explain_json.test

Code taken from MDEV-33423: show_analyze sporadically fails

Thanks to Sergei Petrunia for pointing this out.
parent 611d4425
......@@ -518,9 +518,12 @@ SET debug_dbug=@old_debug;
# Try to do SHOW EXPLAIN for a query that runs a SET command:
# I've found experimentally that select_id==2 here...
#
set @show_explain_probe_select_id=2;
create table t2 (a int);
insert into t2 values (1),(2);
set @show_explain_probe_select_id=3;
SET debug_dbug='+d,show_explain_probe_join_exec_start';
set @foo= (select max(a) from t0 where sin(a) >0);
set @foo= (select max(a) from t2
where a + (select max(a) from t0 where t0.a>t2.a) < 10000);
connection default;
show explain format=JSON for $thr2;
ERROR HY000: Target is not executing an operation with a query plan
......@@ -528,6 +531,7 @@ kill query $thr2;
connection con1;
ERROR 70100: Query execution was interrupted
SET debug_dbug=@old_debug;
drop table t2;
#
# Attempt SHOW EXPLAIN for an UPDATE
#
......
......@@ -271,9 +271,16 @@ SET debug_dbug=@old_debug;
--echo # Try to do SHOW EXPLAIN for a query that runs a SET command:
--echo # I've found experimentally that select_id==2 here...
--echo #
set @show_explain_probe_select_id=2;
create table t2 (a int);
insert into t2 values (1),(2);
set @show_explain_probe_select_id=3; # Stop in the subquery.
SET debug_dbug='+d,show_explain_probe_join_exec_start';
send set @foo= (select max(a) from t0 where sin(a) >0);
# t2 has 2 rows so we will stop in the subquery twice:
# - first one to serve the SHOW ANALYZE request
# - second one when waiting to be KILLed.
send set @foo= (select max(a) from t2
where a + (select max(a) from t0 where t0.a>t2.a) < 10000);
connection default;
--source include/wait_condition.inc
--error ER_TARGET_NOT_EXPLAINABLE
......@@ -283,6 +290,7 @@ connection con1;
--error ER_QUERY_INTERRUPTED
reap;
SET debug_dbug=@old_debug;
drop table t2;
--echo #
--echo # Attempt SHOW EXPLAIN for an UPDATE
......
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