mirror of
https://github.com/MariaDB/server.git
synced 2025-09-06 19:08:06 +03:00
This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
161 lines
4.1 KiB
Plaintext
161 lines
4.1 KiB
Plaintext
|
|
#
|
|
# Tests for the performance_schema host_cache.
|
|
#
|
|
# Simulate failures from client / server protocol:
|
|
# - reported in COUNT_HANDSHAKE_ERRORS
|
|
# aud further causes blocking errors:
|
|
# - reported in SUM_CONNECT_ERRORS
|
|
# - reported in COUNT_HOST_BLOCKED_ERRORS
|
|
|
|
--source include/not_embedded.inc
|
|
--source include/have_debug.inc
|
|
--source include/have_perfschema.inc
|
|
--source include/have_hostname_cache.inc
|
|
|
|
# Enforce a clean state
|
|
--source ../include/wait_for_pfs_thread_count.inc
|
|
--source ../include/hostcache_set_state.inc
|
|
|
|
select @@global.max_connect_errors into @saved_max_connect_errors;
|
|
|
|
set global max_connect_errors = 3;
|
|
|
|
create user 'root'@'santa.claus.ipv4.example.com';
|
|
grant select on test.* to 'root'@'santa.claus.ipv4.example.com';
|
|
|
|
create user 'quota'@'santa.claus.ipv4.example.com';
|
|
grant select on test.* to 'quota'@'santa.claus.ipv4.example.com';
|
|
|
|
connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,);
|
|
select "Con1 is alive";
|
|
select current_user();
|
|
disconnect con1;
|
|
|
|
--connection default
|
|
set global debug_dbug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_good_ipv4,native_password_bad_reply";
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con2a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con2b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con2c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HOST_IS_BLOCKED
|
|
connect (con2d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HOST_IS_BLOCKED
|
|
connect (con2e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
# Now that the host is blocked, check that flush works
|
|
flush hosts;
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con3a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con3b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--connection default
|
|
set global debug_dbug= "-d,native_password_bad_reply";
|
|
|
|
--disable_query_log
|
|
connect (con4,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
select "Valid connection should reset SUM_CONNECT_ERROR counter" as message;
|
|
--disconnect con4
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
set global debug_dbug= "+d,native_password_bad_reply";
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con5a,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con5b,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HANDSHAKE_ERROR
|
|
connect (con5c,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HOST_IS_BLOCKED
|
|
connect (con5d,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
--disable_query_log
|
|
--error ER_HOST_IS_BLOCKED
|
|
connect (con5e,"127.0.0.1",quota,,test,$MASTER_MYPORT,);
|
|
--enable_query_log
|
|
|
|
--connection default
|
|
--source ../include/hostcache_dump.inc
|
|
|
|
revoke select on test.* from 'root'@'santa.claus.ipv4.example.com';
|
|
drop user 'root'@'santa.claus.ipv4.example.com';
|
|
|
|
revoke select on test.* from 'quota'@'santa.claus.ipv4.example.com';
|
|
drop user 'quota'@'santa.claus.ipv4.example.com';
|
|
|
|
set global max_connect_errors = @saved_max_connect_errors;
|
|
set global debug_dbug= default;
|
|
|