diff --git a/mysql-test/include/opt_ctx_cmp_2_runs_of_query.inc b/mysql-test/include/opt_ctx_cmp_2_runs_of_query.inc index 38c2ef7476816..ab05efa6964fd 100644 --- a/mysql-test/include/opt_ctx_cmp_2_runs_of_query.inc +++ b/mysql-test/include/opt_ctx_cmp_2_runs_of_query.inc @@ -36,6 +36,7 @@ eval drop table $table_name; -- source "$MYSQLTEST_VARDIR/tmp/dump1.sql" -- enable_query_log +set optimizer_replay_context= 'opt_context'; let $explain_output=`$explain_query`; evalp set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); diff --git a/mysql-test/main/opt_context_store_sys_vars.opt b/mysql-test/main/opt_context_replay_basic.opt similarity index 100% rename from mysql-test/main/opt_context_store_sys_vars.opt rename to mysql-test/main/opt_context_replay_basic.opt diff --git a/mysql-test/main/opt_context_store_sys_vars.result b/mysql-test/main/opt_context_replay_basic.result similarity index 96% rename from mysql-test/main/opt_context_store_sys_vars.result rename to mysql-test/main/opt_context_replay_basic.result index 6fbb2c8d02711..0564a0dad4ed0 100644 --- a/mysql-test/main/opt_context_store_sys_vars.result +++ b/mysql-test/main/opt_context_replay_basic.result @@ -159,5 +159,11 @@ set optimizer_replay_context='opt_context'; select count(*) from t1; count(*) 0 -drop table t1; +set optimizer_replay_context=''; +create table t2( a int); +# +# MDEV-39222: Errors shown when inserting data into a new table +# +insert into t2 select seq from seq_1_to_10; +drop table t1, t2; drop database db1; diff --git a/mysql-test/main/opt_context_store_sys_vars.test b/mysql-test/main/opt_context_replay_basic.test similarity index 83% rename from mysql-test/main/opt_context_store_sys_vars.test rename to mysql-test/main/opt_context_replay_basic.test index e86d7e2fedbf7..236553ee77502 100644 --- a/mysql-test/main/opt_context_store_sys_vars.test +++ b/mysql-test/main/opt_context_replay_basic.test @@ -35,7 +35,13 @@ drop table t1; --source "$MYSQLTEST_VARDIR/tmp/dump1.sql" +create table t2( a int); +--echo # +--echo # MDEV-39222: Errors shown when inserting data into a new table +--echo # +insert into t2 select seq from seq_1_to_10; + --remove_file "$MYSQLTEST_VARDIR/tmp/dump1.sql" -drop table t1; +drop table t1, t2; drop database db1; diff --git a/mysql-test/main/opt_ctx_replay_innodb_complement.result b/mysql-test/main/opt_ctx_replay_innodb_complement.result index 68c0de73381d9..53eed0c2335c7 100644 --- a/mysql-test/main/opt_ctx_replay_innodb_complement.result +++ b/mysql-test/main/opt_ctx_replay_innodb_complement.result @@ -148,6 +148,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -265,6 +266,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -379,6 +381,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -499,6 +502,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -629,6 +633,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -743,6 +748,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -848,6 +854,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -932,6 +939,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1005,6 +1013,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1095,6 +1104,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1179,6 +1189,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1258,6 +1269,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1384,6 +1396,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1518,6 +1531,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); diff --git a/mysql-test/main/opt_ctx_replay_innodb_preferably.result b/mysql-test/main/opt_ctx_replay_innodb_preferably.result index 09de9f83a919e..e5bed53a00711 100644 --- a/mysql-test/main/opt_ctx_replay_innodb_preferably.result +++ b/mysql-test/main/opt_ctx_replay_innodb_preferably.result @@ -148,6 +148,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -265,6 +266,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -379,6 +381,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -499,6 +502,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -629,6 +633,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -743,6 +748,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -848,6 +854,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -932,6 +939,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1005,6 +1013,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1095,6 +1104,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1179,6 +1189,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1258,6 +1269,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1384,6 +1396,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); @@ -1518,6 +1531,7 @@ EXPLAIN ] } } +set optimizer_replay_context= 'opt_context'; set @explain_output= '$explain_output'; set @explain_output= (select json_pretty(round_cost(@explain_output))); select JSON_EQUALS(@saved_explain_output, @explain_output); diff --git a/sql/opt_context_store_replay.cc b/sql/opt_context_store_replay.cc index dca60e674c067..ea8dcf1ff25e4 100644 --- a/sql/opt_context_store_replay.cc +++ b/sql/opt_context_store_replay.cc @@ -610,6 +610,7 @@ bool store_optimizer_context(THD *thd) sql_script.append(STRING_WITH_LEN(";\n\n")); sql_script.append(thd->query(), thd->query_length()); sql_script.append(STRING_WITH_LEN(";\n\n")); + sql_script.append(STRING_WITH_LEN("set optimizer_replay_context='';\n\n")); thd->captured_opt_ctx= new Optimizer_context_capture(thd, sql_script); if (!thd->captured_opt_ctx) return true; // OOM