Commit e5876eea authored by Dmitry Lenev's avatar Dmitry Lenev

Merged recent changes from mysql-next-mr-bugfixing

into mysql-next-4284.
parents 178daf92 9302df91
...@@ -115,6 +115,8 @@ select @@optimizer_prune_level; ...@@ -115,6 +115,8 @@ select @@optimizer_prune_level;
@@optimizer_prune_level @@optimizer_prune_level
1 1
set optimizer_search_depth=63; set optimizer_search_depth=63;
Warnings:
Warning 1287 'optimizer-search-depth=63' is deprecated and will be removed in a future release. Please use a search depth less than 63 instead
select @@optimizer_search_depth; select @@optimizer_search_depth;
@@optimizer_search_depth @@optimizer_search_depth
63 63
......
...@@ -396,8 +396,9 @@ The following options may be given as the first argument: ...@@ -396,8 +396,9 @@ The following options may be given as the first argument:
relation result in faster optimization, but may produce relation result in faster optimization, but may produce
very bad query plans. If set to 0, the system will very bad query plans. If set to 0, the system will
automatically pick a reasonable value; if set to 63, the automatically pick a reasonable value; if set to 63, the
optimizer will switch to the original find_best optimizer will switch to the original find_best search.
search(used for testing/comparison) NOTE: The value 63 and its associated behaviour is
deprecated
--optimizer-switch=name --optimizer-switch=name
optimizer_switch=option=val[,option=val...], where option optimizer_switch=option=val[,option=val...], where option
is one of {index_merge, index_merge_union, is one of {index_merge, index_merge_union,
......
...@@ -396,8 +396,9 @@ The following options may be given as the first argument: ...@@ -396,8 +396,9 @@ The following options may be given as the first argument:
relation result in faster optimization, but may produce relation result in faster optimization, but may produce
very bad query plans. If set to 0, the system will very bad query plans. If set to 0, the system will
automatically pick a reasonable value; if set to 63, the automatically pick a reasonable value; if set to 63, the
optimizer will switch to the original find_best optimizer will switch to the original find_best search.
search(used for testing/comparison) NOTE: The value 63 and its associated behaviour is
deprecated
--optimizer-switch=name --optimizer-switch=name
optimizer_switch=option=val[,option=val...], where option optimizer_switch=option=val[,option=val...], where option
is one of {index_merge, index_merge_union, is one of {index_merge, index_merge_union,
......
...@@ -1305,6 +1305,17 @@ static Sys_var_ulong Sys_optimizer_prune_level( ...@@ -1305,6 +1305,17 @@ static Sys_var_ulong Sys_optimizer_prune_level(
SESSION_VAR(optimizer_prune_level), CMD_LINE(REQUIRED_ARG), SESSION_VAR(optimizer_prune_level), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(0, 1), DEFAULT(1), BLOCK_SIZE(1)); VALID_RANGE(0, 1), DEFAULT(1), BLOCK_SIZE(1));
/** Warns about deprecated value 63 */
static bool fix_optimizer_search_depth(sys_var *self, THD *thd,
enum_var_type type)
{
SV *sv= type == OPT_GLOBAL ? &global_system_variables : &thd->variables;
if (sv->optimizer_search_depth == MAX_TABLES+2)
WARN_DEPRECATED(thd, 6, 0, "optimizer-search-depth=63",
"a search depth less than 63");
return false;
}
static Sys_var_ulong Sys_optimizer_search_depth( static Sys_var_ulong Sys_optimizer_search_depth(
"optimizer_search_depth", "optimizer_search_depth",
"Maximum depth of search performed by the query optimizer. Values " "Maximum depth of search performed by the query optimizer. Values "
...@@ -1313,10 +1324,12 @@ static Sys_var_ulong Sys_optimizer_search_depth( ...@@ -1313,10 +1324,12 @@ static Sys_var_ulong Sys_optimizer_search_depth(
"than the number of tables in a relation result in faster " "than the number of tables in a relation result in faster "
"optimization, but may produce very bad query plans. If set to 0, " "optimization, but may produce very bad query plans. If set to 0, "
"the system will automatically pick a reasonable value; if set to " "the system will automatically pick a reasonable value; if set to "
"63, the optimizer will switch to the original find_best search" "63, the optimizer will switch to the original find_best search. "
"(used for testing/comparison)", "NOTE: The value 63 and its associated behaviour is deprecated",
SESSION_VAR(optimizer_search_depth), CMD_LINE(REQUIRED_ARG), SESSION_VAR(optimizer_search_depth), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(0, MAX_TABLES+2), DEFAULT(MAX_TABLES+1), BLOCK_SIZE(1)); VALID_RANGE(0, MAX_TABLES+2), DEFAULT(MAX_TABLES+1), BLOCK_SIZE(1),
NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0),
ON_UPDATE(fix_optimizer_search_depth));
static const char *optimizer_switch_names[]= static const char *optimizer_switch_names[]=
{ {
......
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