From 27c09524eb8223f787e9d4322b3c6c939dbc767a Mon Sep 17 00:00:00 2001 From: Nirbhay Choubey Date: Tue, 4 Mar 2014 22:10:28 -0500 Subject: [PATCH] MDEV#5790 : SHOW GLOBAL STATUS LIKE does not show the correct list of variables when using "_" Fixed the type for offending "wsrep", wrongly set to SHOW_SIMPLE_FUNC. Added a test case. --- mysql-test/suite/wsrep/r/variables.result | 84 +++++++++++++++++++++++ mysql-test/suite/wsrep/t/variables.opt | 1 + mysql-test/suite/wsrep/t/variables.test | 21 ++++++ sql/mysqld.cc | 2 +- 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 mysql-test/suite/wsrep/r/variables.result create mode 100644 mysql-test/suite/wsrep/t/variables.opt create mode 100644 mysql-test/suite/wsrep/t/variables.test diff --git a/mysql-test/suite/wsrep/r/variables.result b/mysql-test/suite/wsrep/r/variables.result new file mode 100644 index 00000000000..5417906ff37 --- /dev/null +++ b/mysql-test/suite/wsrep/r/variables.result @@ -0,0 +1,84 @@ +# +# MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of +# variables when using "_" +# +CALL mtr.add_suppression("WSREP: Could not open saved state file for reading.*"); +SHOW VARIABLES LIKE 'wsrep%'; +Variable_name Value +wsrep_osu_method # +wsrep_auto_increment_control # +wsrep_causal_reads # +wsrep_certify_nonpk # +wsrep_cluster_address # +wsrep_cluster_name # +wsrep_convert_lock_to_trx # +wsrep_data_home_dir # +wsrep_dbug_option # +wsrep_debug # +wsrep_desync # +wsrep_drupal_282555_workaround # +wsrep_forced_binlog_format # +wsrep_load_data_splitting # +wsrep_log_conflicts # +wsrep_max_ws_rows # +wsrep_max_ws_size # +wsrep_mysql_replication_bundle # +wsrep_node_address # +wsrep_node_incoming_address # +wsrep_node_name # +wsrep_notify_cmd # +wsrep_on # +wsrep_provider # +wsrep_provider_options # +wsrep_recover # +wsrep_replicate_myisam # +wsrep_retry_autocommit # +wsrep_slave_threads # +wsrep_sst_auth # +wsrep_sst_donor # +wsrep_sst_donor_rejects_queries # +wsrep_sst_method # +wsrep_sst_receive_address # +wsrep_start_position # + +SHOW VARIABLES LIKE 'wsrep_%'; +Variable_name Value +wsrep_osu_method # +wsrep_auto_increment_control # +wsrep_causal_reads # +wsrep_certify_nonpk # +wsrep_cluster_address # +wsrep_cluster_name # +wsrep_convert_lock_to_trx # +wsrep_data_home_dir # +wsrep_dbug_option # +wsrep_debug # +wsrep_desync # +wsrep_drupal_282555_workaround # +wsrep_forced_binlog_format # +wsrep_load_data_splitting # +wsrep_log_conflicts # +wsrep_max_ws_rows # +wsrep_max_ws_size # +wsrep_mysql_replication_bundle # +wsrep_node_address # +wsrep_node_incoming_address # +wsrep_node_name # +wsrep_notify_cmd # +wsrep_on # +wsrep_provider # +wsrep_provider_options # +wsrep_recover # +wsrep_replicate_myisam # +wsrep_retry_autocommit # +wsrep_slave_threads # +wsrep_sst_auth # +wsrep_sst_donor # +wsrep_sst_donor_rejects_queries # +wsrep_sst_method # +wsrep_sst_receive_address # +wsrep_start_position # +# Should show nothing. +SHOW VARIABLES LIKE 'x'; +Variable_name Value +# End of test. diff --git a/mysql-test/suite/wsrep/t/variables.opt b/mysql-test/suite/wsrep/t/variables.opt new file mode 100644 index 00000000000..672ddd5e609 --- /dev/null +++ b/mysql-test/suite/wsrep/t/variables.opt @@ -0,0 +1 @@ +--binlog-format=row --wsrep-provider=/usr/lib/galera/libgalera_smm.so --wsrep-cluster-address=gcomm:// diff --git a/mysql-test/suite/wsrep/t/variables.test b/mysql-test/suite/wsrep/t/variables.test new file mode 100644 index 00000000000..637e0084e81 --- /dev/null +++ b/mysql-test/suite/wsrep/t/variables.test @@ -0,0 +1,21 @@ +--source include/have_wsrep.inc + +--echo # +--echo # MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of +--echo # variables when using "_" +--echo # + +CALL mtr.add_suppression("WSREP: Could not open saved state file for reading.*"); + +--replace_column 2 # +SHOW VARIABLES LIKE 'wsrep%'; + +--echo +--replace_column 2 # +SHOW VARIABLES LIKE 'wsrep_%'; + +--echo # Should show nothing. +SHOW VARIABLES LIKE 'x'; + +--echo # End of test. + diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 93c3942e05e..e486630f390 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -8691,7 +8691,7 @@ SHOW_VAR status_vars[]= { {"wsrep_provider_name", (char*) &wsrep_provider_name, SHOW_CHAR_PTR}, {"wsrep_provider_version", (char*) &wsrep_provider_version, SHOW_CHAR_PTR}, {"wsrep_provider_vendor", (char*) &wsrep_provider_vendor, SHOW_CHAR_PTR}, - {"wsrep", (char*) &wsrep_show_status, SHOW_SIMPLE_FUNC}, + {"wsrep", (char*) &wsrep_show_status, SHOW_FUNC}, #endif {NullS, NullS, SHOW_LONG} };