diff options
author | unknown <jimw@mysql.com> | 2005-05-07 06:55:47 -0700 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2005-05-07 06:55:47 -0700 |
commit | 686d0ba155c01b5ef792da6debd0e5471bff7366 (patch) | |
tree | 096fdf1c8f3d3d801e9684dd8a66b8721d73990c | |
parent | bd58e3e59cfa4dd03feb515b38858ba05820284c (diff) | |
download | mariadb-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.result | 9 | ||||
-rw-r--r-- | mysql-test/t/rpl_variables-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/rpl_variables.test | 8 | ||||
-rw-r--r-- | sql/set_var.cc | 4 | ||||
-rw-r--r-- | sql/sql_show.cc | 27 | ||||
-rw-r--r-- | sql/structs.h | 2 |
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}; |