2007-10-16 12:29:22 -03:00
|
|
|
#
|
|
|
|
# Bug#20023 mysql_change_user() resets the value of SQL_BIG_SELECTS
|
2008-01-11 01:47:52 +02:00
|
|
|
# The replace's are here to fix things for 32 bit systems
|
2007-10-16 12:29:22 -03:00
|
|
|
#
|
|
|
|
|
|
|
|
--echo Bug#20023
|
|
|
|
SELECT @@session.sql_big_selects;
|
2008-03-07 21:14:34 +03:00
|
|
|
# The exact value depends on the server build flags
|
2008-03-28 12:14:27 +02:00
|
|
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
2007-10-16 12:29:22 -03:00
|
|
|
SELECT @@global.max_join_size;
|
|
|
|
--echo change_user
|
|
|
|
--change_user
|
|
|
|
SELECT @@session.sql_big_selects;
|
2008-03-07 21:14:34 +03:00
|
|
|
# The exact value depends on the server build flags
|
2008-03-28 12:14:27 +02:00
|
|
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
2007-10-16 12:29:22 -03:00
|
|
|
SELECT @@global.max_join_size;
|
|
|
|
SET @@global.max_join_size = 10000;
|
|
|
|
SET @@session.max_join_size = default;
|
|
|
|
--echo change_user
|
|
|
|
--change_user
|
|
|
|
SELECT @@session.sql_big_selects;
|
2008-02-20 16:59:03 +02:00
|
|
|
# On some machines the following will result into a warning
|
2008-03-07 21:14:34 +03:00
|
|
|
--disable_warnings
|
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).
2010-11-25 03:11:05 +00:00
|
|
|
SET @@global.max_join_size = 18446744073709551615;
|
2008-03-07 21:14:34 +03:00
|
|
|
--enable_warnings
|
2007-10-16 12:29:22 -03:00
|
|
|
SET @@session.max_join_size = default;
|
|
|
|
--echo change_user
|
|
|
|
--change_user
|
|
|
|
SELECT @@session.sql_big_selects;
|
2008-01-11 01:47:52 +02:00
|
|
|
--replace_result 4294967295 18446744073709551615
|
2007-12-28 00:15:29 +01:00
|
|
|
SELECT @@global.max_join_size;
|
2008-01-11 01:47:52 +02:00
|
|
|
--replace_result 4294967295 18446744073709551615
|
2007-12-28 00:15:29 +01:00
|
|
|
SELECT @@session.max_join_size;
|
2007-10-16 12:29:22 -03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bug#31418 User locks misfunctioning after mysql_change_user()
|
|
|
|
#
|
|
|
|
|
|
|
|
--echo Bug#31418
|
|
|
|
SELECT IS_FREE_LOCK('bug31418');
|
|
|
|
SELECT IS_USED_LOCK('bug31418');
|
|
|
|
SELECT GET_LOCK('bug31418', 1);
|
2007-10-17 16:43:30 -03:00
|
|
|
SELECT IS_USED_LOCK('bug31418') = CONNECTION_ID();
|
2007-10-16 12:29:22 -03:00
|
|
|
--echo change_user
|
|
|
|
--change_user
|
|
|
|
SELECT IS_FREE_LOCK('bug31418');
|
|
|
|
SELECT IS_USED_LOCK('bug31418');
|
2008-02-12 20:59:09 +03:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bug#31222: com_% global status counters behave randomly with
|
|
|
|
# mysql_change_user.
|
|
|
|
#
|
2009-01-15 12:56:05 +03:00
|
|
|
|
|
|
|
FLUSH STATUS;
|
|
|
|
|
|
|
|
--disable_result_log
|
|
|
|
--disable_query_log
|
|
|
|
|
|
|
|
let $i = 100;
|
2009-10-28 09:52:34 +02:00
|
|
|
begin;
|
2009-01-15 12:56:05 +03:00
|
|
|
while ($i)
|
|
|
|
{
|
|
|
|
dec $i;
|
|
|
|
SELECT 1;
|
|
|
|
}
|
2009-10-28 09:52:34 +02:00
|
|
|
commit;
|
2009-01-15 12:56:05 +03:00
|
|
|
|
|
|
|
--enable_query_log
|
|
|
|
--enable_result_log
|
|
|
|
|
2009-01-31 22:04:57 -02:00
|
|
|
let $before= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1);
|
2009-01-15 12:56:05 +03:00
|
|
|
|
|
|
|
--change_user
|
|
|
|
|
2009-01-31 22:04:57 -02:00
|
|
|
let $after= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1);
|
|
|
|
|
|
|
|
if (`select $after != $before`){
|
|
|
|
SHOW GLOBAL STATUS LIKE 'com_select';
|
|
|
|
die The value of com_select changed during change_user;
|
|
|
|
}
|
|
|
|
echo Value of com_select did not change;
|