List:Commits« Previous MessageNext Message »
From:Mats Kindahl Date:June 13 2007 7:04am
Subject:bk commit into 5.1 tree (mats:1.2552)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of mats. When mats does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-06-13 09:03:56+02:00, mats@stripped +84 -0
  Cset exclude: mats@stripped|ChangeSet|20070611201539|50600
  Cset exclude: mats@stripped|ChangeSet|20070609051937|17444

  mysql-test/extra/rpl_tests/rpl_log.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/extra/rpl_tests/rpl_max_relay_size.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/extra/rpl_tests/rpl_reset_slave.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/include/show_slave_status.inc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/binlog_row_mix_innodb_myisam.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_000015.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_change_master.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_deadlock_innodb.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_empty_master_crash.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_extraCol_innodb.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_extraCol_myisam.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_flushlog_loop.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_incident.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_known_bugs_detection.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_loaddata.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_loaddata_fatal.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_log_pos.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ndb_basic.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ndb_circular.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ndb_extraCol.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ndb_idempotent.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ndb_log.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ndb_sync.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_rbr_to_sbr.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_redirect.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_replicate_do.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_rotate_logs.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_inexist_tbl.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_log.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_log_innodb.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_max_relay_size.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_reset_slave.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_tabledefs_2myisam.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_tabledefs_3innodb.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_row_until.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_server_id1.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_server_id2.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_slave_skip.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_slave_status.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ssl.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_ssl1.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_stm_log.result@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_stm_max_relay_size.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_stm_reset_slave.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/r/rpl_stm_until.result@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/binlog_row_mix_innodb_myisam.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_000015.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_change_master.test@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_empty_master_crash.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_flushlog_loop.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_loaddata_fatal-slave.opt@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_loaddata_fatal.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_log_pos.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_ndb_bank.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_ndb_basic.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_ndb_idempotent.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_ndb_sync.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_rbr_to_sbr.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_redirect.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_replicate_do.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_rotate_logs.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_row_inexist_tbl.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_row_until.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_server_id1.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_server_id2.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_slave_status.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_ssl.test@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_ssl1.test@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  mysql-test/t/rpl_stm_until.test@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  sql/Makefile.am@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  sql/log_event.cc@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_mi.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_mi.h@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_record.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_record_old.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_reporting.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_reporting.h@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_rli.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_rli.h@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/rpl_utility.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/share/errmsg.txt@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  sql/slave.cc@stripped, 2007-06-13 09:03:53+02:00, mats@stripped +0 -0
    Exclude

  sql/slave.h@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

  sql/sql_repl.cc@stripped, 2007-06-13 09:03:54+02:00, mats@stripped +0 -0
    Exclude

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	mats
# Host:	kindahl-laptop.dnsalias.net
# Root:	/home/bk/b24954-mysql-5.1-new-rpl

--- 1.187/sql/Makefile.am	2007-06-13 09:04:08 +02:00
+++ 1.188/sql/Makefile.am	2007-06-13 09:04:08 +02:00
@@ -53,7 +53,6 @@
 			ha_ndbcluster_binlog.h ha_ndbcluster_tables.h \
 			ha_partition.h rpl_constants.h \
 			opt_range.h protocol.h rpl_tblmap.h rpl_utility.h \
-			rpl_reporting.h \
 			log.h sql_show.h rpl_rli.h rpl_mi.h \
 			sql_select.h structs.h table.h sql_udf.h hash_filo.h \
 			lex.h lex_symbol.h sql_acl.h sql_crypt.h  \
@@ -101,7 +100,6 @@
 			sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \
 			slave.cc sql_repl.cc rpl_filter.cc rpl_tblmap.cc \
 			rpl_utility.cc rpl_injector.cc rpl_rli.cc rpl_mi.cc \
-			rpl_reporting.cc \
                         sql_union.cc sql_derived.cc \
 			client.c sql_client.cc mini_client_errors.c pack.c\
 			stacktrace.c repl_failsafe.h repl_failsafe.cc \

--- 1.284/sql/log_event.cc	2007-06-13 09:04:08 +02:00
+++ 1.285/sql/log_event.cc	2007-06-13 09:04:08 +02:00
@@ -146,11 +146,12 @@
 
 #if defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT)
 
-static void clear_all_errors(THD *thd, RELAY_LOG_INFO *rli)
+static void clear_all_errors(THD *thd, struct st_relay_log_info *rli)
 {
   thd->query_error = 0;
   thd->clear_error();
-  rli->clear_error();
+  *rli->last_slave_error = 0;
+  rli->last_slave_errno = 0;
 }
 
 
@@ -2089,7 +2090,7 @@
         clear_all_errors(thd, const_cast<RELAY_LOG_INFO*>(rli)); /* Can ignore query */
       else
       {
-        rli->report(ERROR_LEVEL, expected_error, 
+        slave_print_msg(ERROR_LEVEL, rli, expected_error, 
                           "\
 Query partially completed on the master (error on master: %d) \
 and was aborted. There is a chance that your master is inconsistent at this \
@@ -2118,7 +2119,7 @@
  	!ignored_error_code(actual_error) &&
  	!ignored_error_code(expected_error))
     {
-      rli->report(ERROR_LEVEL, 0,
+      slave_print_msg(ERROR_LEVEL, rli, 0,
                       "\
 Query caused different errors on master and slave.     \
 Error on master: '%s' (%d), Error on slave: '%s' (%d). \
@@ -2144,7 +2145,7 @@
     */
     else if (thd->query_error || thd->is_fatal_error)
     {
-      rli->report(ERROR_LEVEL, actual_error,
+      slave_print_msg(ERROR_LEVEL, rli, actual_error,
                       "Error '%s' on query. Default database: '%s'. Query: '%s'",
                       (actual_error ? thd->net.last_error :
                        "unexpected success or fatal error"),
@@ -2627,11 +2628,11 @@
   if (!artificial_event && created && thd->transaction.all.nht)
   {
     /* This is not an error (XA is safe), just an information */
-    rli->report(INFORMATION_LEVEL, 0,
-                "Rolling back unfinished transaction (no COMMIT "
-                "or ROLLBACK in relay log). A probable cause is that "
-                "the master died while writing the transaction to "
-                "its binary log, thus rolled back too."); 
+    slave_print_msg(INFORMATION_LEVEL, rli, 0,
+                    "Rolling back unfinished transaction (no COMMIT "
+                    "or ROLLBACK in relay log). A probable cause is that "
+                    "the master died while writing the transaction to "
+                    "its binary log, thus rolled back too."); 
     const_cast<RELAY_LOG_INFO*>(rli)->cleanup_context(thd, 1);
   }
 #endif
@@ -3449,10 +3450,6 @@
   thd->query_length= 0;
   VOID(pthread_mutex_unlock(&LOCK_thread_count));
   close_thread_tables(thd);
-
-  DBUG_EXECUTE_IF("LOAD_DATA_INFILE_has_fatal_error",
-                  thd->query_error= 0; thd->is_fatal_error= 1;);
-
   if (thd->query_error)
   {
     /* this err/sql_errno code is copy-paste from net_send_error() */
@@ -3465,25 +3462,19 @@
       sql_errno=ER_UNKNOWN_ERROR;
       err=ER(sql_errno);       
     }
-    rli->report(ERROR_LEVEL, sql_errno,"\
+    slave_print_msg(ERROR_LEVEL, rli, sql_errno,"\
 Error '%s' running LOAD DATA INFILE on table '%s'. Default database: '%s'",
                     err, (char*)table_name, print_slave_db_safe(remember_db));
     free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC));
     return 1;
   }
   free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC));
-
+	    
   if (thd->is_fatal_error)
   {
-    char buf[256];
-    my_snprintf(buf, sizeof(buf),
-                "Running LOAD DATA INFILE on table '%-.64s'."
-                " Default database: '%-.64s'",
-                (char*)table_name,
-                print_slave_db_safe(remember_db));
-
-    rli->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR,
-                ER(ER_SLAVE_FATAL_ERROR), buf);
+    slave_print_msg(ERROR_LEVEL, rli, ER_UNKNOWN_ERROR, "\
+Fatal error running LOAD DATA INFILE on table '%s'. Default database: '%s'",
+                    (char*)table_name, print_slave_db_safe(remember_db));
     return 1;
   }
 
@@ -4843,9 +4834,8 @@
       init_io_cache(&file, fd, IO_SIZE, WRITE_CACHE, (my_off_t)0, 0,
 		    MYF(MY_WME|MY_NABP)))
   {
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in Create_file event: could not open file '%s'",
-                fname_buf);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno, "Error in Create_file event: "
+                    "could not open file '%s'", fname_buf);
     goto err;
   }
   
@@ -4855,9 +4845,9 @@
   if (write_base(&file))
   {
     strmov(ext, ".info"); // to have it right in the error message
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in Create_file event: could not write to file '%s'",
-                fname_buf);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno,
+                    "Error in Create_file event: could not write to file '%s'",
+                    fname_buf);
     goto err;
   }
   end_io_cache(&file);
@@ -4869,16 +4859,14 @@
 		     O_WRONLY | O_BINARY | O_EXCL | O_NOFOLLOW,
 		     MYF(MY_WME))) < 0)
   {
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in Create_file event: could not open file '%s'",
-                fname_buf);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno, "Error in Create_file event: "
+                    "could not open file '%s'", fname_buf);
     goto err;
   }
   if (my_write(fd, (uchar*) block, block_len, MYF(MY_WME+MY_NABP)))
   {
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in Create_file event: write to '%s' failed",
-                fname_buf);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno, "Error in Create_file event: "
+                    "write to '%s' failed", fname_buf);
     goto err;
   }
   error=0;					// Everything is ok
@@ -5017,25 +5005,25 @@
 		       O_WRONLY | O_BINARY | O_EXCL | O_NOFOLLOW,
 		       MYF(MY_WME))) < 0)
     {
-      rli->report(ERROR_LEVEL, my_errno,
-                  "Error in %s event: could not create file '%s'",
-                  get_type_str(), fname);
+      slave_print_msg(ERROR_LEVEL, rli, my_errno,
+                      "Error in %s event: could not create file '%s'",
+                      get_type_str(), fname);
       goto err;
     }
   }
   else if ((fd = my_open(fname, O_WRONLY | O_APPEND | O_BINARY | O_NOFOLLOW,
                          MYF(MY_WME))) < 0)
   {
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in %s event: could not open file '%s'",
-                get_type_str(), fname);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno,
+                    "Error in %s event: could not open file '%s'",
+                    get_type_str(), fname);
     goto err;
   }
   if (my_write(fd, (uchar*) block, block_len, MYF(MY_WME+MY_NABP)))
   {
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in %s event: write to '%s' failed",
-                get_type_str(), fname);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno,
+                    "Error in %s event: write to '%s' failed",
+                    get_type_str(), fname);
     goto err;
   }
   error=0;
@@ -5243,9 +5231,8 @@
       init_io_cache(&file, fd, IO_SIZE, READ_CACHE, (my_off_t)0, 0,
 		    MYF(MY_WME|MY_NABP)))
   {
-    rli->report(ERROR_LEVEL, my_errno,
-                "Error in Exec_load event: could not open file '%s'",
-                fname);
+    slave_print_msg(ERROR_LEVEL, rli, my_errno, "Error in Exec_load event: "
+                    "could not open file '%s'", fname);
     goto err;
   }
   if (!(lev = (Load_log_event*)Log_event::read_log_event(&file,
@@ -5253,7 +5240,7 @@
                                                          rli->relay_log.description_event_for_exec)) ||
       lev->get_type_code() != NEW_LOAD_EVENT)
   {
-    rli->report(ERROR_LEVEL, 0, "Error in Exec_load event: "
+    slave_print_msg(ERROR_LEVEL, rli, 0, "Error in Exec_load event: "
                     "file '%s' appears corrupted", fname);
     goto err;
   }
@@ -5278,11 +5265,13 @@
       don't want to overwrite it with the filename.
       What we want instead is add the filename to the current error message.
     */
-    char *tmp= my_strdup(rli->last_error().message, MYF(MY_WME));
+    char *tmp= my_strdup(rli->last_slave_error,MYF(MY_WME));
     if (tmp)
     {
-      rli->report(ERROR_LEVEL, rli->last_error().number,
-                  "%s. Failed executing load from '%s'", tmp, fname);
+      slave_print_msg(ERROR_LEVEL, rli,
+                      rli->last_slave_errno, /* ok to re-use error code */
+                      "%s. Failed executing load from '%s'", 
+                      tmp, fname);
       my_free(tmp,MYF(0));
     }
     goto err;
@@ -5487,14 +5476,9 @@
 
   buf= (char*) my_malloc(q_len + 1 - (fn_pos_end - fn_pos_start) +
                          (FN_REFLEN + 10) + 10 + 8 + 5, MYF(MY_WME));
-
-  DBUG_EXECUTE_IF("LOAD_DATA_INFILE_has_fatal_error", buf= NULL;);
-
   /* Replace filename and LOCAL keyword in query before executing it */
-  if (buf == NULL)
   {
-    rli->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR,
-                ER(ER_SLAVE_FATAL_ERROR), "Not enough memory");
+    slave_print_msg(ERROR_LEVEL, rli, my_errno, "Not enough memory");
     return 1;
   }
 
@@ -5756,7 +5740,7 @@
 
   size_t const data_size= event_len - (ptr_rows_data - (const uchar *) buf);
   DBUG_PRINT("info",("m_table_id: %lu  m_flags: %d  m_width: %lu  data_size: %lu",
-                     m_table_id, m_flags, m_width, (ulong) data_size));
+                     m_table_id, m_flags, m_width, data_size));
 
   m_rows_buf= (uchar*) my_malloc(data_size, MYF(MY_WME));
   if (likely((bool)m_rows_buf))
@@ -5968,10 +5952,10 @@
             simplifications (we don't honour --slave-skip-errors)
           */
           uint actual_error= thd->net.last_errno;
-          rli->report(ERROR_LEVEL, actual_error,
-                      "Error '%s' on reopening tables",
-                      (actual_error ? thd->net.last_error :
-                       "unexpected success or fatal error"));
+          slave_print_msg(ERROR_LEVEL, rli, actual_error,
+                          "Error '%s' on reopening tables",
+                          (actual_error ? thd->net.last_error :
+                           "unexpected success or fatal error"));
           thd->query_error= 1;
         }
         const_cast<RELAY_LOG_INFO*>(rli)->clear_tables_to_lock();
@@ -6103,9 +6087,9 @@
 	break;
 
       default:
+	slave_print_msg(ERROR_LEVEL, rli, thd->net.last_errno,
+                        "Error in %s event: row application failed",
 	rli->report(ERROR_LEVEL, thd->net.last_errno,
-                    "Error in %s event: row application failed",
-                    get_type_str());
 	thd->query_error= 1;
 	break;
       }
@@ -6124,13 +6108,14 @@
 
   if (error)
   {                     /* error has occured during the transaction */
+    slave_print_msg(ERROR_LEVEL, rli, thd->net.last_errno,
+                    "Error in %s event: error during transaction execution "
+                    "on table %s.%s",
+                    get_type_str(), table->s->db.str, 
+                    table->s->table_name.str);
     rli->report(ERROR_LEVEL, thd->net.last_errno,
-                "Error in %s event: error during transaction execution "
-                "on table %s.%s",
-                get_type_str(), table->s->db.str,
-                table->s->table_name.str);
 
-    /*
+     /*
       If one day we honour --skip-slave-errors in row-based replication, and
       the error should be skipped, then we would clear mappings, rollback,
       close tables, but the slave SQL thread would not stop and then may
@@ -6262,11 +6247,7 @@
       thd->clear_error();
     }
     else
-      rli->report(ERROR_LEVEL, error,
-                  "Error in %s event: commit of row events failed, "
-                  "table `%s`.`%s`",
-                  get_type_str(), m_table->s->db.str,
-                  m_table->s->table_name.str);
+      slave_print_msg(ERROR_LEVEL, rli, error,
   }
   else
   {
@@ -6484,8 +6465,8 @@
   m_colcnt= net_field_length(&ptr_after_colcnt);
 
   DBUG_PRINT("info",("m_dblen: %lu  off: %ld  m_tbllen: %lu  off: %ld  m_colcnt: %lu  off: %ld",
-                     (ulong) m_dblen, (long) (ptr_dblen-(const uchar*)vpart), 
-                     (ulong) m_tbllen, (long) (ptr_tbllen-(const uchar*)vpart),
+                     m_dblen, (long) (ptr_dblen-(const uchar*)vpart), 
+                     m_tbllen, (long) (ptr_tbllen-(const uchar*)vpart),
                      m_colcnt, (long) (ptr_colcnt-(const uchar*)vpart)));
 
   /* Allocate mem for all fields in one go. If fails, catched in is_valid() */
@@ -6612,11 +6593,11 @@
           simplifications (we don't honour --slave-skip-errors)
         */
         uint actual_error= thd->net.last_errno;
-        rli->report(ERROR_LEVEL, actual_error,
-                    "Error '%s' on opening table `%s`.`%s`",
-                    (actual_error ? thd->net.last_error :
-                     "unexpected success or fatal error"),
-                    table_list->db, table_list->table_name);
+        slave_print_msg(ERROR_LEVEL, rli, actual_error,
+                        "Error '%s' on opening table `%s`.`%s`",
+                        (actual_error ? thd->net.last_error :
+                         "unexpected success or fatal error"),
+                        table_list->db, table_list->table_name);
         thd->query_error= 1;
       }
       goto err;
@@ -6873,14 +6854,11 @@
   DBUG_ASSERT(table != NULL);
   DBUG_ASSERT(row_start && row_end);
 
-  if (int error= unpack_row(rli, table, m_width, row_start, &m_cols, row_end,
-                            &m_master_reclength, table->write_set, WRITE_ROWS_EVENT))
-  {
-    thd->net.last_errno= error;
-    return error;
-  }
+  int error;
+  error= unpack_row(rli, table, m_width, row_start, &m_cols, row_end,
+                    &m_master_reclength, table->write_set, WRITE_ROWS_EVENT);
   bitmap_copy(table->read_set, table->write_set);
-  return 0;
+  return error;
 }
 
 /*
@@ -7588,6 +7566,7 @@
                                           uchar const *const row_start,
                                           uchar const **const row_end)
 {
+  int error;
   DBUG_ASSERT(row_start && row_end);
   /*
     This assertion actually checks that there is at least as many
@@ -7595,13 +7574,8 @@
   */
   DBUG_ASSERT(table->s->fields >= m_width);
 
-  if (int error= unpack_row(rli, table, m_width, row_start, &m_cols, row_end,
-                            &m_master_reclength, table->read_set, DELETE_ROWS_EVENT))
-  {
-    thd->net.last_errno= error;
-    return error;
-  }
-
+  error= unpack_row(rli, table, m_width, row_start, &m_cols, row_end,
+                    &m_master_reclength, table->read_set, DELETE_ROWS_EVENT);
   /*
     If we will access rows using the random access method, m_key will
     be set to NULL, so we do not need to make a key copy in that case.
@@ -7613,7 +7587,7 @@
     key_copy(m_key, table->record[0], key_info, 0);
   }
 
-  return 0;
+  return error;
 }
 
 int Delete_rows_log_event::do_exec_row(TABLE *table)
@@ -7782,23 +7756,13 @@
   */
 
   /* record[0] is the before image for the update */
-  if ((error= unpack_row(rli, table, m_width, row_start, &m_cols, row_end,
-                         &m_master_reclength, table->read_set, UPDATE_ROWS_EVENT)))
-  {
-    thd->net.last_errno= error;
-    return error;
-  }
-
+  error= unpack_row(rli, table, m_width, row_start, &m_cols, row_end,
+                    &m_master_reclength, table->read_set, UPDATE_ROWS_EVENT);
   store_record(table, record[1]);
   uchar const *next_start = *row_end;
   /* m_after_image is the after image for the update */
-  if ((error= unpack_row(rli, table, m_width, next_start, &m_cols_ai, row_end,
-                         &m_master_reclength, table->write_set, UPDATE_ROWS_EVENT)))
-  {
-    thd->net.last_errno= error;
-    return error;
-  }
-
+  error= unpack_row(rli, table, m_width, next_start, &m_cols_ai, row_end,
+                    &m_master_reclength, table->write_set, UPDATE_ROWS_EVENT);
   bmove_align(m_after_image, table->record[0], table->s->reclength);
   restore_record(table, record[1]);
 
@@ -7953,10 +7917,10 @@
 Incident_log_event::do_apply_event(RELAY_LOG_INFO const *rli)
 {
   DBUG_ENTER("Incident_log_event::do_apply_event");
-  rli->report(ERROR_LEVEL, ER_SLAVE_INCIDENT,
-              ER(ER_SLAVE_INCIDENT),
-              description(),
-              m_message.length > 0 ? m_message.str : "<none>");
+  slave_print_msg(ERROR_LEVEL, rli, ER_SLAVE_INCIDENT,
+                  ER(ER_SLAVE_INCIDENT),
+                  description(),
+                  m_message.length > 0 ? m_message.str : "<none>");
   DBUG_RETURN(1);
 }
 #endif

--- 1.312/sql/slave.cc	2007-06-13 09:04:08 +02:00
+++ 1.313/sql/slave.cc	2007-06-13 09:04:08 +02:00
@@ -529,13 +529,13 @@
                         "it some grace period"));
     if (difftime(time(0), rli->last_event_start_time) > 60)
     {
-      rli->report(ERROR_LEVEL, 0,
-                  "SQL thread had to stop in an unsafe situation, in "
-                  "the middle of applying updates to a "
-                  "non-transactional table without any primary key. "
-                  "There is a risk of duplicate updates when the slave "
-                  "SQL thread is restarted. Please check your tables' "
-                  "contents after restart.");
+      slave_print_msg(ERROR_LEVEL, rli, 0,
+                      "SQL thread had to stop in an unsafe situation, in "
+                      "the middle of applying updates to a "
+                      "non-transactional table without any primary key. "
+                      "There is a risk of duplicate updates when the slave "
+                      "SQL thread is restarted. Please check your tables' "
+                      "contents after restart.");
       DBUG_RETURN(1);
     }
   }
@@ -544,6 +544,70 @@
 
 
 /*
+  Writes a message to stderr, and if it's an error message, to
+  rli->last_slave_error and rli->last_slave_errno (which will be displayed by
+  SHOW SLAVE STATUS).
+
+  SYNOPSIS
+    slave_print_msg()
+    level       The severity level
+    rli
+    err_code    The error code
+    msg         The message (usually related to the error code, but can
+                contain more information).
+    ...         (this is printf-like format, with % symbols in msg)
+
+  RETURN VALUES
+    void
+*/
+
+void slave_print_msg(enum loglevel level, RELAY_LOG_INFO const *rli,
+                     int err_code, const char* msg, ...)
+{
+  void (*report_function)(const char *, ...);
+  char buff[MAX_SLAVE_ERRMSG], *pbuff= buff;
+  uint pbuffsize= sizeof(buff);
+  va_list args;
+  DBUG_ENTER("slave_print_msg");
+
+  va_start(args,msg);
+  switch (level)
+  {
+  case ERROR_LEVEL:
+    /*
+      This my_error call only has effect in client threads.
+      Slave threads do nothing in my_error().
+    */
+    my_error(ER_UNKNOWN_ERROR, MYF(0), msg);
+    /*
+      It's an error, it must be reported in Last_error and Last_errno in SHOW
+      SLAVE STATUS.
+    */
+    pbuff= const_cast<RELAY_LOG_INFO*>(rli)->last_slave_error;
+    pbuffsize= sizeof(rli->last_slave_error);
+    const_cast<RELAY_LOG_INFO*>(rli)->last_slave_errno = err_code;
+    report_function= sql_print_error;
+    break;
+  case WARNING_LEVEL:
+    report_function= sql_print_warning;
+    break;
+  case INFORMATION_LEVEL:
+    report_function= sql_print_information;
+    break;
+  default:
+    DBUG_ASSERT(0); // should not come here
+    DBUG_VOID_RETURN; // don't crash production builds, just do nothing
+  }
+  my_vsnprintf(pbuff, pbuffsize, msg, args);
+  /* If the msg string ends with '.', do not add a ',' it would be ugly */
+  if (pbuff[0] && (*(strend(pbuff)-1) == '.'))
+    (*report_function)("Slave: %s  Error_code: %d", pbuff, err_code);
+  else
+    (*report_function)("Slave: %s. Error_code: %d", pbuff, err_code);
+  DBUG_VOID_RETURN;
+}
+
+/*
   skip_load_data_infile()
 
   NOTES
@@ -711,9 +775,7 @@
   /* as we are here, we tried to allocate the event */
   if (!mi->rli.relay_log.description_event_for_queue)
   {
-    mi->report(ERROR_LEVEL, ER_SLAVE_CREATE_EVENT_FAILURE,
-               ER(ER_SLAVE_CREATE_EVENT_FAILURE),
-               "default Format_description_log_event");
+    sql_print_error("Slave I/O thread failed to create a default Format_description_log_event");
     DBUG_RETURN(1);
   }
 
@@ -1076,21 +1138,18 @@
     {
       ev->server_id= 0; // don't be ignored by slave SQL thread
       if (unlikely(rli->relay_log.append(ev)))
-        mi->report(ERROR_LEVEL, ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
-                   ER(ER_SLAVE_RELAY_LOG_WRITE_FAILURE),
-                   "failed to write a Rotate event"
-                   " to the relay log, SHOW SLAVE STATUS may be"
-                   " inaccurate");
+        sql_print_error("Slave I/O thread failed to write a Rotate event"
+                        " to the relay log, "
+                        "SHOW SLAVE STATUS may be inaccurate");
       rli->relay_log.harvest_bytes_written(&rli->log_space_total);
       if (flush_master_info(mi, 1))
         sql_print_error("Failed to flush master info file");
       delete ev;
     }
     else
-      mi->report(ERROR_LEVEL, ER_SLAVE_CREATE_EVENT_FAILURE,
-                 ER(ER_SLAVE_CREATE_EVENT_FAILURE),
-                 "Rotate_event (out of memory?),"
-                 " SHOW SLAVE STATUS may be inaccurate");
+      sql_print_error("Slave I/O thread failed to create a Rotate event"
+                      " (out of memory?), "
+                      "SHOW SLAVE STATUS may be inaccurate");
   }
   else
     pthread_mutex_unlock(log_lock);
@@ -1098,7 +1157,7 @@
 }
 
 
-int register_slave_on_master(MYSQL* mysql, MASTER_INFO *mi)
+int register_slave_on_master(MYSQL* mysql)
 {
   uchar buf[1024], *pos= buf;
   uint report_host_len, report_user_len=0, report_password_len=0;
@@ -1127,11 +1186,9 @@
 
   if (simple_command(mysql, COM_REGISTER_SLAVE, buf, (size_t) (pos- buf), 0))
   {
-    char buf[256];
-    my_snprintf(buf, sizeof(buf),
-                "%s (Errno: %d)", mysql_error(mysql), mysql_errno(mysql));
-    mi->report(ERROR_LEVEL, ER_SLAVE_MASTER_COM_FAILURE,
-               ER(ER_SLAVE_MASTER_COM_FAILURE), "COM_REGISTER_SLAVE", buf);
+    sql_print_error("Error on COM_REGISTER_SLAVE: %d '%s'",
+                    mysql_errno(mysql),
+                    mysql_error(mysql));
     DBUG_RETURN(1);
   }
   DBUG_RETURN(0);
@@ -1201,10 +1258,6 @@
                                            MYSQL_TYPE_LONGLONG));
   field_list.push_back(new Item_empty_string("Master_SSL_Verify_Server_Cert",
                                              3));
-  field_list.push_back(new Item_return_int("Last_IO_Errno", 4, MYSQL_TYPE_LONG));
-  field_list.push_back(new Item_empty_string("Last_IO_Error", 20));
-  field_list.push_back(new Item_return_int("Last_SQL_Errno", 4, MYSQL_TYPE_LONG));
-  field_list.push_back(new Item_empty_string("Last_SQL_Error", 20));
 
   if (protocol->send_fields(&field_list,
                             Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF))
@@ -1253,8 +1306,8 @@
     rpl_filter->get_wild_ignore_table(&tmp);
     protocol->store(&tmp);
 
-    protocol->store(mi->rli.last_error().number);
-    protocol->store(mi->rli.last_error().message, &my_charset_bin);
+    protocol->store(mi->rli.last_slave_errno);
+    protocol->store(mi->rli.last_slave_error, &my_charset_bin);
     protocol->store((uint32) mi->rli.slave_skip_counter);
     protocol->store((ulonglong) mi->rli.group_master_log_pos);
     protocol->store((ulonglong) mi->rli.log_space_total);
@@ -1315,15 +1368,6 @@
     }
     protocol->store(mi->ssl_verify_server_cert? "Yes":"No", &my_charset_bin);
 
-    // Last_IO_Errno
-    protocol->store(mi->last_error().number);
-    // Last_IO_Error
-    protocol->store(mi->last_error().message, &my_charset_bin);
-    // Last_SQL_Errno
-    protocol->store(mi->rli.last_error().number);
-    // Last_SQL_Error
-    protocol->store(mi->rli.last_error().message, &my_charset_bin);
-
     pthread_mutex_unlock(&mi->rli.data_lock);
     pthread_mutex_unlock(&mi->data_lock);
 
@@ -1780,13 +1824,13 @@
       */
       if (error)
       {
-        rli->report(ERROR_LEVEL, ER_UNKNOWN_ERROR,
-                    "It was not possible to update the positions"
-                    " of the relay log information: the slave may"
-                    " be in an inconsistent state."
-                    " Stopped in %s position %s",
-                    rli->group_relay_log_name,
-                    llstr(rli->group_relay_log_pos, buf));
+        slave_print_msg(ERROR_LEVEL, rli, ER_UNKNOWN_ERROR,
+                        "It was not possible to update the positions"
+                        " of the relay log information: the slave may"
+                        " be in an inconsistent state."
+                        " Stopped in %s position %s",
+                        rli->group_relay_log_name,
+                        llstr(rli->group_relay_log_pos, buf));
         DBUG_RETURN(1);
       }
     }
@@ -1865,8 +1909,7 @@
     DBUG_RETURN(exec_res);
   }
   pthread_mutex_unlock(&rli->data_lock);
-  rli->report(ERROR_LEVEL, ER_SLAVE_RELAY_LOG_READ_FAILURE,
-              ER(ER_SLAVE_RELAY_LOG_READ_FAILURE), "\
+  slave_print_msg(ERROR_LEVEL, rli, 0, "\
 Could not parse relay log event entry. The possible reasons are: the master's \
 binary log is corrupted (you can check this by running 'mysqlbinlog' on the \
 binary log), the slave's relay log is corrupted (you can check this by running \
@@ -1933,8 +1976,7 @@
 
   if (!(mi->mysql = mysql = mysql_init(NULL)))
   {
-    mi->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR,
-               ER(ER_SLAVE_FATAL_ERROR), "error in mysql_init()");
+    sql_print_error("Slave I/O thread: error in mysql_init()");
     goto err;
   }
 
@@ -2023,16 +2065,10 @@
       }
 
       thd->proc_info = "Reconnecting after a failed binlog dump request";
-      if (!suppress_warnings) {
-        char buf[256];
-        my_snprintf(buf, sizeof(buf),
-                    "failed dump request, reconnecting to try again,"
-                    " log '%s' at postion %s",
-                    IO_RPL_LOG_NAME,
-                    llstr(mi->master_log_pos,llbuff));
-        mi->report(WARNING_LEVEL, ER_SLAVE_MASTER_COM_FAILURE,
-                   ER(ER_SLAVE_MASTER_COM_FAILURE), "COM_BINLOG_DUMP", buf);
-      }
+      if (!suppress_warnings)
+        sql_print_error("Slave I/O thread: failed dump request, \
+reconnecting to try again, log '%s' at postion %s", IO_RPL_LOG_NAME,
+                        llstr(mi->master_log_pos,llbuff));
       if (safe_reconnect(thd, mysql, mi, suppress_warnings) ||
           io_slave_killed(thd,mi))
       {
@@ -2122,9 +2158,7 @@
       if (queue_event(mi,(const char*)mysql->net.read_pos + 1,
                       event_len))
       {
-        mi->report(ERROR_LEVEL, ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
-                   ER(ER_SLAVE_RELAY_LOG_WRITE_FAILURE),
-                   "could not queue event from master");
+        sql_print_error("Slave I/O thread could not queue event from master");
         goto err;
       }
       if (flush_master_info(mi, 1))
@@ -2293,7 +2327,7 @@
     now.
     But the master timestamp is reset by RESET SLAVE & CHANGE MASTER.
   */
-  rli->clear_error();
+  rli->clear_slave_error();
 
   //tell the I/O thread to take relay_log_space_limit into account from now on
   pthread_mutex_lock(&rli->log_space_lock);
@@ -2373,26 +2407,23 @@
       if (!sql_slave_killed(thd,rli))
       {
         /*
-          retrieve as much info as possible from the thd and, error
-          codes and warnings and print this to the error log as to
-          allow the user to locate the error
         */
-        uint32 const last_errno= rli->last_error().number;
-
         DBUG_PRINT("info", ("thd->net.last_errno=%d; rli->last_error.number=%d",
                             thd->net.last_errno, last_errno));
         if (thd->net.last_errno != 0)
         {
-          char const *const errmsg=
-            thd->net.last_error ? thd->net.last_error : "<no message>";
-          if (last_errno == 0)
+          if (rli->last_slave_errno == 0)
           {
-            rli->report(ERROR_LEVEL, thd->net.last_errno, errmsg);
+            slave_print_msg(ERROR_LEVEL, rli, thd->net.last_errno,
+                            thd->net.last_error ?
+                            thd->net.last_error : "<no message>");
           }
-          else if (last_errno != thd->net.last_errno)
+          else if (rli->last_slave_errno != (int) thd->net.last_errno)
           {
             sql_print_error("Slave (additional info): %s Error_code: %d",
-                            errmsg, thd->net.last_errno);
+                            thd->net.last_error ?
+                            thd->net.last_error : "<no message>",
+                            thd->net.last_errno);
           }
         }
 
@@ -2561,9 +2592,8 @@
         xev.log_pos = cev->log_pos;
         if (unlikely(mi->rli.relay_log.append(&xev)))
         {
-          mi->report(ERROR_LEVEL, ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
-                     ER(ER_SLAVE_RELAY_LOG_WRITE_FAILURE),
-                     "error writing Exec_load event to relay log");
+          sql_print_error("Slave I/O: error writing Exec_load event to \
+relay log");
           goto err;
         }
         mi->rli.relay_log.harvest_bytes_written(&mi->rli.log_space_total);
@@ -2575,9 +2605,8 @@
         cev->block_len = num_bytes;
         if (unlikely(mi->rli.relay_log.append(cev)))
         {
-          mi->report(ERROR_LEVEL, ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
-                     ER(ER_SLAVE_RELAY_LOG_WRITE_FAILURE),
-                     "error writing Create_file event to relay log");
+          sql_print_error("Slave I/O: error writing Create_file event to \
+relay log");
           goto err;
         }
         cev_not_written=0;
@@ -2590,9 +2619,8 @@
         aev.log_pos = cev->log_pos;
         if (unlikely(mi->rli.relay_log.append(&aev)))
         {
-          mi->report(ERROR_LEVEL, ER_SLAVE_RELAY_LOG_WRITE_FAILURE,
-                     ER(ER_SLAVE_RELAY_LOG_WRITE_FAILURE),
-                     "error writing Append_block event to relay log");
+          sql_print_error("Slave I/O: error writing Append_block event to \
+relay log");
           goto err;
         }
         mi->rli.relay_log.harvest_bytes_written(&mi->rli.log_space_total) ;
@@ -2693,8 +2721,7 @@
   {
     if (unlikely(!(tmp_buf=(char*)my_malloc(event_len+1,MYF(MY_WME)))))
     {
-      mi->report(ERROR_LEVEL, ER_SLAVE_FATAL_ERROR,
-                 ER(ER_SLAVE_FATAL_ERROR), "Memory allocation failed");
+      sql_print_error("Slave I/O: out of memory for Load event");
       DBUG_RETURN(1);
     }
     memcpy(tmp_buf,buf,event_len);
@@ -3149,12 +3176,14 @@
     {
       last_errno=mysql_errno(mysql);
       suppress_warnings= 0;
-      mi->report(ERROR_LEVEL, last_errno,
-                 "error %s to master '%s@%s:%d'"
-                 " - retry-time: %d  retries: %lu",
-                 (reconnect ? "reconnecting" : "connecting"),
-                 mi->user, mi->host, mi->port,
-                 mi->connect_retry, master_retry_count);
+      sql_print_error("Slave I/O thread: error %s to master "
+                      "'%s@%s:%d':                       \
+Error: '%s'  errno: %d  retry-time: %d  retries: %lu",
+                      (reconnect ? "reconnecting" : "connecting"),
+                      mi->user, mi->host, mi->port,
+                      mysql_error(mysql), last_errno,
+                      mi->connect_retry,
+                      master_retry_count);
     }
     /*
       By default we try forever. The reason is that failure will trigger
@@ -3732,9 +3761,9 @@
                       " so slave stops; check error log on slave"
                       " for more info", MYF(0), bug_id);
       // a verbose message for the error log
-      rli->report(ERROR_LEVEL, ER_UNKNOWN_ERROR,
-                  "According to the master's version ('%s'),"
-                  " it is probable that master suffers from this bug:"
+      slave_print_msg(ERROR_LEVEL, rli, ER_UNKNOWN_ERROR,
+                      "According to the master's version ('%s'),"
+                      " it is probable that master suffers from this bug:"
                       " http://bugs.mysql.com/bug.php?id=%u"
                       " and thus replicating the current binary log event"
                       " may make the slave's data become different from the"

--- 1.157/sql/share/errmsg.txt	2007-06-13 09:04:08 +02:00
+++ 1.158/sql/share/errmsg.txt	2007-06-13 09:04:08 +02:00
@@ -5843,8 +5843,8 @@
         eng "Writing one row to the row-based binary log failed"
 ER_BINLOG_ROW_WRONG_TABLE_DEF
-        eng "Table definition on master and slave does not match: %s"
+        eng "Table definition on master and slave does not match"
 ER_BINLOG_ROW_RBR_TO_SBR
         eng "Slave running with --log-slave-updates must use row-based binary logging to be able to replicate row-based binary log events"

--- 1.19/mysql-test/r/rpl_ssl1.result	2007-06-13 09:04:08 +02:00
+++ 1.20/mysql-test/r/rpl_ssl1.result	2007-06-13 09:04:08 +02:00
@@ -53,10 +53,6 @@
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 stop slave;
 change master to master_user='root',master_password='', master_ssl=0;
 start slave;
@@ -97,10 +93,6 @@
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 stop slave;
 change master to
 master_host="localhost",
@@ -151,8 +143,4 @@
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	Yes
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 drop table t1;

--- 1.32/mysql-test/r/rpl_stm_until.result	2007-06-13 09:04:08 +02:00
+++ 1.33/mysql-test/r/rpl_stm_until.result	2007-06-13 09:04:08 +02:00
@@ -23,19 +23,19 @@
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	784
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
+Slave_IO_Running	#
 Slave_SQL_Running	No
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -54,10 +54,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
 select * from t1;
 n
@@ -69,19 +65,19 @@
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	784
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
+Slave_IO_Running	#
 Slave_SQL_Running	No
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -100,10 +96,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=746;
 select * from t2;
 n
@@ -113,19 +105,19 @@
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	784
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
+Slave_IO_Running	#
 Slave_SQL_Running	No
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -144,10 +136,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave;
 stop slave;
 start slave until master_log_file='master-bin.000001', master_log_pos=776;
@@ -155,11 +143,11 @@
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	784
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
 Slave_IO_Running	Yes
@@ -167,7 +155,7 @@
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -186,10 +174,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave until master_log_file='master-bin', master_log_pos=561;
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
 start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;

--- 1.29/mysql-test/t/rpl_ssl1.test	2007-06-13 09:04:08 +02:00
+++ 1.30/mysql-test/t/rpl_ssl1.test	2007-06-13 09:04:08 +02:00
@@ -45,7 +45,7 @@
 
 #checking show slave status
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 6 # 7 # 8 # 9 # 10 # 11 # 16 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 6 # 7 # 8 # 9 # 10 # 11 # 16 # 22 # 23 # 33 #
 query_vertical show slave status;
 
 #checking if replication works without ssl also performing clean up
@@ -59,7 +59,7 @@
 connection slave;
 sync_with_master;
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 6 # 7 # 8 # 9 # 10 # 11 # 16 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 6 # 7 # 8 # 9 # 10 # 11 # 16 # 22 # 23 # 33 #
 query_vertical show slave status;
 
 # End of 4.1 tests
@@ -89,7 +89,7 @@
 
 #checking show slave status
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 6 # 7 # 8 # 9 # 10 # 11 # 16 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 6 # 7 # 8 # 9 # 10 # 11 # 16 # 22 # 23 # 33 #
 query_vertical show slave status;
 
 connection master;

--- 1.27/mysql-test/t/rpl_stm_until.test	2007-06-13 09:04:08 +02:00
+++ 1.28/mysql-test/t/rpl_stm_until.test	2007-06-13 09:04:08 +02:00
@@ -30,7 +30,9 @@
 wait_for_slave_to_stop;
 # here table should be still not deleted
 select * from t1;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 9 # 11 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS
 
 # this should fail right after start
 start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
@@ -38,14 +40,18 @@
 select * from t1;
 sleep 2;
 wait_for_slave_to_stop;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 9 # 11 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS
 
 # try replicate all up to and not including the second insert to t2;
 start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=746;
 sleep 2;
 wait_for_slave_to_stop;
 select * from t2;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 9 # 11 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS
 
 # clean up
 start slave;
@@ -60,8 +66,9 @@
 sleep 2;
 wait_for_slave_to_stop;
 # here the sql slave thread should be stopped
---replace_result bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
+--replace_column 1 # 9 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS
 
 #testing various error conditions
 --error 1277

--- 1.6/mysql-test/r/rpl_known_bugs_detection.result	2007-06-13 09:04:08 +02:00
+++ 1.7/mysql-test/r/rpl_known_bugs_detection.result	2007-06-13 09:04:08 +02:00
@@ -46,10 +46,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1105
-Last_SQL_Error	Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1(b) VALUES(1),(1),(2) ON DUPLICATE KEY UPDATE t1.b=10'
 SELECT * FROM t1;
 a	b
 stop slave;
@@ -133,14 +129,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1105
-Last_SQL_Error	Error 'master may suffer from http://bugs.mysql.com/bug.php?id=24432 so slave stops; check error log on slave for more info' on query. Default database: 'test'. Query: 'INSERT INTO t1 (field_1, field_2, field_3)
-SELECT t2.field_a, t2.field_b, t2.field_c
-FROM t2
-ON DUPLICATE KEY UPDATE
-t1.field_3 = t2.field_c'
 SELECT * FROM t1;
 id	field_1	field_2	field_3
 drop table t1, t2;

--- 1.26/mysql-test/r/rpl_change_master.result	2007-06-13 09:04:08 +02:00
+++ 1.27/mysql-test/r/rpl_change_master.result	2007-06-13 09:04:08 +02:00
@@ -11,85 +11,9 @@
 insert into t1 values(1);
 insert into t1 values(2);
 stop slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	191
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 change master to master_user='root';
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	191
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 start slave;
 select * from t1;
 n

--- 1.21/mysql-test/r/rpl_deadlock_innodb.result	2007-06-13 09:04:08 +02:00
+++ 1.22/mysql-test/r/rpl_deadlock_innodb.result	2007-06-13 09:04:08 +02:00
@@ -79,10 +79,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 stop slave;
 delete from t3;
 change master to master_log_pos=548;
@@ -138,10 +134,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 set @my_max_relay_log_size= @@global.max_relay_log_size;
 set global max_relay_log_size=0;
 stop slave;
@@ -202,10 +194,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 drop table t1,t2,t3,t4;
 set global max_relay_log_size= @my_max_relay_log_size;
 End of 5.1 tests

--- 1.32/mysql-test/r/rpl_stm_max_relay_size.result	2007-06-13 09:04:08 +02:00
+++ 1.33/mysql-test/r/rpl_stm_max_relay_size.result	2007-06-13 09:04:08 +02:00
@@ -21,7 +21,7 @@
 @@global.max_relay_log_size
 4096
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -56,10 +56,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 2
 #
@@ -69,7 +65,7 @@
 select @@global.max_relay_log_size;
 @@global.max_relay_log_size	20480
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -104,10 +100,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 3: max_relay_log_size = 0
 #
@@ -117,7 +109,7 @@
 select @@global.max_relay_log_size;
 @@global.max_relay_log_size	0
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -152,17 +144,13 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
 #
 stop slave;
 reset slave;
 flush logs;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -197,10 +185,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 5
 #
@@ -208,7 +192,7 @@
 start slave;
 flush logs;
 create table t1 (a int);
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -243,16 +227,12 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
 #
 flush logs;
 drop table t1;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -287,10 +267,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 flush logs;
 show master status;
 File	master-bin.000002

--- 1.20/mysql-test/r/rpl_stm_reset_slave.result	2007-06-13 09:04:08 +02:00
+++ 1.21/mysql-test/r/rpl_stm_reset_slave.result	2007-06-13 09:04:08 +02:00
@@ -4,166 +4,14 @@
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 stop slave;
 change master to master_user='test';
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	test
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 reset slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	
-Read_Master_Log_Pos	4
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	0
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 stop slave;
 reset slave;
 start slave;

--- 1.17/mysql-test/r/rpl_server_id1.result	2007-06-13 09:04:08 +02:00
+++ 1.18/mysql-test/r/rpl_server_id1.result	2007-06-13 09:04:08 +02:00
@@ -9,44 +9,6 @@
 stop slave;
 change master to master_port=SLAVE_PORT;
 show slave status;
-Slave_IO_State	
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	SLAVE_PORT
-Connect_Retry	1
-Master_Log_File	
-Read_Master_Log_Pos	4
-Relay_Log_File	slave-relay-bin.000001
-Relay_Log_Pos	4
-Relay_Master_Log_File	
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	#
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	0
-Relay_Log_Space	106
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	NULL
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave;
 insert into t1 values (1);
 show status like "slave_running";

--- 1.18/mysql-test/r/rpl_server_id2.result	2007-06-13 09:04:08 +02:00
+++ 1.19/mysql-test/r/rpl_server_id2.result	2007-06-13 09:04:08 +02:00
@@ -9,44 +9,6 @@
 stop slave;
 change master to master_port=SLAVE_PORT;
 show slave status;
-Slave_IO_State	
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	SLAVE_PORT
-Connect_Retry	1
-Master_Log_File	
-Read_Master_Log_Pos	4
-Relay_Log_File	slave-relay-bin.000001
-Relay_Log_Pos	4
-Relay_Master_Log_File	
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	#
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	0
-Relay_Log_Space	106
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	NULL
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave;
 insert into t1 values (1);
 select * from t1;

--- 1.19/mysql-test/t/rpl_change_master.test	2007-06-13 09:04:08 +02:00
+++ 1.20/mysql-test/t/rpl_change_master.test	2007-06-13 09:04:08 +02:00
@@ -18,13 +18,13 @@
 connection slave;
 --real_sleep 3 # wait for I/O thread to have read updates
 stop slave;
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 16 # 23 # 33 # 35 # 36 #
-query_vertical SHOW SLAVE STATUS;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+show slave status;
 change master to master_user='root';
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 16 # 23 # 33 # 35 # 36 #
-query_vertical SHOW SLAVE STATUS;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+show slave status;
 start slave;
 sync_with_master;
 select * from t1;

--- 1.24/mysql-test/extra/rpl_tests/rpl_max_relay_size.test	2007-06-13 09:04:08 +02:00
+++ 1.25/mysql-test/extra/rpl_tests/rpl_max_relay_size.test	2007-06-13 09:04:08 +02:00
@@ -43,7 +43,10 @@
 select @@global.max_relay_log_size;
 start slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+show slave status;
 
 --echo #
 --echo # Test 2
@@ -52,10 +55,13 @@
 stop slave;
 reset slave;
 set global max_relay_log_size=(5*4096);
-query_vertical select @@global.max_relay_log_size;
+select @@global.max_relay_log_size;
 start slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+show slave status;
 
 --echo #
 --echo # Test 3: max_relay_log_size = 0
@@ -64,10 +70,13 @@
 stop slave;
 reset slave;
 set global max_relay_log_size=0;
-query_vertical select @@global.max_relay_log_size;
+select @@global.max_relay_log_size;
 start slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+show slave status;
 
 --echo #
 --echo # Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
@@ -78,7 +87,10 @@
 # test of relay log rotation when the slave is stopped
 # (to make sure it does not crash).
 flush logs;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+show slave status;
 
 --echo #
 --echo # Test 5
@@ -96,7 +108,10 @@
 save_master_pos;
 connection slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+show slave status;
 
 --echo #
 --echo # Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
@@ -108,13 +123,16 @@
 save_master_pos;
 connection slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+show slave status;
 
 connection master;
 # test that the absence of relay logs does not make a master crash
 flush logs;
 -- replace_column 3 <Binlog_Ignore_DB>
-query_vertical show master status;
+show master status;
 
 # Restore max_binlog_size
 connection slave;

--- 1.13/mysql-test/extra/rpl_tests/rpl_reset_slave.test	2007-06-13 09:04:08 +02:00
+++ 1.14/mysql-test/extra/rpl_tests/rpl_reset_slave.test	2007-06-13 09:04:08 +02:00
@@ -13,18 +13,26 @@
 save_master_pos;
 connection slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 
 stop slave;
 change master to master_user='test';
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 
 reset slave;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 
 start slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 
 # test of crash with temp tables & RESET SLAVE
 # (test to see if RESET SLAVE clears temp tables in memory and disk)

--- 1.10/mysql-test/t/rpl_server_id1.test	2007-06-13 09:04:08 +02:00
+++ 1.11/mysql-test/t/rpl_server_id1.test	2007-06-13 09:04:08 +02:00
@@ -13,8 +13,8 @@
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval change master to master_port=$SLAVE_MYPORT;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
---replace_column 16 # 18 # 35 # 36 #
-query_vertical show slave status;
+--replace_column 16 # 18 #
+show slave status;
 start slave;
 insert into t1 values (1);
 # can't MASTER_POS_WAIT(), it does not work in this weird setup

--- 1.11/mysql-test/t/rpl_server_id2.test	2007-06-13 09:04:08 +02:00
+++ 1.12/mysql-test/t/rpl_server_id2.test	2007-06-13 09:04:08 +02:00
@@ -10,8 +10,8 @@
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 eval change master to master_port=$SLAVE_MYPORT;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
---replace_column 18 # 35 # 36 #
-query_vertical show slave status;
+--replace_column 18 #
+show slave status;
 start slave;
 insert into t1 values (1);
 save_master_pos;

--- 1.5/mysql-test/r/rpl_extraCol_innodb.result	2007-06-13 09:04:08 +02:00
+++ 1.6/mysql-test/r/rpl_extraCol_innodb.result	2007-06-13 09:04:08 +02:00
@@ -73,7 +73,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
+Last_Error	Column 0 type mismatch - received type 252, test.t3 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -88,10 +88,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t3  ***
@@ -135,7 +131,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
+Last_Error	Column 0 type mismatch - received type 246, test.t4 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -150,10 +146,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t4  ***
@@ -197,7 +189,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
+Last_Error	Column 5 type mismatch - received type 4, test.t5 has type 246
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -212,10 +204,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t5  ***
@@ -258,7 +246,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
+Last_Error	Column 3 type mismatch - received type 16, test.t6 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -273,10 +261,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 *** Drop t6  ***
 DROP TABLE t6;
@@ -370,7 +354,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
+Last_Error	Column 2 type mismatch - received type 254, test.t10 has type 5
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -385,10 +369,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t10  ***
@@ -431,7 +411,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
+Last_Error	Column 2 type mismatch - received type 15, test.t11 has type 252
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -446,10 +426,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t11  ***
@@ -636,10 +612,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1060
-Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Try to insert in master ****
@@ -756,7 +728,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
+Last_Error	Column 0 type mismatch - received type 8, test.t17 has type 2
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -771,10 +743,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 ** DROP table t17 ***

--- 1.5/mysql-test/r/rpl_extraCol_myisam.result	2007-06-13 09:04:08 +02:00
+++ 1.6/mysql-test/r/rpl_extraCol_myisam.result	2007-06-13 09:04:08 +02:00
@@ -73,7 +73,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
+Last_Error	Column 0 type mismatch - received type 252, test.t3 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -88,10 +88,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t3  ***
@@ -135,7 +131,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
+Last_Error	Column 0 type mismatch - received type 246, test.t4 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -150,10 +146,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t4  ***
@@ -197,7 +189,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
+Last_Error	Column 5 type mismatch - received type 4, test.t5 has type 246
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -212,10 +204,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t5  ***
@@ -258,7 +246,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
+Last_Error	Column 3 type mismatch - received type 16, test.t6 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -273,10 +261,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 *** Drop t6  ***
 DROP TABLE t6;
@@ -370,7 +354,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
+Last_Error	Column 2 type mismatch - received type 254, test.t10 has type 5
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -385,10 +369,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t10  ***
@@ -431,7 +411,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
+Last_Error	Column 2 type mismatch - received type 15, test.t11 has type 252
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -446,10 +426,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t11  ***
@@ -636,10 +612,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1060
-Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Try to insert in master ****
@@ -756,7 +728,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
+Last_Error	Column 0 type mismatch - received type 8, test.t17 has type 2
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -771,10 +743,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 ** DROP table t17 ***

--- 1.6/mysql-test/r/rpl_ndb_extraCol.result	2007-06-13 09:04:08 +02:00
+++ 1.7/mysql-test/r/rpl_ndb_extraCol.result	2007-06-13 09:04:08 +02:00
@@ -73,7 +73,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
+Last_Error	Column 0 type mismatch - received type 252, test.t3 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -88,10 +88,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t3  ***
@@ -135,7 +131,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
+Last_Error	Column 0 type mismatch - received type 246, test.t4 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -150,10 +146,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t4  ***
@@ -197,7 +189,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
+Last_Error	Column 5 type mismatch - received type 4, test.t5 has type 246
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -212,10 +204,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t5  ***
@@ -258,7 +246,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
+Last_Error	Column 3 type mismatch - received type 16, test.t6 has type 3
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -273,10 +261,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
 *** Drop t6  ***
 DROP TABLE t6;
@@ -370,7 +354,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
+Last_Error	Column 2 type mismatch - received type 254, test.t10 has type 5
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -385,10 +369,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t10  ***
@@ -431,7 +411,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
+Last_Error	Column 2 type mismatch - received type 15, test.t11 has type 252
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -446,10 +426,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Drop t11  ***
@@ -636,10 +612,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1060
-Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 *** Try to insert in master ****
@@ -757,7 +729,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
+Last_Error	Column 0 type mismatch - received type 8, test.t17 has type 2
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -772,10 +744,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 ** DROP table t17 ***

--- 1.27/mysql-test/r/rpl_ndb_log.result	2007-06-13 09:04:08 +02:00
+++ 1.28/mysql-test/r/rpl_ndb_log.result	2007-06-13 09:04:08 +02:00
@@ -126,45 +126,7 @@
 slave-bin.000002	#	Write_rows	2	#	table_id: #
 slave-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 slave-bin.000002	#	Query	2	#	COMMIT
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	617
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000002
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	617
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 show binlog events in 'slave-bin.000005' from 4;
 ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
 DROP TABLE t1;

--- 1.19/mysql-test/r/rpl_row_log_innodb.result	2007-06-13 09:04:08 +02:00
+++ 1.20/mysql-test/r/rpl_row_log_innodb.result	2007-06-13 09:04:08 +02:00
@@ -99,45 +99,7 @@
 slave-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
 slave-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 slave-bin.000002	#	Xid	1	#	COMMIT /* XID */
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	404
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000002
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	404
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 show binlog events in 'slave-bin.000005' from 4;
 ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
 DROP TABLE t1;

--- 1.5/sql/rpl_mi.cc	2007-06-13 09:04:08 +02:00
+++ 1.6/sql/rpl_mi.cc	2007-06-13 09:04:08 +02:00
@@ -28,8 +28,7 @@
 			  const char *default_val);
 
 MASTER_INFO::MASTER_INFO()
-  :Slave_reporting_capability("I/O"),
-   ssl(0), fd(-1),  io_thd(0), inited(0),
+  :ssl(0), fd(-1),  io_thd(0), inited(0),
    abort_slave(0),slave_running(0),
    ssl_verify_server_cert(0), slave_run_id(0)
 {

--- 1.6/sql/rpl_mi.h	2007-06-13 09:04:08 +02:00
+++ 1.7/sql/rpl_mi.h	2007-06-13 09:04:08 +02:00
@@ -19,7 +19,6 @@
 #ifdef HAVE_REPLICATION
 
 #include "rpl_rli.h"
-#include "rpl_reporting.h"
 
 
 /*****************************************************************************
@@ -55,7 +54,7 @@
 
 *****************************************************************************/
 
-class MASTER_INFO : public Slave_reporting_capability
+class MASTER_INFO
 {
  public:
   MASTER_INFO();

--- 1.12/sql/rpl_rli.cc	2007-06-13 09:04:08 +02:00
+++ 1.13/sql/rpl_rli.cc	2007-06-13 09:04:08 +02:00
@@ -30,12 +30,11 @@
 
 
 st_relay_log_info::st_relay_log_info()
-  :Slave_reporting_capability("SQL"),
    no_storage(FALSE), replicate_same_server_id(::replicate_same_server_id),
    info_fd(-1), cur_log_fd(-1), save_temporary_tables(0),
    cur_log_old_open_count(0), group_master_log_pos(0), log_space_total(0),
    ignore_log_space_limit(0), last_master_timestamp(0), slave_skip_counter(0),
-   abort_pos_wait(0), slave_run_id(0), sql_thd(0),
+   abort_pos_wait(0), slave_run_id(0), sql_thd(0), last_slave_errno(0),
    inited(0), abort_slave(0), slave_running(0), until_condition(UNTIL_NONE),
    until_log_pos(0), retried_trans(0),
    tables_to_lock(0), tables_to_lock_count(0),
@@ -45,7 +44,7 @@
 
   group_relay_log_name[0]= event_relay_log_name[0]=
     group_master_log_name[0]= 0;
-  until_log_name[0]= ign_master_log_name_end[0]= 0;
+  last_slave_error[0]= until_log_name[0]= ign_master_log_name_end[0]= 0;
   bzero((char*) &info_file, sizeof(info_file));
   bzero((char*) &cache_buf, sizeof(cache_buf));
   cached_charset_invalidate();
@@ -337,6 +336,16 @@
   DBUG_RETURN(0);
 }
 
+
+void st_relay_log_info::clear_slave_error()
+{
+  DBUG_ENTER("clear_slave_error");
+
+  /* Clear the errors displayed by SHOW SLAVE STATUS */
+  last_slave_error[0]= 0;
+  last_slave_errno= 0;
+  DBUG_VOID_RETURN;
+}
 
 /*
    Reset UNTIL condition for RELAY_LOG_INFO

--- 1.21/mysql-test/r/binlog_row_mix_innodb_myisam.result	2007-06-13 09:04:08 +02:00
+++ 1.22/mysql-test/r/binlog_row_mix_innodb_myisam.result	2007-06-13 09:04:08 +02:00
@@ -408,7 +408,6 @@
 is not null
 1
 select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
 @a not like "%#%error_code=%error_code=%";
 @a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%"	@a not like "%#%error_code=%error_code=%"
 1	1

--- 1.9/mysql-test/r/rpl_row_inexist_tbl.result	2007-06-13 09:04:08 +02:00
+++ 1.10/mysql-test/r/rpl_row_inexist_tbl.result	2007-06-13 09:04:08 +02:00
@@ -17,14 +17,14 @@
 0
 drop table t1;
 insert into t1 values (1);
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	597
+Read_Master_Log_Pos	#
 Relay_Log_File	#
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
@@ -33,7 +33,7 @@
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	test.t2
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1146
@@ -52,8 +52,4 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1146
-Last_SQL_Error	Error 'Table 'test.t1' doesn't exist' on opening table `test`.`t1`
 drop table t1, t2;

--- 1.19/mysql-test/r/rpl_row_log.result	2007-06-13 09:04:08 +02:00
+++ 1.20/mysql-test/r/rpl_row_log.result	2007-06-13 09:04:08 +02:00
@@ -91,45 +91,7 @@
 slave-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=MyISAM
 slave-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
 slave-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	377
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000002
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	377
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 show binlog events in 'slave-bin.000005' from 4;
 ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
 DROP TABLE t1;

--- 1.11/mysql-test/r/rpl_row_max_relay_size.result	2007-06-13 09:04:08 +02:00
+++ 1.12/mysql-test/r/rpl_row_max_relay_size.result	2007-06-13 09:04:08 +02:00
@@ -23,7 +23,7 @@
 @@global.max_relay_log_size
 4096
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -58,10 +58,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 2
 #
@@ -71,7 +67,7 @@
 select @@global.max_relay_log_size;
 @@global.max_relay_log_size	20480
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -106,10 +102,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 3: max_relay_log_size = 0
 #
@@ -119,7 +111,7 @@
 select @@global.max_relay_log_size;
 @@global.max_relay_log_size	0
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -154,17 +146,13 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 4: Tests below are mainly to ensure that we have not coded with wrong assumptions
 #
 stop slave;
 reset slave;
 flush logs;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -199,10 +187,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 5
 #
@@ -210,7 +194,7 @@
 start slave;
 flush logs;
 create table t1 (a int);
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -245,16 +229,12 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 #
 # Test 6: one more rotation, to be sure Relay_Log_Space is correctly updated
 #
 flush logs;
 drop table t1;
-SHOW SLAVE STATUS;
+show slave status;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
@@ -289,10 +269,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 flush logs;
 show master status;
 File	master-bin.000002

--- 1.7/mysql-test/r/rpl_row_reset_slave.result	2007-06-13 09:04:08 +02:00
+++ 1.8/mysql-test/r/rpl_row_reset_slave.result	2007-06-13 09:04:08 +02:00
@@ -4,166 +4,14 @@
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 stop slave;
 change master to master_user='test';
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	test
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 reset slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	
-Read_Master_Log_Pos	4
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	0
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 stop slave;
 reset slave;
 start slave;

--- 1.13/mysql-test/r/rpl_row_tabledefs_2myisam.result	2007-06-13 09:04:08 +02:00
+++ 1.14/mysql-test/r/rpl_row_tabledefs_2myisam.result	2007-06-13 09:04:08 +02:00
@@ -122,7 +122,7 @@
 Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
-Last_Errno	1364
+Last_Errno	1105
 Last_Error	Error in Write_rows event: error during transaction execution on table test.t1_nodef
 Skip_Counter	0
 Exec_Master_Log_Pos	#
@@ -138,10 +138,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1364
-Last_SQL_Error	Error in Write_rows event: error during transaction execution on table test.t1_nodef
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (2);
@@ -166,7 +162,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
+Last_Error	Table width mismatch - received 2 columns, test.t2 has 1 columns
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -181,10 +177,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (4);
@@ -209,7 +201,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
+Last_Error	Column 0 type mismatch - received type 3, test.t4 has type 4
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -224,10 +216,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (5);
@@ -252,7 +240,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
+Last_Error	Column 1 type mismatch - received type 3, test.t5 has type 4
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -267,10 +255,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (6);
@@ -295,7 +279,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
+Last_Error	Column 2 type mismatch - received type 3, test.t6 has type 4
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -310,10 +294,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (6);
@@ -352,10 +332,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 INSERT INTO t7 VALUES (1),(2),(3);
 INSERT INTO t8 VALUES (1),(2),(3);
 SELECT * FROM t7 ORDER BY a;

--- 1.8/mysql-test/r/rpl_row_until.result	2007-06-13 09:04:08 +02:00
+++ 1.9/mysql-test/r/rpl_row_until.result	2007-06-13 09:04:08 +02:00
@@ -19,23 +19,23 @@
 2
 3
 4
-SHOW SLAVE STATUS;
+SHOW SLAVE STATUS;;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	744
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
+Slave_IO_Running	#
 Slave_SQL_Running	No
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -54,10 +54,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
 select * from t1;
 n
@@ -65,23 +61,23 @@
 2
 3
 4
-SHOW SLAVE STATUS;
+SHOW SLAVE STATUS;;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	744
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
+Slave_IO_Running	#
 Slave_SQL_Running	No
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -100,32 +96,28 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
 select * from t2;
 n
 1
 2
-SHOW SLAVE STATUS;
+SHOW SLAVE STATUS;;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	744
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
+Slave_IO_Running	#
 Slave_SQL_Running	No
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -144,22 +136,18 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave;
 stop slave;
 start slave until master_log_file='master-bin.000001', master_log_pos=740;
-SHOW SLAVE STATUS;
+SHOW SLAVE STATUS;;
 Slave_IO_State	#
 Master_Host	127.0.0.1
 Master_User	root
-Master_Port	MASTER_PORT
+Master_Port	MASTER_MYPORT
 Connect_Retry	1
 Master_Log_File	master-bin.000001
 Read_Master_Log_Pos	744
-Relay_Log_File	#
+Relay_Log_File	slave-relay-bin.000004
 Relay_Log_Pos	#
 Relay_Master_Log_File	master-bin.000001
 Slave_IO_Running	Yes
@@ -167,7 +155,7 @@
 Replicate_Do_DB	
 Replicate_Ignore_DB	
 Replicate_Do_Table	
-Replicate_Ignore_Table	#
+Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	0
@@ -186,10 +174,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 start slave until master_log_file='master-bin', master_log_pos=561;
 ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
 start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;

--- 1.10/mysql-test/t/binlog_row_mix_innodb_myisam.test	2007-06-13 09:04:08 +02:00
+++ 1.11/mysql-test/t/binlog_row_mix_innodb_myisam.test	2007-06-13 09:04:08 +02:00
@@ -25,9 +25,7 @@
 eval select
 (@a:=load_file("$MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output"))
 is not null;
-
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
 eval select
-@a like "%#%error_code=0%ROLLBACK/*!*/;%ROLLBACK /* added by mysqlbinlog */;%",
 @a not like "%#%error_code=%error_code=%";
 drop table t1, t2;

--- 1.4/mysql-test/t/rpl_row_inexist_tbl.test	2007-06-13 09:04:08 +02:00
+++ 1.5/mysql-test/t/rpl_row_inexist_tbl.test	2007-06-13 09:04:08 +02:00
@@ -25,8 +25,10 @@
 # slave should have stopped because can't find table t1
 wait_for_slave_to_stop;
 # see if we have a good error message:
---replace_column 7 #
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 7 # 8 # 9 # 23 # 33 #
+--vertical_results
+show slave status;
 
 # cleanup
 connection master;

--- 1.5/mysql-test/t/rpl_row_until.test	2007-06-13 09:04:08 +02:00
+++ 1.6/mysql-test/t/rpl_row_until.test	2007-06-13 09:04:08 +02:00
@@ -31,7 +31,9 @@
 wait_for_slave_to_stop;
 # here table should be still not deleted
 select * from t1;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 9 # 11 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS;
 
 # this should fail right after start
 start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
@@ -39,14 +41,18 @@
 select * from t1;
 sleep 2;
 wait_for_slave_to_stop;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 9 # 11 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS;
 
 # try replicate all up to and not including the second insert to t2;
 start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
 sleep 2;
 wait_for_slave_to_stop;
 select * from t2;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT
+--replace_column 1 # 9 # 11 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS;
 
 # clean up
 start slave;
@@ -61,8 +67,9 @@
 sleep 2;
 wait_for_slave_to_stop;
 # here the sql slave thread should be stopped
---replace_result bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
+--replace_column 1 # 9 # 23 # 33 #
+--query_vertical SHOW SLAVE STATUS;
 
 #testing various error conditions
 --error 1277

--- 1.16/sql/rpl_rli.h	2007-06-13 09:04:08 +02:00
+++ 1.17/sql/rpl_rli.h	2007-06-13 09:04:08 +02:00
@@ -16,8 +16,10 @@
 #ifndef RPL_RLI_H
 #define RPL_RLI_H
 
+#define MAX_SLAVE_ERRMSG      1024
+
 #include "rpl_tblmap.h"
-#include "rpl_reporting.h"
+
 
 struct RPL_TABLE_LIST;
 
@@ -48,7 +50,7 @@
 
 *****************************************************************************/
 
-typedef struct st_relay_log_info : public Slave_reporting_capability
+typedef struct st_relay_log_info
 {
   /**
      Flags for the state of the replication.
@@ -78,6 +80,7 @@
   bool replicate_same_server_id;
 
   /*** The following variables can only be read when protect by data lock ****/
+  /*** The following variables can only be read when protect by data lock ****/
 
   /*
     info_fd - file descriptor of the info file. set only during
@@ -185,6 +188,7 @@
 
   time_t last_master_timestamp;
 
+  void clear_slave_error();
   void clear_until_condition();
 
   /*
@@ -198,9 +202,11 @@
   pthread_mutex_t log_space_lock;
   pthread_cond_t log_space_cond;
   THD * sql_thd;
+  int last_slave_errno;
 #ifndef DBUG_OFF
   int events_till_abort;
 #endif  
+  char last_slave_error[MAX_SLAVE_ERRMSG];
 
   /* if not set, the value of other members of the structure are undefined */
   bool inited;

--- 1.2/mysql-test/include/show_slave_status.inc	2007-06-13 09:04:08 +02:00
+++ 1.3/mysql-test/include/show_slave_status.inc	2007-06-13 09:04:08 +02:00
@@ -1,6 +0,0 @@
-# Include file to show the slave status, masking out some information
-# that varies depending on where the test is executed.
-
---replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 16 # 23 # 33 # 35 # 36 #
-query_vertical SHOW SLAVE STATUS;

--- 1.2/mysql-test/r/rpl_loaddata_fatal.result	2007-06-13 09:04:08 +02:00
+++ 1.3/mysql-test/r/rpl_loaddata_fatal.result	2007-06-13 09:04:08 +02:00
@@ -1,87 +0,0 @@
-stop slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-reset master;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
-CREATE TABLE t1 (a INT, b INT);
-INSERT INTO t1 VALUES (1,10);
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	290
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	290
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
-LOAD DATA INFILE '../std_data_ln/rpl_loaddata.dat' INTO TABLE t1;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	465
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	1589
-Last_Error	Fatal error: Not enough memory
-Skip_Counter	0
-Exec_Master_Log_Pos	325
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	1589
-Last_SQL_Error	Fatal error: Not enough memory

--- 1.1/mysql-test/t/rpl_loaddata_fatal-slave.opt	2007-06-13 09:04:08 +02:00
+++ 1.2/mysql-test/t/rpl_loaddata_fatal-slave.opt	2007-06-13 09:04:08 +02:00
@@ -1 +0,0 @@
---loose-debug=+d,LOAD_DATA_INFILE_has_fatal_error

--- 1.1/mysql-test/t/rpl_loaddata_fatal.test	2007-06-13 09:04:08 +02:00
+++ 1.2/mysql-test/t/rpl_loaddata_fatal.test	2007-06-13 09:04:08 +02:00
@@ -1,19 +0,0 @@
-source include/have_binlog_format_mixed_or_statement.inc;
-source include/master-slave.inc;
-
-# We do this little stunt to make sure that the slave has started
-# before we stop it again.
-connection master;
-CREATE TABLE t1 (a INT, b INT);
-INSERT INTO t1 VALUES (1,10);
-sync_slave_with_master;
-source include/show_slave_status.inc;
-
-# Now we feed it a load data infile, which should make it stop with a
-# fatal error.
-connection master;
-LOAD DATA INFILE '../std_data_ln/rpl_loaddata.dat' INTO TABLE t1;
-
-connection slave;
-wait_for_slave_to_stop;
-source include/show_slave_status.inc;

--- 1.2/sql/rpl_reporting.cc	2007-06-13 09:04:08 +02:00
+++ 1.3/sql/rpl_reporting.cc	2007-06-13 09:04:08 +02:00
@@ -1,48 +0,0 @@
-
-#include "mysql_priv.h"
-#include "rpl_reporting.h"
-
-void
-Slave_reporting_capability::report(loglevel level, int err_code,
-                                   const char *msg, ...) const
-{
-  void (*report_function)(const char *, ...);
-  char buff[MAX_SLAVE_ERRMSG];
-  char *pbuff= buff;
-  uint pbuffsize= sizeof(buff);
-  va_list args;
-  va_start(args, msg);
-
-  switch (level)
-  {
-  case ERROR_LEVEL:
-    /*
-      It's an error, it must be reported in Last_error and Last_errno in SHOW
-      SLAVE STATUS.
-    */
-    pbuff= m_last_error.message;
-    pbuffsize= sizeof(m_last_error.message);
-    m_last_error.number = err_code;
-    report_function= sql_print_error;
-    break;
-  case WARNING_LEVEL:
-    report_function= sql_print_warning;
-    break;
-  case INFORMATION_LEVEL:
-    report_function= sql_print_information;
-    break;
-  default:
-    DBUG_ASSERT(0);                            // should not come here
-    return;          // don't crash production builds, just do nothing
-  }
-
-  my_vsnprintf(pbuff, pbuffsize, msg, args);
-
-  va_end(args);
-
-  /* If the msg string ends with '.', do not add a ',' it would be ugly */
-  report_function("Slave %s: %s%s Error_code: %d",
-                  m_thread_name, pbuff,
-                  (pbuff[0] && *(strend(pbuff)-1) == '.') ? "" : ",",
-                  err_code);
-}

--- 1.2/sql/rpl_reporting.h	2007-06-13 09:04:08 +02:00
+++ 1.3/sql/rpl_reporting.h	2007-06-13 09:04:08 +02:00
@@ -1,85 +0,0 @@
-#ifndef RPL_REPORTING_H
-#define RPL_REPORTING_H
-
-/**
-   Maximum size of an error message from a slave thread.
- */
-#define MAX_SLAVE_ERRMSG      1024
-
-/**
-   Mix-in to handle the message logging and reporting for relay log
-   info and master log info structures.
-
-   By inheriting from this class, the class is imbued with
-   capabilities to do slave reporting.
- */
-class Slave_reporting_capability
-{
-public:
-  /**
-     Constructor.
-
-     @param thread_name Printable name of the slave thread that is reporting.
-   */
-  Slave_reporting_capability(char const *thread_name)
-    : m_thread_name(thread_name)
-  {
-  }
-
-  /**
-     Writes a message and, if it's an error message, to Last_Error
-     (which will be displayed by SHOW SLAVE STATUS).
-
-     @param level       The severity level
-     @param err_code    The error code
-     @param msg         The message (usually related to the error
-                        code, but can contain more information), in
-                        printf() format.
-  */
-  void report(loglevel level, int err_code, const char *msg, ...) const
-    ATTRIBUTE_FORMAT(printf, 4, 5);
-
-  /**
-     Clear errors. They will not show up under <code>SHOW SLAVE
-     STATUS</code>.
-   */
-  void clear_error() {
-    m_last_error.clear();
-  }
-
-  /**
-     Error information structure.
-   */
-  class Error {
-    friend class Slave_reporting_capability;
-  public:
-    Error()
-    {
-      clear();
-    }
-
-    void clear()
-    {
-      number= 0;
-      message[0]= '\0';
-    }
-
-    /** Error code */
-    uint32 number;
-    /** Error message */
-    char message[MAX_SLAVE_ERRMSG];
-  };
-
-  Error const& last_error() const { return m_last_error; }
-
-private:
-  /**
-     Last error produced by the I/O or SQL thread respectively.
-   */
-  mutable Error m_last_error;
-
-  char const *const m_thread_name;
-};
-
-#endif // RPL_REPORTING_H
-

--- 1.9/mysql-test/r/rpl_rbr_to_sbr.result	2007-06-13 09:04:08 +02:00
+++ 1.10/mysql-test/r/rpl_rbr_to_sbr.result	2007-06-13 09:04:08 +02:00
@@ -55,11 +55,7 @@
 Master_SSL_Cipher	
 Master_SSL_Key	
 Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	#
-Last_IO_Errno	#
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
+Master_SSL_Verify_Server_Cert	No
 SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 slave-bin.000001	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4

--- 1.10/mysql-test/r/rpl_row_tabledefs_3innodb.result	2007-06-13 09:04:08 +02:00
+++ 1.11/mysql-test/r/rpl_row_tabledefs_3innodb.result	2007-06-13 09:04:08 +02:00
@@ -122,7 +122,7 @@
 Replicate_Ignore_Table	
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
-Last_Errno	1364
+Last_Errno	1105
 Last_Error	Error in Write_rows event: error during transaction execution on table test.t1_nodef
 Skip_Counter	0
 Exec_Master_Log_Pos	#
@@ -138,10 +138,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1364
-Last_SQL_Error	Error in Write_rows event: error during transaction execution on table test.t1_nodef
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (2);
@@ -166,7 +162,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
+Last_Error	Table width mismatch - received 2 columns, test.t2 has 1 columns
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -181,10 +177,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Table width mismatch - received 2 columns, test.t2 has 1 columns
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (4);
@@ -209,7 +201,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
+Last_Error	Column 0 type mismatch - received type 3, test.t4 has type 4
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -224,10 +216,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 3, test.t4 has type 4
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (5);
@@ -252,7 +240,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
+Last_Error	Column 1 type mismatch - received type 3, test.t5 has type 4
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -267,10 +255,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 1 type mismatch - received type 3, test.t5 has type 4
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (6);
@@ -295,7 +279,7 @@
 Replicate_Wild_Do_Table	
 Replicate_Wild_Ignore_Table	
 Last_Errno	1523
-Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
+Last_Error	Column 2 type mismatch - received type 3, test.t6 has type 4
 Skip_Counter	0
 Exec_Master_Log_Pos	#
 Relay_Log_Space	#
@@ -310,10 +294,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1523
-Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 3, test.t6 has type 4
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
 START SLAVE;
 INSERT INTO t9 VALUES (6);
@@ -352,10 +332,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 INSERT INTO t7 VALUES (1),(2),(3);
 INSERT INTO t8 VALUES (1),(2),(3);
 SELECT * FROM t7 ORDER BY a;

--- 1.9/mysql-test/t/rpl_rbr_to_sbr.test	2007-06-13 09:04:08 +02:00
+++ 1.10/mysql-test/t/rpl_rbr_to_sbr.test	2007-06-13 09:04:08 +02:00
@@ -21,7 +21,7 @@
 sync_slave_with_master;
 --echo **** On Slave ****
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 8 # 9 # 23 # 33 # 34 # 35 #
+--replace_column 1 # 8 # 9 # 23 # 33 #
 --query_vertical SHOW SLAVE STATUS
 --replace_result $VERSION VERSION
 --replace_column 2 # 5 #

--- 1.8/sql/rpl_utility.cc	2007-06-13 09:04:08 +02:00
+++ 1.9/sql/rpl_utility.cc	2007-06-13 09:04:08 +02:00
@@ -14,7 +14,6 @@
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
 
 #include "rpl_utility.h"
-#include "rpl_rli.h"
 
 uint32
 field_length_from_packed(enum_field_types const field_type, 
@@ -129,13 +128,11 @@
   {
     DBUG_ASSERT(tsh->db.str && tsh->table_name.str);
     error= 1;
-    char buf[256];
-    my_snprintf(buf, sizeof(buf), "Table width mismatch - "
-                "received %u columns, %s.%s has %u columns",
-                (uint) size(), tsh->db.str, tsh->table_name.str,
-                tsh->fields);
-    rli->report(ERROR_LEVEL, ER_BINLOG_ROW_WRONG_TABLE_DEF,
-                ER(ER_BINLOG_ROW_WRONG_TABLE_DEF), buf);
+    slave_print_msg(ERROR_LEVEL, rli, ER_BINLOG_ROW_WRONG_TABLE_DEF,
+                    "Table width mismatch - "
+                    "received %u columns, %s.%s has %u columns",
+                    (uint) size(), tsh->db.str, tsh->table_name.str,
+                    tsh->fields);
   }
 
   for (uint col= 0 ; col < cols_to_check ; ++col)
@@ -145,13 +142,11 @@
       DBUG_ASSERT(col < size() && col < tsh->fields);
       DBUG_ASSERT(tsh->db.str && tsh->table_name.str);
       error= 1;
-      char buf[256];
-      my_snprintf(buf, sizeof(buf), "Column %d type mismatch - "
-                  "received type %d, %s.%s has type %d",
-                  col, type(col), tsh->db.str, tsh->table_name.str,
-                  table->field[col]->type());
-      rli->report(ERROR_LEVEL, ER_BINLOG_ROW_WRONG_TABLE_DEF,
-                  ER(ER_BINLOG_ROW_WRONG_TABLE_DEF), buf);
+      slave_print_msg(ERROR_LEVEL, rli, ER_BINLOG_ROW_WRONG_TABLE_DEF,
+                      "Column %d type mismatch - "
+                      "received type %d, %s.%s has type %d",
+                      col, type(col), tsh->db.str, tsh->table_name.str,
+                      table->field[col]->type());
     }
   }
 

--- 1.7/mysql-test/r/rpl_incident.result	2007-06-13 09:04:08 +02:00
+++ 1.8/mysql-test/r/rpl_incident.result	2007-06-13 09:04:08 +02:00
@@ -60,10 +60,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	1586
-Last_SQL_Error	The incident LOST_EVENTS occured on the master. Message: <none>
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
 START SLAVE;
 SELECT * FROM t1;
@@ -107,8 +103,4 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 DROP TABLE t1;

--- 1.4/sql/rpl_record.cc	2007-06-13 09:04:08 +02:00
+++ 1.5/sql/rpl_record.cc	2007-06-13 09:04:08 +02:00
@@ -14,7 +14,6 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 #include "mysql_priv.h"
-#include "rpl_rli.h"
 #include "rpl_record.h"
 #include "slave.h"                  // Need to pull in slave_print_msg
 
@@ -264,11 +263,11 @@
     if (event_type == WRITE_ROWS_EVENT &&
         ((*field_ptr)->flags & mask) == mask)
     {
-      rli->report(ERROR_LEVEL, ER_NO_DEFAULT_FOR_FIELD,
-                  "Field `%s` of table `%s`.`%s` "
-                  "has no default value and cannot be NULL",
-                  (*field_ptr)->field_name, table->s->db.str,
-                  table->s->table_name.str);
+      slave_print_msg(ERROR_LEVEL, rli, ER_NO_DEFAULT_FOR_FIELD,
+                      "Field `%s` of table `%s`.`%s` "
+                      "has no default value and cannot be NULL",
+                      (*field_ptr)->field_name, table->s->db.str,
+                      table->s->table_name.str);
       error = ER_NO_DEFAULT_FOR_FIELD;
     }
     else

--- 1.4/sql/rpl_record_old.cc	2007-06-13 09:04:08 +02:00
+++ 1.5/sql/rpl_record_old.cc	2007-06-13 09:04:08 +02:00
@@ -1,6 +1,5 @@
 
 #include "mysql_priv.h"
-#include "rpl_rli.h"
 #include "rpl_record_old.h"
 
 size_t
@@ -158,11 +157,11 @@
     if (event_type == WRITE_ROWS_EVENT &&
         ((*field_ptr)->flags & mask) == mask)
     {
-      rli->report(ERROR_LEVEL, ER_NO_DEFAULT_FOR_FIELD,
-                  "Field `%s` of table `%s`.`%s` "
-                  "has no default value and cannot be NULL",
-                  (*field_ptr)->field_name, table->s->db.str,
-                  table->s->table_name.str);
+      slave_print_msg(ERROR_LEVEL, rli, ER_NO_DEFAULT_FOR_FIELD,
+                      "Field `%s` of table `%s`.`%s` "
+                      "has no default value and cannot be NULL",
+                      (*field_ptr)->field_name, table->s->db.str,
+                      table->s->table_name.str);
       error = ER_NO_DEFAULT_FOR_FIELD;
     }
     else

--- 1.2/mysql-test/r/rpl_slave_skip.result	2007-06-13 09:04:08 +02:00
+++ 1.3/mysql-test/r/rpl_slave_skip.result	2007-06-13 09:04:08 +02:00
@@ -72,10 +72,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
 START SLAVE;
 SELECT * FROM t1;
@@ -136,9 +132,5 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 **** On Master ****
 DROP TABLE t1, t2;

--- 1.32/mysql-test/r/rpl_flushlog_loop.result	2007-06-13 09:04:08 +02:00
+++ 1.33/mysql-test/r/rpl_flushlog_loop.result	2007-06-13 09:04:08 +02:00
@@ -51,8 +51,4 @@
 Master_SSL_Cipher	
 Master_SSL_Key	
 Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	#
-Last_IO_Errno	#
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
+Master_SSL_Verify_Server_Cert	No

--- 1.46/mysql-test/r/rpl_loaddata.result	2007-06-13 09:04:08 +02:00
+++ 1.47/mysql-test/r/rpl_loaddata.result	2007-06-13 09:04:08 +02:00
@@ -38,8 +38,6 @@
 set global sql_slave_skip_counter=1;
 start slave;
 show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
-#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	1797	#	#	master-bin.000001	Yes	Yes				#			0		0	1797	#	None		0	No						#	No	0		0	
 set sql_log_bin=0;
 delete from t1;
 set sql_log_bin=1;
@@ -48,8 +46,6 @@
 change master to master_user='test';
 change master to master_user='root';
 show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
-#	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	1832	#	#	master-bin.000001	No	No				#			0		0	1832	#	None		0	No						#	No	0		0	
 set global sql_slave_skip_counter=1;
 start slave;
 set sql_log_bin=0;
@@ -59,8 +55,6 @@
 stop slave;
 reset slave;
 show slave status;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
-#	127.0.0.1	root	MASTER_PORT	1		4	#	#		No	No				#			0		0	0	#	None		0	No						#	No	0		0	
 reset master;
 create table t2 (day date,id int(9),category enum('a','b','c'),name varchar(60),
 unique(day)) engine=MyISAM;

--- 1.18/mysql-test/t/rpl_flushlog_loop.test	2007-06-13 09:04:08 +02:00
+++ 1.19/mysql-test/t/rpl_flushlog_loop.test	2007-06-13 09:04:08 +02:00
@@ -45,5 +45,6 @@
 #  Show status of slave
 #
 --replace_result $SLAVE_MYPORT SLAVE_PORT
---replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 #
---query_vertical SHOW SLAVE STATUS
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+--vertical_results
+SHOW SLAVE STATUS;

--- 1.9/mysql-test/r/rpl_ssl.result	2007-06-13 09:04:08 +02:00
+++ 1.10/mysql-test/r/rpl_ssl.result	2007-06-13 09:04:08 +02:00
@@ -54,10 +54,6 @@
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 STOP SLAVE;
 select * from t1;
 t
@@ -98,9 +94,5 @@
 Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 drop user replssl@localhost;
 drop table t1;

--- 1.7/mysql-test/t/rpl_ssl.test	2007-06-13 09:04:08 +02:00
+++ 1.8/mysql-test/t/rpl_ssl.test	2007-06-13 09:04:08 +02:00
@@ -31,7 +31,7 @@
 # The slave is synced and waiting/reading from master
 # SHOW SLAVE STATUS will show "Waiting for master to send event"
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
 query_vertical show slave status;
 
 # Stop the slave, as reported in bug#21871 it would hang
@@ -59,7 +59,7 @@
 insert into t1 values (NULL);
 sync_slave_with_master;
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR $MASTER_MYPORT MASTER_MYPORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
 query_vertical show slave status;
 
 connection master;

--- 1.17/mysql-test/r/rpl_empty_master_crash.result	2007-06-13 09:04:08 +02:00
+++ 1.18/mysql-test/r/rpl_empty_master_crash.result	2007-06-13 09:04:08 +02:00
@@ -4,7 +4,7 @@
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
-SHOW SLAVE STATUS;
+show slave status;
 load table t1 from master;
 ERROR 08S01: Error connecting to master: Master is not configured
 load table t1 from master;

--- 1.15/mysql-test/t/rpl_empty_master_crash.test	2007-06-13 09:04:08 +02:00
+++ 1.16/mysql-test/t/rpl_empty_master_crash.test	2007-06-13 09:04:08 +02:00
@@ -1,6 +1,7 @@
 source include/master-slave.inc;
 
-source include/show_slave_status.inc;
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 
 #
 # Load table should not succeed on the master as this is not a slave

--- 1.11/mysql-test/r/rpl_slave_status.result	2007-06-13 09:04:08 +02:00
+++ 1.12/mysql-test/r/rpl_slave_status.result	2007-06-13 09:04:08 +02:00
@@ -53,10 +53,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	NULL
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
 drop table t1;
 delete from mysql.user where user='rpl';
 drop table t1;

--- 1.12/mysql-test/t/rpl_slave_status.test	2007-06-13 09:04:08 +02:00
+++ 1.13/mysql-test/t/rpl_slave_status.test	2007-06-13 09:04:08 +02:00
@@ -42,7 +42,7 @@
 --replace_result $MASTER_MYPORT MASTER_MYPORT
 # Column 1 is replaced, since the output can be either
 # "Connecting to master" or "Waiting for master update"
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 35 # 36 #
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 #
 --vertical_results
 show slave status;
 

--- 1.108/sql/slave.h	2007-06-13 09:04:08 +02:00
+++ 1.109/sql/slave.h	2007-06-13 09:04:08 +02:00
@@ -169,6 +169,9 @@
 const char *print_slave_db_safe(const char *db);
 int check_expected_error(THD* thd, RELAY_LOG_INFO const *rli, int error_code);
 void skip_load_data_infile(NET* net);
+void slave_print_msg(enum loglevel level, RELAY_LOG_INFO const *rli,
+                     int err_code, const char* msg, ...)
+  ATTRIBUTE_FORMAT(printf, 4, 5);
 
 void end_slave(); /* clean up */
 void clear_until_condition(RELAY_LOG_INFO* rli);

--- 1.41/mysql-test/r/rpl_replicate_do.result	2007-06-13 09:04:08 +02:00
+++ 1.42/mysql-test/r/rpl_replicate_do.result	2007-06-13 09:04:08 +02:00
@@ -26,45 +26,7 @@
 select * from t11;
 ERROR 42S02: Table 'test.t11' doesn't exist
 drop table if exists t1,t2,t11;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	#
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	test.t1
-Replicate_Ignore_Table	
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	#
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 create table t1 (ts timestamp);
 set one_shot time_zone='met';
 insert into t1 values('2005-08-12 00:00:00');

--- 1.51/mysql-test/r/rpl_log_pos.result	2007-06-13 09:04:08 +02:00
+++ 1.52/mysql-test/r/rpl_log_pos.result	2007-06-13 09:04:08 +02:00
@@ -7,171 +7,19 @@
 show master status;
 File	Position	Binlog_Do_DB	Binlog_Ignore_DB
 master-bin.000001	106	<Binlog_Ignore_DB>	
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 stop slave;
 change master to master_log_pos=75;
 start slave;
 stop slave;
 change master to master_log_pos=75;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	75
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	75
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	75
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	75
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 stop slave;
 change master to master_log_pos=178;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	178
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	No
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	178
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 show master status;
 File	Position	Binlog_Do_DB	Binlog_Ignore_DB
 master-bin.000001	106	<Binlog_Ignore_DB>	

--- 1.47/mysql-test/r/rpl_000015.result	2007-06-13 09:04:08 +02:00
+++ 1.48/mysql-test/r/rpl_000015.result	2007-06-13 09:04:08 +02:00
@@ -3,128 +3,16 @@
 File	Position	Binlog_Do_DB	Binlog_Ignore_DB
 master-bin.000001	106		
 reset slave;
-SHOW SLAVE STATUS;
+show slave status;
 change master to master_host='127.0.0.1';
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	test
-Master_Port	3306
-Connect_Retry	7
-Master_Log_File	
-Read_Master_Log_Pos	4
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	0
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert
+#	127.0.0.1	test	DEFAULT_MASTER_PORT	7		4	#	#		No	No							0		0	0	#	None		0	No						#	No
 change master to master_host='127.0.0.1',master_user='root',
 master_password='',master_port=MASTER_PORT;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	7
-Master_Log_File	
-Read_Master_Log_Pos	4
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	
-Slave_IO_Running	No
-Slave_SQL_Running	No
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	0
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 start slave;
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	7
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	106
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	106
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 drop table if exists t1;
 create table t1 (n int, PRIMARY KEY(n));
 insert into t1 values (10),(45),(90);

--- 1.79/mysql-test/r/rpl_rotate_logs.result	2007-06-13 09:04:09 +02:00
+++ 1.80/mysql-test/r/rpl_rotate_logs.result	2007-06-13 09:04:09 +02:00
@@ -14,45 +14,7 @@
 insert into temp_table values ("testing temporary tables");
 create table t1 (s text);
 insert into t1 values('Could not break slave'),('Tried hard');
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	60
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	556
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	556
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 select * from t1;
 s
 Could not break slave
@@ -94,45 +56,7 @@
 Log_name	File_size
 master-bin.000003	415
 insert into t2 values (65);
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	60
-Master_Log_File	master-bin.000003
-Read_Master_Log_Pos	504
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000003
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	504
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 select * from t2;
 m
 34
@@ -158,45 +82,7 @@
 select * from t4;
 a
 testing temporary tables part 2
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	60
-Master_Log_File	master-bin.000005
-Read_Master_Log_Pos	2040
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000005
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	2040
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 lock tables t3 read;
 select count(*) from t3 where n >= 4;
 count(*)

--- 1.81/mysql-test/r/rpl_stm_log.result	2007-06-13 09:04:09 +02:00
+++ 1.82/mysql-test/r/rpl_stm_log.result	2007-06-13 09:04:09 +02:00
@@ -89,45 +89,7 @@
 slave-bin.000002	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
 slave-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=MyISAM
 slave-bin.000002	#	Query	1	#	use `test`; insert into t2 values (1)
-SHOW SLAVE STATUS;
-Slave_IO_State	#
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000002
-Read_Master_Log_Pos	392
-Relay_Log_File	#
-Relay_Log_Pos	#
-Relay_Master_Log_File	master-bin.000002
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	#
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	392
-Relay_Log_Space	#
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	#
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	#
-Last_IO_Error	#
-Last_SQL_Errno	0
-Last_SQL_Error	
+show slave status;
 show binlog events in 'slave-bin.000005' from 4;
 ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
 DROP TABLE t1;

--- 1.32/mysql-test/t/rpl_replicate_do.test	2007-06-13 09:04:09 +02:00
+++ 1.33/mysql-test/t/rpl_replicate_do.test	2007-06-13 09:04:09 +02:00
@@ -32,8 +32,8 @@
 sync_with_master;
 # show slave status, just to see of it prints replicate-do-table
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
-query_vertical SHOW SLAVE STATUS;
+--replace_column 1 # 7 # 8 # 9 # 16 # 22 # 23 # 33 #
+show slave status;
 
 #
 # BUG#12542

--- 1.41/mysql-test/t/rpl_log_pos.test	2007-06-13 09:04:09 +02:00
+++ 1.42/mysql-test/t/rpl_log_pos.test	2007-06-13 09:04:09 +02:00
@@ -14,7 +14,9 @@
 --replace_column 3 <Binlog_Ignore_DB>
 show master status;
 sync_slave_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 stop slave;
 change master to master_log_pos=75;
 start slave;
@@ -22,15 +24,21 @@
 stop slave;
 
 change master to master_log_pos=75;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 start slave;
 sleep 5;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 stop slave;
 change master to master_log_pos=178;
 start slave;
 sleep 2;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 11 # 23 # 33 # 35 # 36 #
+show slave status;
 connection master;
 --replace_column 3 <Binlog_Ignore_DB>
 show master status;

--- 1.43/mysql-test/t/rpl_000015.test	2007-06-13 09:04:09 +02:00
+++ 1.44/mysql-test/t/rpl_000015.test	2007-06-13 09:04:09 +02:00
@@ -12,18 +12,26 @@
 save_master_pos;
 connection slave;
 reset slave;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 
 change master to master_host='127.0.0.1';
 # The following needs to be cleaned up when change master is fixed
-source include/show_slave_status.inc;
+--replace_result $DEFAULT_MASTER_PORT DEFAULT_MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 --replace_result $MASTER_MYPORT MASTER_PORT
 eval change master to master_host='127.0.0.1',master_user='root',
  master_password='',master_port=$MASTER_MYPORT;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 start slave;
 sync_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 23 # 33 #
+show slave status;
 connection master;
 --disable_warnings
 drop table if exists t1;

--- 1.71/mysql-test/t/rpl_rotate_logs.test	2007-06-13 09:04:09 +02:00
+++ 1.72/mysql-test/t/rpl_rotate_logs.test	2007-06-13 09:04:09 +02:00
@@ -63,7 +63,9 @@
 create table t1 (s text);
 insert into t1 values('Could not break slave'),('Tried hard');
 sync_slave_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 select * from t1;
 connection master;
 flush logs;
@@ -123,7 +125,9 @@
 show binary logs;
 insert into t2 values (65);
 sync_slave_with_master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 select * from t2;
 
 #
@@ -153,7 +157,9 @@
 sync_with_master;
 select * from t4;
 
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 # because of concurrent insert, the table may not be up to date
 # if we do not lock
 lock tables t3 read;

--- 1.46/mysql-test/extra/rpl_tests/rpl_log.test	2007-06-13 09:04:09 +02:00
+++ 1.47/mysql-test/extra/rpl_tests/rpl_log.test	2007-06-13 09:04:09 +02:00
@@ -107,7 +107,9 @@
 --replace_column 2 # 5 #
 --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
 show binlog events in 'slave-bin.000002' from 4;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+show slave status;
 
 # Need to recode the following
 

--- 1.17/mysql-test/t/rpl_redirect.test	2007-06-13 09:04:09 +02:00
+++ 1.18/mysql-test/t/rpl_redirect.test	2007-06-13 09:04:09 +02:00
@@ -13,7 +13,9 @@
 
 #discover slaves
 connection master;
-source include/show_slave_status.inc;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
+SHOW SLAVE STATUS;
 --replace_result $SLAVE_MYPORT SLAVE_PORT
 SHOW SLAVE HOSTS;
 rpl_probe;

--- 1.171/sql/sql_repl.cc	2007-06-13 09:04:09 +02:00
+++ 1.172/sql/sql_repl.cc	2007-06-13 09:04:09 +02:00
@@ -991,7 +991,7 @@
      Reset errors (the idea is that we forget about the
      old master).
   */
-  mi->rli.clear_error();
+  mi->rli.clear_slave_error();
   mi->rli.clear_until_condition();
 
   // close master_info_file, relay_log_info_file, set mi->inited=rli->inited=0
@@ -1263,7 +1263,7 @@
   pthread_mutex_lock(&mi->rli.data_lock);
   mi->rli.abort_pos_wait++; /* for MASTER_POS_WAIT() to abort */
   /* Clear the errors, for a clean start */
-  mi->rli.clear_error();
+  mi->rli.clear_slave_error();
   mi->rli.clear_until_condition();
   /*
     If we don't write new coordinates to disk now, then old will remain in

--- 1.13/mysql-test/r/rpl_ndb_basic.result	2007-06-13 09:04:09 +02:00
+++ 1.14/mysql-test/r/rpl_ndb_basic.result	2007-06-13 09:04:09 +02:00
@@ -175,10 +175,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	<Seconds_Behind_Master>
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	<Last_IO_Errno>
-Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	<Last_SQL_Errno>
-Last_SQL_Error	<Last_SQL_Error>
 set GLOBAL slave_transaction_retries=10;
 START SLAVE;
 select * from t1 order by nid;

--- 1.8/mysql-test/r/rpl_ndb_idempotent.result	2007-06-13 09:04:09 +02:00
+++ 1.9/mysql-test/r/rpl_ndb_idempotent.result	2007-06-13 09:04:09 +02:00
@@ -33,41 +33,9 @@
 row3	C	3
 row4	D	4
 SHOW SLAVE STATUS;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
-<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	0	
 STOP SLAVE;
 CHANGE MASTER TO
 master_log_file = 'master-bin.000001',
 master_log_pos = <the_pos> ;
 SHOW SLAVE STATUS;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
-<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	No	No				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No	<Last_IO_Errno>	<Last_IO_Error>	0	
-START SLAVE;
-SELECT * FROM t1 ORDER BY c3;
-c1	c2	c3
-row3	C	3
-row4	D	4
-SELECT * FROM t1 ORDER BY c3;
-c1	c2	c3
-row3	C	3
-row4	D	4
-STOP SLAVE;
-DROP TABLE t1;
-RESET master;
-DROP TABLE t1;
-RESET slave;
-START SLAVE;
-CREATE TABLE t1 (c1 CHAR(15) NOT NULL, c2 CHAR(15) NOT NULL, c3 INT NOT NULL, PRIMARY KEY (c3)) ENGINE = NDB ;
-INSERT INTO t1 VALUES ("row1","remove on slave",1);
-DELETE FROM t1;
-BEGIN;
-UPDATE t1 SET c2="does not exist" WHERE c3=1;
-INSERT INTO t1 VALUES ("row2","new on slave",2);
-COMMIT;
-SELECT * FROM t1;
-c1	c2	c3
-row2	new on slave	2
-SHOW SLAVE STATUS;
-Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert	Last_IO_Errno	Last_IO_Error	Last_SQL_Errno	Last_SQL_Error
-<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	<Last_IO_Errno>	<Last_IO_Error>		0	
 DROP TABLE IF EXISTS t1;

--- 1.12/mysql-test/r/rpl_ndb_sync.result	2007-06-13 09:04:09 +02:00
+++ 1.13/mysql-test/r/rpl_ndb_sync.result	2007-06-13 09:04:09 +02:00
@@ -72,44 +72,8 @@
 master_log_pos = <the_pos> ;
 START SLAVE;
 SHOW SLAVE STATUS;
-Slave_IO_State	<Slave_IO_State>
-Master_Host	127.0.0.1
-Master_User	root
-Master_Port	MASTER_PORT
-Connect_Retry	1
-Master_Log_File	master-bin.000001
-Read_Master_Log_Pos	<Read_Master_Log_Pos>
-Relay_Log_File	<Relay_Log_File>
-Relay_Log_Pos	<Relay_Log_Pos>
-Relay_Master_Log_File	master-bin.000001
-Slave_IO_Running	Yes
-Slave_SQL_Running	Yes
-Replicate_Do_DB	
-Replicate_Ignore_DB	
-Replicate_Do_Table	
-Replicate_Ignore_Table	<Replicate_Ignore_Table>
-Replicate_Wild_Do_Table	
-Replicate_Wild_Ignore_Table	
-Last_Errno	0
-Last_Error	
-Skip_Counter	0
-Exec_Master_Log_Pos	<Exec_Master_Log_Pos>
-Relay_Log_Space	<Relay_Log_Space>
-Until_Condition	None
-Until_Log_File	
-Until_Log_Pos	0
-Master_SSL_Allowed	No
-Master_SSL_CA_File	
-Master_SSL_CA_Path	
-Master_SSL_Cert	
-Master_SSL_Cipher	
-Master_SSL_Key	
-Seconds_Behind_Master	<Seconds_Behind_Master>
-Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	<Last_IO_Errno>
-Last_IO_Error	<Last_IO_Error>
-Last_SQL_Errno	0
-Last_SQL_Error	
+Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master	Master_SSL_Verify_Server_Cert
+<Slave_IO_State>	127.0.0.1	root	MASTER_PORT	1	master-bin.000001	<Read_Master_Log_Pos>	<Relay_Log_File>	<Relay_Log_Pos>	master-bin.000001	Yes	Yes				<Replicate_Ignore_Table>			0		0	<Exec_Master_Log_Pos>	<Relay_Log_Space>	None		0	No						<Seconds_Behind_Master>	No
 SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
 hex(c1)	hex(c2)	c3
 1	1	row1

--- 1.10/mysql-test/t/rpl_ndb_bank.test	2007-06-13 09:04:09 +02:00
+++ 1.11/mysql-test/t/rpl_ndb_bank.test	2007-06-13 09:04:09 +02:00
@@ -147,7 +147,7 @@
 {
   --sleep 2
   --replace_result $MASTER_MYPORT MASTER_PORT
-  --replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 34 <Last_IO_Errno> 35 <Last_IO_Error>
+  --replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
   SHOW SLAVE STATUS;
   STOP SLAVE;
   --exec NDB_CONNECTSTRING=localhost:$NDBCLUSTER_PORT_SLAVE ../storage/ndb/test/ndbapi/bank/bankValidateAllGLs >> $NDB_TOOLS_OUTPUT

--- 1.13/mysql-test/t/rpl_ndb_basic.test	2007-06-13 09:04:09 +02:00
+++ 1.14/mysql-test/t/rpl_ndb_basic.test	2007-06-13 09:04:09 +02:00
@@ -197,7 +197,7 @@
 --connection slave
 --echo **** On Slave ****
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 19 <Last_Errno> 20 <Last_Error> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error> 37 <Last_SQL_Errno> 38 <Last_SQL_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error>
 --query_vertical SHOW SLAVE STATUS;
 
 # now set max retries high enough to succeed, and start slave again

--- 1.8/mysql-test/t/rpl_ndb_idempotent.test	2007-06-13 09:04:09 +02:00
+++ 1.9/mysql-test/t/rpl_ndb_idempotent.test	2007-06-13 09:04:09 +02:00
@@ -43,7 +43,7 @@
 SELECT * FROM t1 ORDER BY c3;
 
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
 SHOW SLAVE STATUS;
 
 # stop slave and reset position to before the last changes
@@ -54,7 +54,7 @@
   master_log_pos = $the_pos ;
 
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
 SHOW SLAVE STATUS;
 
 # start the slave again
@@ -107,7 +107,7 @@
 --connection slave
 SELECT * FROM t1;
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 34 <Last_IO_Errno> 35 <Last_IO_Error>
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
 SHOW SLAVE STATUS;
 
 connection master;

--- 1.13/mysql-test/t/rpl_ndb_sync.test	2007-06-13 09:04:09 +02:00
+++ 1.14/mysql-test/t/rpl_ndb_sync.test	2007-06-13 09:04:09 +02:00
@@ -72,8 +72,8 @@
 --sync_slave_with_master
 --connection slave
 --replace_result $MASTER_MYPORT MASTER_PORT
---replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master> 35 <Last_IO_Errno> 36 <Last_IO_Error>
-query_vertical SHOW SLAVE STATUS;
+--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
+SHOW SLAVE STATUS;
 
 SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
 SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;

--- 1.2/mysql-test/r/rpl_ndb_circular.result	2007-06-13 09:04:09 +02:00
+++ 1.3/mysql-test/r/rpl_ndb_circular.result	2007-06-13 09:04:09 +02:00
@@ -52,10 +52,6 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 SELECT * FROM t1 ORDER BY a;
 a	b
 1	2
@@ -95,9 +91,5 @@
 Master_SSL_Key	
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
-Last_IO_Errno	0
-Last_IO_Error	
-Last_SQL_Errno	0
-Last_SQL_Error	
 STOP SLAVE;
 DROP TABLE t1;
Thread
bk commit into 5.1 tree (mats:1.2552)Mats Kindahl13 Jun