mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Add support for slave_compressed_protocol, slave_load_tmpdir, and
slave_skip_errors in SHOW VARIABLES. (Bug #7800) sql/structs.h: Add SHOW_SLAVE_SKIP_ERRORS sql/set_var.cc: Add slave_compressed_protocol, slave_load_tmpdir, slave_skip_errors to list of variables. mysql-test/t/rpl_variables.test: Add test for additional slave-related variables mysql-test/r/rpl_variables.result: Update results sql/sql_show.cc: Handle showing slave_skip_errors
This commit is contained in:
@ -6,3 +6,12 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
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 MYSQL_TEST_DIR/var/tmp/
|
||||
show variables like 'slave_skip_errors';
|
||||
Variable_name Value
|
||||
slave_skip_errors 3,100,137,643,1752
|
||||
|
1
mysql-test/t/rpl_variables-master.opt
Normal file
1
mysql-test/t/rpl_variables-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--slave-skip-errors=3,100,137,643,1752
|
@ -2,3 +2,11 @@ source include/master-slave.inc;
|
||||
|
||||
set global slave_net_timeout=100;
|
||||
set global sql_slave_skip_counter=100;
|
||||
|
||||
# BUG #7800: Add various-slave related variables to SHOW VARIABLES
|
||||
show variables like 'slave_compressed_protocol';
|
||||
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
show variables like 'slave_load_tmpdir';
|
||||
# We just set some arbitrary values in variables-master.opt so we can test
|
||||
# that a list of values works correctly
|
||||
show variables like 'slave_skip_errors';
|
||||
|
@ -951,7 +951,11 @@ struct show_var_st init_vars[]= {
|
||||
{"skip_networking", (char*) &opt_disable_networking, SHOW_BOOL},
|
||||
{"skip_show_database", (char*) &opt_skip_show_db, SHOW_BOOL},
|
||||
#ifdef HAVE_REPLICATION
|
||||
{sys_slave_compressed_protocol.name,
|
||||
(char*) &sys_slave_compressed_protocol, SHOW_SYS},
|
||||
{"slave_load_tmpdir", (char*) &slave_load_tmpdir, SHOW_CHAR_PTR},
|
||||
{sys_slave_net_timeout.name,(char*) &sys_slave_net_timeout, SHOW_SYS},
|
||||
{"slave_skip_errors", (char*) &slave_error_mask, SHOW_SLAVE_SKIP_ERRORS},
|
||||
{sys_slave_trans_retries.name,(char*) &sys_slave_trans_retries, SHOW_SYS},
|
||||
#endif
|
||||
{sys_slow_launch_time.name, (char*) &sys_slow_launch_time, SHOW_SYS},
|
||||
|
@ -1345,6 +1345,33 @@ static bool show_status_array(THD *thd, const char *wild,
|
||||
pthread_mutex_unlock(&LOCK_active_mi);
|
||||
break;
|
||||
}
|
||||
case SHOW_SLAVE_SKIP_ERRORS:
|
||||
{
|
||||
MY_BITMAP *bitmap= (MY_BITMAP *)value;
|
||||
if (!use_slave_mask || bitmap_is_clear_all(bitmap))
|
||||
{
|
||||
end= strmov(buff, "OFF");
|
||||
}
|
||||
else if (bitmap_is_set_all(bitmap))
|
||||
{
|
||||
end= strmov(buff, "ALL");
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i= 1; i < MAX_SLAVE_ERROR; i++)
|
||||
{
|
||||
if (bitmap_is_set(bitmap, i))
|
||||
{
|
||||
end+= my_snprintf((char *)end, sizeof(buff) - (end - buff),
|
||||
"%d,", i);
|
||||
}
|
||||
}
|
||||
if (end != buff)
|
||||
end--; // Remove last ','
|
||||
*(char *)end= 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif /* HAVE_REPLICATION */
|
||||
case SHOW_OPENTABLES:
|
||||
end= int10_to_str((long) cached_tables(), buff, 10);
|
||||
|
@ -184,7 +184,7 @@ enum SHOW_TYPE
|
||||
#endif /* HAVE_OPENSSL */
|
||||
SHOW_RPL_STATUS, SHOW_SLAVE_RUNNING, SHOW_SLAVE_RETRIED_TRANS,
|
||||
SHOW_KEY_CACHE_LONG, SHOW_KEY_CACHE_CONST_LONG,
|
||||
SHOW_LONG_STATUS, SHOW_LONG_CONST_STATUS
|
||||
SHOW_LONG_STATUS, SHOW_LONG_CONST_STATUS, SHOW_SLAVE_SKIP_ERRORS
|
||||
};
|
||||
|
||||
enum SHOW_COMP_OPTION { SHOW_OPTION_YES, SHOW_OPTION_NO, SHOW_OPTION_DISABLED};
|
||||
|
Reference in New Issue
Block a user