用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

45 lines
1.0 KiB

# Prerequisites:
# connections:
# cq - connection where queries are run
# ce - connection where explain is run
# variables:
# query - query to explain
# format - explain format: 'json' for json, or traditional otherwise
# point - syncing point
--disable_reconnect
connection cq;
--disable_result_log
--disable_query_log
let $QID= `SELECT CONNECTION_ID()`;
eval SET DEBUG_SYNC= '$point SIGNAL ready_for_explain WAIT_FOR explained';
send_eval $query;
connection ce;
--disable_result_log
--disable_query_log
if ($format == 'json') {
let $fmt= FORMAT=JSON;
}
if ($format != 'json') {
let $fmt= FORMAT=TRADITIONAL;
}
--enable_result_log
--echo EXPLAIN $fmt FOR QUERY '$query'
# Let the query being explained reach the sync point
SET DEBUG_SYNC= 'now WAIT_FOR ready_for_explain';
SET DEBUG_SYNC= 'after_explain_other SIGNAL explained';
--error $err
--eval EXPLAIN $fmt FOR CONNECTION $QID;
connection cq;
--disable_result_log
--disable_query_log
reap;
SET DEBUG_SYNC= 'RESET';
--enable_query_log
--enable_result_log
--enable_reconnect