mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +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;
|
start slave;
|
||||||
set global slave_net_timeout=100;
|
set global slave_net_timeout=100;
|
||||||
set global sql_slave_skip_counter=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 slave_net_timeout=100;
|
||||||
set global sql_slave_skip_counter=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_networking", (char*) &opt_disable_networking, SHOW_BOOL},
|
||||||
{"skip_show_database", (char*) &opt_skip_show_db, SHOW_BOOL},
|
{"skip_show_database", (char*) &opt_skip_show_db, SHOW_BOOL},
|
||||||
#ifdef HAVE_REPLICATION
|
#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},
|
{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},
|
{sys_slave_trans_retries.name,(char*) &sys_slave_trans_retries, SHOW_SYS},
|
||||||
#endif
|
#endif
|
||||||
{sys_slow_launch_time.name, (char*) &sys_slow_launch_time, SHOW_SYS},
|
{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);
|
pthread_mutex_unlock(&LOCK_active_mi);
|
||||||
break;
|
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 */
|
#endif /* HAVE_REPLICATION */
|
||||||
case SHOW_OPENTABLES:
|
case SHOW_OPENTABLES:
|
||||||
end= int10_to_str((long) cached_tables(), buff, 10);
|
end= int10_to_str((long) cached_tables(), buff, 10);
|
||||||
|
@ -184,7 +184,7 @@ enum SHOW_TYPE
|
|||||||
#endif /* HAVE_OPENSSL */
|
#endif /* HAVE_OPENSSL */
|
||||||
SHOW_RPL_STATUS, SHOW_SLAVE_RUNNING, SHOW_SLAVE_RETRIED_TRANS,
|
SHOW_RPL_STATUS, SHOW_SLAVE_RUNNING, SHOW_SLAVE_RETRIED_TRANS,
|
||||||
SHOW_KEY_CACHE_LONG, SHOW_KEY_CACHE_CONST_LONG,
|
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};
|
enum SHOW_COMP_OPTION { SHOW_OPTION_YES, SHOW_OPTION_NO, SHOW_OPTION_DISABLED};
|
||||||
|
Reference in New Issue
Block a user