mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
Merged recent changes from mysql-next-mr-bugfixing
into mysql-next-4284.
This commit is contained in:
commit
5e09c42f21
4 changed files with 24 additions and 7 deletions
|
@ -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:
|
||||||
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:
|
||||||
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(
|
||||||
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(
|
||||||
"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[]=
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue