mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +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
|
||||
1
|
||||
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;
|
||||
@@optimizer_search_depth
|
||||
63
|
||||
|
|
|
@ -396,8 +396,9 @@ The following options may be given as the first argument:
|
|||
relation result in faster optimization, but may produce
|
||||
very bad query plans. If set to 0, the system will
|
||||
automatically pick a reasonable value; if set to 63, the
|
||||
optimizer will switch to the original find_best
|
||||
search(used for testing/comparison)
|
||||
optimizer will switch to the original find_best search.
|
||||
NOTE: The value 63 and its associated behaviour is
|
||||
deprecated
|
||||
--optimizer-switch=name
|
||||
optimizer_switch=option=val[,option=val...], where option
|
||||
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
|
||||
very bad query plans. If set to 0, the system will
|
||||
automatically pick a reasonable value; if set to 63, the
|
||||
optimizer will switch to the original find_best
|
||||
search(used for testing/comparison)
|
||||
optimizer will switch to the original find_best search.
|
||||
NOTE: The value 63 and its associated behaviour is
|
||||
deprecated
|
||||
--optimizer-switch=name
|
||||
optimizer_switch=option=val[,option=val...], where option
|
||||
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),
|
||||
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(
|
||||
"optimizer_search_depth",
|
||||
"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 "
|
||||
"optimization, but may produce very bad query plans. If set to 0, "
|
||||
"the system will automatically pick a reasonable value; if set to "
|
||||
"63, the optimizer will switch to the original find_best search"
|
||||
"(used for testing/comparison)",
|
||||
"63, the optimizer will switch to the original find_best search. "
|
||||
"NOTE: The value 63 and its associated behaviour is deprecated",
|
||||
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[]=
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue