mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 17:54:16 +01:00
Assorted post-merge fixes, clean-up, integration, compat with 5.6.
43233/55794. mysql-test/r/change_user.result: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests). mysql-test/r/key_cache.result: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/r/variables.result: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/t/change_user.test: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests). mysql-test/t/key_cache.test: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/t/variables.test: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. sql/mysqld.cc: 0 is a legal (albeit magic) value: "drop key cache." sql/set_var.cc: bound_unsigned() can go now, it was just a kludge until things are done The Right Way, which they are now. Can't drop default key case is an error now, not a warning, for compatibility with 5.6. tests/mysql_client_test.c: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests).
This commit is contained in:
parent
161d4eea58
commit
7336ac45b7
9 changed files with 15 additions and 52 deletions
|
@ -18,7 +18,7 @@ change_user
|
|||
SELECT @@session.sql_big_selects;
|
||||
@@session.sql_big_selects
|
||||
0
|
||||
SET @@global.max_join_size = -1;
|
||||
SET @@global.max_join_size = 18446744073709551615;
|
||||
SET @@session.max_join_size = default;
|
||||
change_user
|
||||
SELECT @@session.sql_big_selects;
|
||||
|
|
|
@ -334,8 +334,7 @@ test.t1 check status OK
|
|||
DROP TABLE t1,t2;
|
||||
set global key_cache_block_size= @my_key_cache_block_size;
|
||||
set @@global.key_buffer_size=0;
|
||||
Warnings:
|
||||
Warning 1438 Cannot drop default keycache
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
select @@global.key_buffer_size;
|
||||
@@global.key_buffer_size
|
||||
2097152
|
||||
|
|
|
@ -1524,7 +1524,7 @@ ERROR 42000: Variable 'max_binlog_cache_size' can't be set to the value of '-1'
|
|||
SET @@global.max_join_size=0;
|
||||
ERROR 42000: Variable 'max_join_size' can't be set to the value of '0'
|
||||
SET @@global.key_buffer_size=0;
|
||||
ERROR 42000: Variable 'key_buffer_size' can't be set to the value of '0'
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
SET @@global.key_cache_block_size=0;
|
||||
ERROR 42000: Variable 'key_cache_block_size' can't be set to the value of '0'
|
||||
throw warnings in default mode
|
||||
|
@ -1536,8 +1536,7 @@ SET @@global.max_join_size=0;
|
|||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_join_size value: '0'
|
||||
SET @@global.key_buffer_size=0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '0'
|
||||
ERROR HY000: Cannot drop default keycache
|
||||
SET @@global.key_cache_block_size=0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '0'
|
||||
|
|
|
@ -20,7 +20,7 @@ SET @@session.max_join_size = default;
|
|||
SELECT @@session.sql_big_selects;
|
||||
# On some machines the following will result into a warning
|
||||
--disable_warnings
|
||||
SET @@global.max_join_size = -1;
|
||||
SET @@global.max_join_size = 18446744073709551615;
|
||||
--enable_warnings
|
||||
SET @@session.max_join_size = default;
|
||||
--echo change_user
|
||||
|
|
|
@ -216,6 +216,7 @@ set global key_cache_block_size= @my_key_cache_block_size;
|
|||
# Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
|
||||
# (One cannot drop the default key cache.)
|
||||
#
|
||||
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
||||
set @@global.key_buffer_size=0;
|
||||
select @@global.key_buffer_size;
|
||||
|
||||
|
|
|
@ -1275,7 +1275,7 @@ SET @@global.max_binlog_cache_size=-1;
|
|||
SET @@global.max_join_size=0;
|
||||
|
||||
# sys_var_key_buffer_size: "key_buffer_size"
|
||||
--error ER_WRONG_VALUE_FOR_VAR
|
||||
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
||||
SET @@global.key_buffer_size=0;
|
||||
|
||||
# sys_var_key_cache_long: "key_cache_block_size" et al.
|
||||
|
@ -1287,6 +1287,9 @@ SET SQL_MODE=DEFAULT;
|
|||
|
||||
SET @@global.max_binlog_cache_size=-1;
|
||||
SET @@global.max_join_size=0;
|
||||
# this is an exception. since this is a new error/warning, let's stay
|
||||
# compatible with the upcoming 5.6.
|
||||
--error ER_WARN_CANT_DROP_DEFAULT_KEYCACHE
|
||||
SET @@global.key_buffer_size=0;
|
||||
SET @@global.key_cache_block_size=0;
|
||||
|
||||
|
|
|
@ -6774,7 +6774,7 @@ thread is in the relay logs.",
|
|||
"as much as you can afford; 1GB on a 4GB machine that mainly runs MySQL is "
|
||||
"quite common.",
|
||||
&dflt_key_cache_var.param_buff_size, NULL, NULL, (GET_ULL | GET_ASK_ADDR),
|
||||
REQUIRED_ARG, KEY_CACHE_SIZE, MALLOC_OVERHEAD, SIZE_T_MAX, MALLOC_OVERHEAD,
|
||||
REQUIRED_ARG, KEY_CACHE_SIZE, 0, SIZE_T_MAX, MALLOC_OVERHEAD,
|
||||
IO_SIZE, 0},
|
||||
{"key_cache_age_threshold", OPT_KEY_CACHE_AGE_THRESHOLD,
|
||||
"This characterizes the number of hits a hot block has to be untouched "
|
||||
|
|
|
@ -1423,44 +1423,6 @@ bool throw_bounds_warning(THD *thd, bool fixed, bool unsignd,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
check an unsigned user-supplied value for a systemvariable against bounds.
|
||||
|
||||
TODO: This is a wrapper function to call clipping from within an update()
|
||||
function. Calling bounds from within update() is fair game in theory,
|
||||
but we can only send warnings from in there, not errors, and besides,
|
||||
it violates our model of separating check from update phase.
|
||||
To avoid breaking out of the server with an ASSERT() in strict mode,
|
||||
we pretend we're not in strict mode when we go through here. Bug#43233
|
||||
was opened to remind us to replace this kludge with The Right Thing,
|
||||
which of course is to do the check in the actual check phase, and then
|
||||
throw an error or warning accordingly.
|
||||
|
||||
@param thd thread handle
|
||||
@param num the value to limit
|
||||
@param option_limits the bounds-record, or NULL if none
|
||||
*/
|
||||
static void bound_unsigned(THD *thd, ulonglong *num,
|
||||
const struct my_option *option_limits)
|
||||
{
|
||||
if (option_limits)
|
||||
{
|
||||
my_bool fixed = FALSE;
|
||||
ulonglong unadjusted= *num;
|
||||
|
||||
*num= getopt_ull_limit_value(unadjusted, option_limits, &fixed);
|
||||
|
||||
if (fixed)
|
||||
{
|
||||
ulong ssm= thd->variables.sql_mode;
|
||||
thd->variables.sql_mode&= ~MODE_STRICT_ALL_TABLES;
|
||||
throw_bounds_warning(thd, fixed, TRUE, option_limits->name, unadjusted);
|
||||
thd->variables.sql_mode= ssm;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Get unsigned system-variable.
|
||||
Negative value does not wrap around, but becomes zero.
|
||||
|
@ -2359,9 +2321,8 @@ bool sys_var_key_buffer_size::update(THD *thd, set_var *var)
|
|||
{
|
||||
if (key_cache == dflt_key_cache)
|
||||
{
|
||||
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
ER_WARN_CANT_DROP_DEFAULT_KEYCACHE,
|
||||
ER(ER_WARN_CANT_DROP_DEFAULT_KEYCACHE));
|
||||
error= 1;
|
||||
my_error(ER_WARN_CANT_DROP_DEFAULT_KEYCACHE, MYF(0));
|
||||
goto end; // Ignore default key cache
|
||||
}
|
||||
|
||||
|
|
|
@ -17125,7 +17125,7 @@ static void test_bug20023()
|
|||
|
||||
/* Set MAX_JOIN_SIZE to the default value (-1). */
|
||||
|
||||
DIE_IF(mysql_query(&con, "SET @@global.max_join_size = -1"));
|
||||
DIE_IF(mysql_query(&con, "SET @@global.max_join_size = 18446744073709551615"));
|
||||
DIE_IF(mysql_query(&con, "SET @@session.max_join_size = default"));
|
||||
|
||||
/* Issue COM_CHANGE_USER. */
|
||||
|
@ -17156,7 +17156,7 @@ static void test_bug20023()
|
|||
|
||||
DIE_IF(mysql_query(&con, query_buffer));
|
||||
|
||||
DIE_IF(mysql_query(&con, "SET @@global.max_join_size = -1"));
|
||||
DIE_IF(mysql_query(&con, "SET @@global.max_join_size = 18446744073709551615"));
|
||||
DIE_IF(mysql_query(&con, "SET @@session.max_join_size = default"));
|
||||
|
||||
/* Issue COM_CHANGE_USER. */
|
||||
|
|
Loading…
Add table
Reference in a new issue