mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
88a9e65ba6
We didn't expect "error: no error", although this is in fact a legitimate state (if something is erroneous on the master, but not on the slave, e.g. INSERT fails on master due to UNIQUE constraint which does not exist on slave). We now list the ignore for "0: no error" the same way as any other ignore; moreover, if no or an empty --slave-skip-errors is passed at start-up, we show "OFF" instead of empty list, as intended. (The code for that was there, but was only run for the empty- argument case, even if it subsequently tested for both conditions.) mysql-test/r/not_embedded_server.result: Show that passing no --slave-skip-errors results in "OFF" being shown as the variable's value. This test's "twin" (also not embedded, but setting --slave-skip-errors in its -opt file) lives in variables-notembbeded.test. mysql-test/r/variables-notembedded.result: Show that error-ignore 0 is handled just like any other ignore. This test's "twin" (also not embedded, but not setting --slave-skip-errors in its -opt file) lives in not_embbeded_server.test. mysql-test/t/not_embedded_server.test: Show that passing no --slave-skip-errors results in "OFF" being shown as the variable's value. mysql-test/t/variables-notembedded-master.opt: Show that error-ignore 0 is handled just like any other ignore. sql/slave.cc: - set up error-ignore-info even if --slave-skip-errors was not passed at start-up. - handle error 0 just like any other error.
110 lines
3.7 KiB
Text
110 lines
3.7 KiB
Text
---- Init ----
|
|
set @my_slave_net_timeout =@@global.slave_net_timeout;
|
|
---- Test ----
|
|
set global slave_net_timeout=100;
|
|
set global sql_slave_skip_counter=100;
|
|
show variables like 'slave_compressed_protocol';
|
|
Variable_name Value
|
|
slave_compressed_protocol OFF
|
|
show variables like 'slave_load_tmpdir';
|
|
Variable_name Value
|
|
slave_load_tmpdir SLAVE_LOAD_TMPDIR
|
|
show variables like 'slave_skip_errors';
|
|
Variable_name Value
|
|
slave_skip_errors 0,3,100,137,643,1752
|
|
---- Clean Up ----
|
|
set global slave_net_timeout=default;
|
|
set global sql_slave_skip_counter= 0;
|
|
set @@global.slave_net_timeout= @my_slave_net_timeout;
|
|
|
|
#
|
|
SHOW VARIABLES like 'log_slave_updates';
|
|
Variable_name Value
|
|
log_slave_updates OFF
|
|
SELECT @@session.log_slave_updates;
|
|
ERROR HY000: Variable 'log_slave_updates' is a GLOBAL variable
|
|
SELECT @@global.log_slave_updates;
|
|
@@global.log_slave_updates
|
|
0
|
|
SET @@session.log_slave_updates= true;
|
|
ERROR HY000: Variable 'log_slave_updates' is a read only variable
|
|
SET @@global.log_slave_updates= true;
|
|
ERROR HY000: Variable 'log_slave_updates' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log';
|
|
Variable_name Value
|
|
relay_log
|
|
SELECT @@session.relay_log;
|
|
ERROR HY000: Variable 'relay_log' is a GLOBAL variable
|
|
SELECT @@global.relay_log;
|
|
@@global.relay_log
|
|
NULL
|
|
SET @@session.relay_log= 'x';
|
|
ERROR HY000: Variable 'relay_log' is a read only variable
|
|
SET @@global.relay_log= 'x';
|
|
ERROR HY000: Variable 'relay_log' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log_index';
|
|
Variable_name Value
|
|
relay_log_index
|
|
SELECT @@session.relay_log_index;
|
|
ERROR HY000: Variable 'relay_log_index' is a GLOBAL variable
|
|
SELECT @@global.relay_log_index;
|
|
@@global.relay_log_index
|
|
NULL
|
|
SET @@session.relay_log_index= 'x';
|
|
ERROR HY000: Variable 'relay_log_index' is a read only variable
|
|
SET @@global.relay_log_index= 'x';
|
|
ERROR HY000: Variable 'relay_log_index' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log_info_file';
|
|
Variable_name Value
|
|
relay_log_info_file relay-log.info
|
|
SELECT @@session.relay_log_info_file;
|
|
ERROR HY000: Variable 'relay_log_info_file' is a GLOBAL variable
|
|
SELECT @@global.relay_log_info_file;
|
|
@@global.relay_log_info_file
|
|
relay-log.info
|
|
SET @@session.relay_log_info_file= 'x';
|
|
ERROR HY000: Variable 'relay_log_info_file' is a read only variable
|
|
SET @@global.relay_log_info_file= 'x';
|
|
ERROR HY000: Variable 'relay_log_info_file' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'relay_log_space_limit';
|
|
Variable_name Value
|
|
relay_log_space_limit 0
|
|
SELECT @@session.relay_log_space_limit;
|
|
ERROR HY000: Variable 'relay_log_space_limit' is a GLOBAL variable
|
|
SELECT @@global.relay_log_space_limit;
|
|
@@global.relay_log_space_limit
|
|
0
|
|
SET @@session.relay_log_space_limit= 7;
|
|
ERROR HY000: Variable 'relay_log_space_limit' is a read only variable
|
|
SET @@global.relay_log_space_limit= 7;
|
|
ERROR HY000: Variable 'relay_log_space_limit' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'slave_load_tmpdir';
|
|
Variable_name Value
|
|
slave_load_tmpdir #
|
|
SELECT @@session.slave_load_tmpdir;
|
|
ERROR HY000: Variable 'slave_load_tmpdir' is a GLOBAL variable
|
|
SELECT @@global.slave_load_tmpdir;
|
|
@@global.slave_load_tmpdir
|
|
#
|
|
SET @@session.slave_load_tmpdir= 'x';
|
|
ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable
|
|
SET @@global.slave_load_tmpdir= 'x';
|
|
ERROR HY000: Variable 'slave_load_tmpdir' is a read only variable
|
|
#
|
|
SHOW VARIABLES like 'slave_skip_errors';
|
|
Variable_name Value
|
|
slave_skip_errors 0,3,100,137,643,1752
|
|
SELECT @@session.slave_skip_errors;
|
|
ERROR HY000: Variable 'slave_skip_errors' is a GLOBAL variable
|
|
SELECT @@global.slave_skip_errors;
|
|
@@global.slave_skip_errors
|
|
0,3,100,137,643,1752
|
|
SET @@session.slave_skip_errors= 7;
|
|
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
|
|
SET @@global.slave_skip_errors= 7;
|
|
ERROR HY000: Variable 'slave_skip_errors' is a read only variable
|