Commit 686d0ba1 authored by unknown's avatar unknown

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
parent bd58e3e5
...@@ -6,3 +6,12 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; ...@@ -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
--slave-skip-errors=3,100,137,643,1752
...@@ -2,3 +2,11 @@ source include/master-slave.inc; ...@@ -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[]= { ...@@ -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, ...@@ -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 ...@@ -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};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment