summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-05-07 06:55:47 -0700
committerunknown <jimw@mysql.com>2005-05-07 06:55:47 -0700
commit686d0ba155c01b5ef792da6debd0e5471bff7366 (patch)
tree096fdf1c8f3d3d801e9684dd8a66b8721d73990c
parentbd58e3e59cfa4dd03feb515b38858ba05820284c (diff)
downloadmariadb-git-686d0ba155c01b5ef792da6debd0e5471bff7366.tar.gz
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
-rw-r--r--mysql-test/r/rpl_variables.result9
-rw-r--r--mysql-test/t/rpl_variables-master.opt1
-rw-r--r--mysql-test/t/rpl_variables.test8
-rw-r--r--sql/set_var.cc4
-rw-r--r--sql/sql_show.cc27
-rw-r--r--sql/structs.h2
6 files changed, 50 insertions, 1 deletions
diff --git a/mysql-test/r/rpl_variables.result b/mysql-test/r/rpl_variables.result
index 227d8ecfad9..b6da7f76a6d 100644
--- a/mysql-test/r/rpl_variables.result
+++ b/mysql-test/r/rpl_variables.result
@@ -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
diff --git a/mysql-test/t/rpl_variables-master.opt b/mysql-test/t/rpl_variables-master.opt
new file mode 100644
index 00000000000..a668c6bfbe8
--- /dev/null
+++ b/mysql-test/t/rpl_variables-master.opt
@@ -0,0 +1 @@
+--slave-skip-errors=3,100,137,643,1752
diff --git a/mysql-test/t/rpl_variables.test b/mysql-test/t/rpl_variables.test
index b332c006118..a4a6e69c845 100644
--- a/mysql-test/t/rpl_variables.test
+++ b/mysql-test/t/rpl_variables.test
@@ -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';
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 4add5d6b39b..146f64e3127 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -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},
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index ceb98740298..93445bedf98 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -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);
diff --git a/sql/structs.h b/sql/structs.h
index 7a70bfc0f4f..14c0100f5be 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -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};