mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
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.
This commit is contained in:
@ -518,9 +518,12 @@ SET debug_dbug=@old_debug;
|
|||||||
# Try to do SHOW EXPLAIN for a query that runs a SET command:
|
# Try to do SHOW EXPLAIN for a query that runs a SET command:
|
||||||
# I've found experimentally that select_id==2 here...
|
# 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 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;
|
connection default;
|
||||||
show explain format=JSON for $thr2;
|
show explain format=JSON for $thr2;
|
||||||
ERROR HY000: Target is not executing an operation with a query plan
|
ERROR HY000: Target is not executing an operation with a query plan
|
||||||
@ -528,6 +531,7 @@ kill query $thr2;
|
|||||||
connection con1;
|
connection con1;
|
||||||
ERROR 70100: Query execution was interrupted
|
ERROR 70100: Query execution was interrupted
|
||||||
SET debug_dbug=@old_debug;
|
SET debug_dbug=@old_debug;
|
||||||
|
drop table t2;
|
||||||
#
|
#
|
||||||
# Attempt SHOW EXPLAIN for an UPDATE
|
# 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 # Try to do SHOW EXPLAIN for a query that runs a SET command:
|
||||||
--echo # I've found experimentally that select_id==2 here...
|
--echo # I've found experimentally that select_id==2 here...
|
||||||
--echo #
|
--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';
|
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;
|
connection default;
|
||||||
--source include/wait_condition.inc
|
--source include/wait_condition.inc
|
||||||
--error ER_TARGET_NOT_EXPLAINABLE
|
--error ER_TARGET_NOT_EXPLAINABLE
|
||||||
@ -283,6 +290,7 @@ connection con1;
|
|||||||
--error ER_QUERY_INTERRUPTED
|
--error ER_QUERY_INTERRUPTED
|
||||||
reap;
|
reap;
|
||||||
SET debug_dbug=@old_debug;
|
SET debug_dbug=@old_debug;
|
||||||
|
drop table t2;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Attempt SHOW EXPLAIN for an UPDATE
|
--echo # Attempt SHOW EXPLAIN for an UPDATE
|
||||||
|
Reference in New Issue
Block a user