From 2a798cef789e33da9e7df092f4b80c5526b8cdc0 Mon Sep 17 00:00:00 2001
From: Nirbhay Choubey <nirbhay@mariadb.com>
Date: Fri, 20 Feb 2015 17:45:18 -0500
Subject: [PATCH] MDEV-7615: Remove --galera-sst-mode option from mysqldump

Removed 'galera-sst-mode' option from mysqldump as its no longer needed.
---
 client/mysqldump.c                  | 49 -----------------------------
 mysql-test/r/galera_sst_mode.result | 24 --------------
 mysql-test/t/galera_sst_mode.test   | 43 -------------------------
 3 files changed, 116 deletions(-)
 delete mode 100644 mysql-test/r/galera_sst_mode.result
 delete mode 100644 mysql-test/t/galera_sst_mode.test

diff --git a/client/mysqldump.c b/client/mysqldump.c
index 3adbe87a8bb..e1181985499 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -114,7 +114,6 @@ static my_bool  verbose= 0, opt_no_create_info= 0, opt_no_data= 0,
                 opt_slave_apply= 0, 
                 opt_include_master_host_port= 0,
                 opt_events= 0, opt_comments_used= 0,
-                opt_galera_sst_mode= 0,
                 opt_alltspcs=0, opt_notspcs= 0;
 static my_bool insert_pat_inited= 0, debug_info_flag= 0, debug_check_flag= 0;
 static ulong opt_max_allowed_packet, opt_net_buffer_length;
@@ -351,14 +350,6 @@ static struct my_option my_long_options[] =
   {"force", 'f', "Continue even if we get an SQL error.",
    &ignore_errors, &ignore_errors, 0, GET_BOOL, NO_ARG,
    0, 0, 0, 0, 0, 0},
-  {"galera-sst-mode", OPT_GALERA_SST_MODE,
-   "This mode should normally be used in mysqldump snapshot state transfer "
-   "(SST) in a Galera cluster. If enabled, mysqldump additionally dumps "
-   "commands to turn off binary logging and SET global gtid_binlog_state "
-   "with the current value. Note: RESET MASTER needs to be executed on the "
-   "server receiving the resulting dump.",
-   &opt_galera_sst_mode, &opt_galera_sst_mode, 0, GET_BOOL, NO_ARG, 0, 0, 0,
-   0, 0, 0},
   {"gtid", OPT_USE_GTID, "Used together with --master-data=1 or --dump-slave=1."
    "When enabled, the output from those options will set the GTID position "
    "instead of the binlog file and offset; the file/offset will appear only as "
@@ -4903,43 +4894,6 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
 } /* dump_selected_tables */
 
 
-/**
-  Add the following statements to the generated dump:
-  a) SET @@session.sql_log_bin=OFF;
-  b) SET @@global.gtid_binlog_state='[N-N-N,...]'
-*/
-static int wsrep_set_sst_cmds(MYSQL *mysql) {
-  MYSQL_RES *res;
-  MYSQL_ROW row;
-
-  if (mysql_get_server_version(mysql) < 100005) {
-    /* @@gtid_binlog_state does not exist. */
-    return 0;
-  }
-
-  if (mysql_query_with_error_report(mysql, &res, "SELECT "
-                                    "@@global.gtid_binlog_state"))
-    return 1;
-
-  if (mysql_num_rows(res) != 1)
-    /* No entry for @@global.gtid_binlog_state, nothing needs to be done. */
-    return 0;
-
-  if (!(row= mysql_fetch_row(res)) || !(char *)row[0])
-    return 1;
-
-  /* first, add a command to turn off binary logging, */
-  fprintf(md_result_file, "SET @@session.sql_log_bin=OFF;\n");
-
-  /* followed by, a command to set global gtid_binlog_state. */
-  fprintf(md_result_file, "SET @@global.gtid_binlog_state='%s';\n",
-          (char*)row[0]);
-
-  mysql_free_result(res);
-  return 0;
-}
-
-
 static int do_show_master_status(MYSQL *mysql_con, int consistent_binlog_pos,
                                  int have_mariadb_gtid, int use_gtid)
 {
@@ -5936,9 +5890,6 @@ int main(int argc, char **argv)
   if (opt_slave_apply && add_stop_slave())
     goto err;
 
-  if (opt_galera_sst_mode && wsrep_set_sst_cmds(mysql))
-    goto err;
-
   if (opt_master_data && do_show_master_status(mysql, consistent_binlog_pos,
                                                have_mariadb_gtid, opt_use_gtid))
     goto err;
diff --git a/mysql-test/r/galera_sst_mode.result b/mysql-test/r/galera_sst_mode.result
deleted file mode 100644
index ea25b322449..00000000000
--- a/mysql-test/r/galera_sst_mode.result
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Test for mysqldump's galera-sst-mode option
-#
-#
-# MDEV-6490: mysqldump unknown option --galera-sst-mode
-#
-CREATE DATABASE bug6490;
-USE bug6490;
-CREATE TABLE t1(c1 INT);
-INSERT INTO t1 values (1);
-INSERT INTO t1 values (2);
-# Save the current gtid_binlog_state.
-# Take a dump of bug6490 database
-DROP TABLE t1;
-# Load the dump
-RESET MASTER;
-SELECT * from t1;
-c1
-1
-2
-# Compare the two gtid_binlog_state's
-# Cleanup
-DROP DATABASE bug6490;
-# End of test
diff --git a/mysql-test/t/galera_sst_mode.test b/mysql-test/t/galera_sst_mode.test
deleted file mode 100644
index dd8f9531c9d..00000000000
--- a/mysql-test/t/galera_sst_mode.test
+++ /dev/null
@@ -1,43 +0,0 @@
-# Embedded server doesn't support external clients
---source include/not_embedded.inc
-# Binlog is required
---source include/have_log_bin.inc
-
---echo #
---echo # Test for mysqldump's galera-sst-mode option
---echo #
-
---echo #
---echo # MDEV-6490: mysqldump unknown option --galera-sst-mode
---echo #
-CREATE DATABASE bug6490;
-USE bug6490;
-CREATE TABLE t1(c1 INT);
-INSERT INTO t1 values (1);
-INSERT INTO t1 values (2);
-
---echo # Save the current gtid_binlog_state.
---let $before= `SELECT @@global.gtid_binlog_state`
-
---echo # Take a dump of bug6490 database
---exec $MYSQL_DUMP --galera-sst-mode bug6490 > $MYSQLTEST_VARDIR/tmp/bug6490.sql
-DROP TABLE t1;
-
---echo # Load the dump
-RESET MASTER;
---exec $MYSQL -uroot bug6490 < $MYSQLTEST_VARDIR/tmp/bug6490.sql
-
-SELECT * from t1;
-
---echo # Compare the two gtid_binlog_state's
---let $after= `SELECT @@global.gtid_binlog_state`
-if (`SELECT STRCMP($before, $after)`)
-{
-  --die ERROR: The two gtid_binlog_state's did not match.
-}
-
---echo # Cleanup
---remove_file $MYSQLTEST_VARDIR/tmp/bug6490.sql
-DROP DATABASE bug6490;
-
---echo # End of test