polardbxengine/mysql-test/t/innodb_explain_json_non_sel...

46 lines
1.4 KiB
Plaintext

-- source include/big_test.inc
# There are expected differences in Handler_update output when run with and
# without log-bin. Thus, test is updated to run with binary logging ON.
# Testcase is skipped for binlog_format=STATEMENT due to Unsafe statements:
# LIMIT clause, REPLACE... SELECT.
# Testcase is also skipped for binlog_format=MIXED, since it mismatches result
# file for used_columns output (Bug#22472365).
--source include/have_binlog_format_row.inc
#
# Run explain_non_select.inc on InnoDB without any of the socalled 6.0 features.
#
--source include/have_64bit.inc
--disable_query_log
if (`select locate('semijoin', @@optimizer_switch) > 0`)
{
set optimizer_switch='semijoin=off';
}
if (`select locate('materialization', @@optimizer_switch) > 0`)
{
set optimizer_switch='materialization=off';
}
if (`select locate('index_condition_pushdown', @@optimizer_switch) > 0`)
{
set optimizer_switch='index_condition_pushdown=off';
}
if (`select locate('mrr', @@optimizer_switch) > 0`)
{
set optimizer_switch='mrr=off';
}
--enable_query_log
set @save_storage_engine= @@session.default_storage_engine;
set session default_storage_engine = InnoDB;
--let $innodb = 1
# Next variable controls the JSON format output in explain_utils.
# 1 = enable, 0 = disable
--let $json = 1
--source include/explain_non_select.inc
set default_storage_engine= @save_storage_engine;
set optimizer_switch=default;