Commit 686d0ba1 authored by unknown's avatar unknown
Browse files

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
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
--slave-skip-errors=3,100,137,643,1752
+8 −0
Original line number Diff line number Diff line
@@ -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';
+4 −0
Original line number Diff line number Diff line
@@ -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},
+27 −0
Original line number Diff line number Diff line
@@ -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);
Loading