List:Internals« Previous MessageNext Message »
From:Lars Thalmann Date:September 29 2005 10:12pm
Subject:bk commit into 5.0 tree (lars:1.2018)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of lthalmann. When lthalmann 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
  1.2018 05/09/30 00:12:14 lars@stripped +3 -0
  mysqlbinlog --hexdump additional patch 2
  - Fixes related to Guilhems review
  - Special printing of event header

  sql/log_event.h
    1.117 05/09/30 00:12:07 lars@stripped +23 -23
    Fixes related to Guilhems review

  sql/log_event.cc
    1.192 05/09/30 00:12:07 lars@stripped +83 -72
    Fixes related to Guilhems review
    Special printing of event header

  client/mysqlbinlog.cc
    1.116 05/09/30 00:12:07 lars@stripped +4 -6
    Fixes of option --hexdump handling

# 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:	lars
# Host:	dl145h.mysql.com
# Root:	/users/lthalmann/bk/mysql-5.0-hexdump

--- 1.191/sql/log_event.cc	2005-09-29 10:42:13 +02:00
+++ 1.192/sql/log_event.cc	2005-09-30 00:12:07 +02:00
@@ -24,8 +24,6 @@
 #include  "mysql_priv.h"
 #include "slave.h"
 #include <my_dir.h>
-#else
-#include <ctype.h>  /* For isalnum() */
 #endif /* MYSQL_CLIENT */
 
 #define log_cs	&my_charset_latin1
@@ -883,53 +881,66 @@
   Log_event::print_header()
 */
 
-void Log_event::print_header(FILE* file, my_off_t start_pos)
+void Log_event::print_header(FILE* file, my_off_t hexdump_from)
 {
   char llbuff[22];
   fputc('#', file);
   print_timestamp(file);
   fprintf(file, " server id %d  end_log_pos %s ", server_id,
-	  llstr(log_pos,llbuff)); 
+	  llstr(log_pos,llbuff));
 
-  if (start_pos)
+  /* mysqlbinlog --hexdump */
+  if (hexdump_from)
   {
     fprintf(file, "\n");
-    unsigned char *ptr= (unsigned char*)temp_buf;
+    uchar *ptr= (uchar*)temp_buf;
+    my_off_t size=
+      uint4korr(ptr + EVENT_LEN_OFFSET) - LOG_EVENT_MINIMAL_HEADER_LEN;
     my_off_t i;
 
-    char position[8+1] = {0};
-    char b[3+1] = {0};
-    char hex_string[16*3+1+1] = {0};
-    char char_string[16+1] = {0};
-
-    for (i= 0; i < (log_pos-start_pos); i++, ptr++)
+    /* Header len * 4 >= header len * (2 chars + space + extra space) */
+    char *h, hex_string[LOG_EVENT_MINIMAL_HEADER_LEN*4]= {0};
+    char *c, char_string[16+1]= {0};
+
+    /* Common header of event */
+    fprintf(file, "# Position  Timestamp   Type   Master ID        "
+	    "Size      Master Pos    Flags \n");
+    fprintf(file, "# %8.8lx %02x %02x %02x %02x   %02x   "
+	    "%02x %02x %02x %02x   %02x %02x %02x %02x   "
+	    "%02x %02x %02x %02x   %02x %02x\n",
+	    hexdump_from, ptr[0], ptr[1], ptr[2], ptr[3], ptr[4],
+	    ptr[5], ptr[6], ptr[7], ptr[8], ptr[9], ptr[10], ptr[11],
+	    ptr[12], ptr[13], ptr[14], ptr[15], ptr[16], ptr[17], ptr[18]);
+    ptr += LOG_EVENT_MINIMAL_HEADER_LEN;
+    hexdump_from += LOG_EVENT_MINIMAL_HEADER_LEN;
+
+    /* Rest of event (without common header) */
+    for (i= 0, c= char_string, h=hex_string;
+	 i < size;
+	 i++, ptr++)
     {
-      if (i % 16 == 0)
-	snprintf(position, sizeof(position), "%.8x",
-		 (unsigned int) (start_pos+i));
-
-      snprintf(b, sizeof(b), "%02X ", *ptr);
-      strncat(hex_string, b, sizeof(hex_string)-strlen(hex_string)-1);
+      my_snprintf(h, 4, "%02x ", *ptr);
+      h += 3;
 
-      snprintf(b, sizeof(b), "%c", isalnum(*ptr) ? *ptr : '.');
-      strncat(char_string, b, sizeof(char_string)-strlen(char_string)-1);
+      *c++= my_isalnum(&my_charset_bin, *ptr) ? *ptr : '.';
 
       if (i % 16 == 15)
       {
-	fprintf(file, "# %8.8s %-48.48s |%16s|\n",
-		position, hex_string, char_string);
-	hex_string[0] = 0;
-	char_string[0] = 0;
-      }
-      else if (i % 8 == 7)
-      {
-	/* Middle space */
-	strncat(hex_string, " ", sizeof(hex_string)-strlen(hex_string)-1);
+	fprintf(file, "# %8.8lx %-48.48s |%16s|\n",
+		hexdump_from + (i & 0xfffffff0), hex_string, char_string);
+	hex_string[0]= 0;
+	char_string[0]= 0;
+	c= char_string;
+	h= hex_string;
       }
+      else if (i % 8 == 7) *h++ = ' ';
     }
+    *c= '\0';
 
-    if (strlen(hex_string)) {
-      printf("# %8.8s %-48.48s |%s|\n# ", position, hex_string, char_string);
+    /* Non-full last line */
+    if (hex_string[0]) {
+      printf("# %8.8lx %-48.48s |%s|\n# ",
+	     hexdump_from + (i & 0xfffffff0), hex_string, char_string);
     }
   }
 }
@@ -1418,7 +1429,7 @@
 
 #ifdef MYSQL_CLIENT
 void Query_log_event::print_query_header(FILE* file, bool short_form,
-					 my_off_t start_pos,
+					 my_off_t hexdump_from,
                                          LAST_EVENT_INFO* last_event_info)
 {
   // TODO: print the catalog ??
@@ -1428,7 +1439,7 @@
 
   if (!short_form)
   {
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\t%s\tthread_id=%lu\texec_time=%lu\terror_code=%d\n",
 	    get_type_str(), (ulong) thread_id, (ulong) exec_time, error_code);
   }
@@ -1549,10 +1560,10 @@
 }
 
 
-void Query_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Query_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
                             LAST_EVENT_INFO* last_event_info)
 {
-  print_query_header(file, short_form, start_pos, last_event_info);
+  print_query_header(file, short_form, hexdump_from, last_event_info);
   my_fwrite(file, (byte*) query, q_len, MYF(MY_NABP | MY_WME));
   fputs(";\n", file);
 }
@@ -1850,12 +1861,12 @@
 */
 
 #ifdef MYSQL_CLIENT
-void Start_log_event_v3::print(FILE* file, bool short_form, my_off_t start_pos,
+void Start_log_event_v3::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			       LAST_EVENT_INFO* last_event_info)
 {
   if (!short_form)
   {
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\tStart: binlog v %d, server v %s created ", binlog_version,
             server_version);
     print_timestamp(file);
@@ -2579,20 +2590,20 @@
 */
 
 #ifdef MYSQL_CLIENT
-void Load_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Load_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			   LAST_EVENT_INFO* last_event_info)
 {
-  print(file, short_form, start_pos, last_event_info, 0);
+  print(file, short_form, hexdump_from, last_event_info, 0);
 }
 
 
-void Load_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Load_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			   LAST_EVENT_INFO* last_event_info, bool commented)
 {
   DBUG_ENTER("Load_log_event::print");
   if (!short_form)
   {
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\tQuery\tthread_id=%ld\texec_time=%ld\n",
 	    thread_id, exec_time);
   }
@@ -2997,14 +3008,14 @@
 */
 
 #ifdef MYSQL_CLIENT
-void Rotate_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Rotate_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			     LAST_EVENT_INFO* last_event_info)
 {
   char buf[22];
 
   if (short_form)
     return;
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fprintf(file, "\tRotate to ");
   if (new_log_ident)
     my_fwrite(file, (byte*) new_log_ident, (uint)ident_len, 
@@ -3200,7 +3211,7 @@
 */
 
 #ifdef MYSQL_CLIENT
-void Intvar_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Intvar_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
                              LAST_EVENT_INFO* last_event_info)
 {
   char llbuff[22];
@@ -3209,7 +3220,7 @@
 
   if (!short_form)
   {
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\tIntvar\n");
   }
 
@@ -3290,13 +3301,13 @@
 
 
 #ifdef MYSQL_CLIENT
-void Rand_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Rand_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			   LAST_EVENT_INFO* last_event_info)
 {
   char llbuff[22],llbuff2[22];
   if (!short_form)
   {
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\tRand\n");
   }
   fprintf(file, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s;\n",
@@ -3361,7 +3372,7 @@
 
 
 #ifdef MYSQL_CLIENT
-void Xid_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Xid_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			  LAST_EVENT_INFO* last_event_info)
 {
   if (!short_form)
@@ -3369,7 +3380,7 @@
     char buf[64];
     longlong10_to_str(xid, buf, 10);
 
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\tXid = %s\n", buf);
     fflush(file);
   }
@@ -3560,12 +3571,12 @@
 */
 
 #ifdef MYSQL_CLIENT
-void User_var_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void User_var_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			       LAST_EVENT_INFO* last_event_info)
 {
   if (!short_form)
   {
-    print_header(file, start_pos);
+    print_header(file, hexdump_from);
     fprintf(file, "\tUser_var\n");
   }
 
@@ -3736,12 +3747,12 @@
 
 #ifdef HAVE_REPLICATION
 #ifdef MYSQL_CLIENT
-void Unknown_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Unknown_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			      LAST_EVENT_INFO* last_event_info)
 {
   if (short_form)
     return;
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fputc('\n', file);
   fprintf(file, "# %s", "Unknown event\n");
 }
@@ -3808,13 +3819,13 @@
 
 
 #ifdef MYSQL_CLIENT
-void Slave_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Slave_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			    LAST_EVENT_INFO* last_event_info)
 {
   char llbuff[22];
   if (short_form)
     return;
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fputc('\n', file);
   fprintf(file, "\
 Slave: master_host: '%s'  master_port: %d  master_log: '%s'  master_pos: %s\n",
@@ -3894,13 +3905,13 @@
 */
 
 #ifdef MYSQL_CLIENT
-void Stop_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Stop_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 			   LAST_EVENT_INFO* last_event_info)
 {
   if (short_form)
     return;
 
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fprintf(file, "\tStop\n");
   fflush(file);
 }
@@ -4074,19 +4085,19 @@
 */
 
 #ifdef MYSQL_CLIENT
-void Create_file_log_event::print(FILE* file, bool short_form, my_off_t start_pos,
+void Create_file_log_event::print(FILE* file, bool short_form, my_off_t hexdump_from,
 				  LAST_EVENT_INFO* last_event_info, bool enable_local)
 {
   if (short_form)
   {
     if (enable_local && check_fname_outside_temp_buf())
-      Load_log_event::print(file, 1, start_pos, last_event_info);
+      Load_log_event::print(file, 1, hexdump_from, last_event_info);
     return;
   }
 
   if (enable_local)
   {
-    Load_log_event::print(file, short_form, start_pos, last_event_info, 
+    Load_log_event::print(file, short_form, hexdump_from, last_event_info, 
 			  !check_fname_outside_temp_buf());
     /* 
        That one is for "file_id: etc" below: in mysqlbinlog we want the #, in
@@ -4100,10 +4111,10 @@
 
 
 void Create_file_log_event::print(FILE* file, bool short_form,
-				  my_off_t start_pos,
+				  my_off_t hexdump_from,
 				  LAST_EVENT_INFO* last_event_info)
 {
-  print(file, short_form, start_pos, last_event_info, 0);
+  print(file, short_form, hexdump_from, last_event_info, 0);
 }
 #endif /* MYSQL_CLIENT */
 
@@ -4264,12 +4275,12 @@
 
 #ifdef MYSQL_CLIENT  
 void Append_block_log_event::print(FILE* file, bool short_form,
-				   my_off_t start_pos,
+				   my_off_t hexdump_from,
 				   LAST_EVENT_INFO* last_event_info)
 {
   if (short_form)
     return;
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fputc('\n', file);
   fprintf(file, "#%s: file_id: %d  block_len: %d\n",
 	  get_type_str(), file_id, block_len);
@@ -4409,12 +4420,12 @@
 
 #ifdef MYSQL_CLIENT  
 void Delete_file_log_event::print(FILE* file, bool short_form,
-				  my_off_t start_pos,
+				  my_off_t hexdump_from,
 				  LAST_EVENT_INFO* last_event_info)
 {
   if (short_form)
     return;
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fputc('\n', file);
   fprintf(file, "#Delete_file: file_id=%u\n", file_id);
 }
@@ -4506,12 +4517,12 @@
 
 #ifdef MYSQL_CLIENT  
 void Execute_load_log_event::print(FILE* file, bool short_form,
-				   my_off_t start_pos,
+				   my_off_t hexdump_from,
 				   LAST_EVENT_INFO* last_event_info)
 {
   if (short_form)
     return;
-  print_header(file, start_pos);
+  print_header(file, hexdump_from);
   fputc('\n', file);
   fprintf(file, "#Exec_load: file_id=%d\n",
 	  file_id);
@@ -4719,19 +4730,19 @@
 
 #ifdef MYSQL_CLIENT
 void Execute_load_query_log_event::print(FILE* file, bool short_form,
-					 my_off_t start_pos,
+					 my_off_t hexdump_from,
                                          LAST_EVENT_INFO* last_event_info)
 {
-  print(file, short_form, start_pos, last_event_info, 0);
+  print(file, short_form, hexdump_from, last_event_info, 0);
 }
 
 
 void Execute_load_query_log_event::print(FILE* file, bool short_form,
-					 my_off_t start_pos,
+					 my_off_t hexdump_from,
                                          LAST_EVENT_INFO* last_event_info,
                                          const char *local_fname)
 {
-  print_query_header(file, short_form, start_pos, last_event_info);
+  print_query_header(file, short_form, hexdump_from, last_event_info);
 
   if (local_fname)
   {

--- 1.116/sql/log_event.h	2005-09-29 10:42:13 +02:00
+++ 1.117/sql/log_event.h	2005-09-30 00:12:07 +02:00
@@ -589,10 +589,10 @@
   static Log_event* read_log_event(IO_CACHE* file,
                                    const Format_description_log_event *description_event);
   /* print*() functions are used by mysqlbinlog */
-  virtual void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  virtual void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 		     LAST_EVENT_INFO* last_event_info= 0) = 0;
   void print_timestamp(FILE* file, time_t *ts = 0);
-  void print_header(FILE* file, my_off_t start_pos= 0);
+  void print_header(FILE* file, my_off_t hexdump_from= 0);
 #endif
 
   static void *operator new(size_t size)
@@ -753,9 +753,9 @@
 #endif /* HAVE_REPLICATION */
 #else
   void print_query_header(FILE* file, bool short_form= 0,
-			  my_off_t start_pos= 0,
+			  my_off_t hexdump_from= 0,
 			  LAST_EVENT_INFO* last_event_info= 0);
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -810,7 +810,7 @@
   void pack_info(Protocol* protocol);
   int exec_event(struct st_relay_log_info* rli);
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -899,9 +899,9 @@
 		 bool use_rli_only_for_errors);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info = 0);
-  void print(FILE* file, bool short_form, my_off_t start_pos,
+  void print(FILE* file, bool short_form, my_off_t hexdump_from,
 	     LAST_EVENT_INFO* last_event_info, bool commented);
 #endif
 
@@ -991,7 +991,7 @@
 #endif /* HAVE_REPLICATION */
 #else
   Start_log_event_v3() {}
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1087,7 +1087,7 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1129,7 +1129,7 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1167,7 +1167,7 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1210,7 +1210,7 @@
   void pack_info(Protocol* protocol);
   int exec_event(struct st_relay_log_info* rli);
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1237,7 +1237,7 @@
   {}
   int exec_event(struct st_relay_log_info* rli);
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1277,7 +1277,7 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1331,9 +1331,9 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
-  void print(FILE* file, bool short_form, my_off_t start_pos,
+  void print(FILE* file, bool short_form, my_off_t hexdump_from,
 	     LAST_EVENT_INFO* last_event_info, bool enable_local);
 #endif
 
@@ -1401,7 +1401,7 @@
   virtual int get_create_or_append() const;
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1437,9 +1437,9 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
-  void print(FILE* file, bool short_form, my_off_t start_pos,
+  void print(FILE* file, bool short_form, my_off_t hexdump_from,
 	     LAST_EVENT_INFO* last_event_info, bool enable_local);
 #endif
 
@@ -1475,7 +1475,7 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
 #endif
 
@@ -1561,10 +1561,10 @@
   int exec_event(struct st_relay_log_info* rli);
 #endif /* HAVE_REPLICATION */
 #else
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
              LAST_EVENT_INFO* last_event_info= 0);
   /* Prints the query as LOAD DATA LOCAL and with rewritten filename */
-  void print(FILE* file, bool short_form, my_off_t start_pos,
+  void print(FILE* file, bool short_form, my_off_t hexdump_from,
 	     LAST_EVENT_INFO* last_event_info, const char *local_fname);
 #endif
   Execute_load_query_log_event(const char* buf, uint event_len,
@@ -1594,7 +1594,7 @@
     Log_event(buf, description_event)
   {}
   ~Unknown_log_event() {}
-  void print(FILE* file, bool short_form= 0, my_off_t start_pos= 0,
+  void print(FILE* file, bool short_form= 0, my_off_t hexdump_from= 0,
 	     LAST_EVENT_INFO* last_event_info= 0);
   Log_event_type get_type_code() { return UNKNOWN_EVENT;}
   bool is_valid() const { return 1; }

--- 1.115/client/mysqlbinlog.cc	2005-09-29 10:42:12 +02:00
+++ 1.116/client/mysqlbinlog.cc	2005-09-30 00:12:07 +02:00
@@ -525,7 +525,7 @@
       fprintf(result_file, "# at %s\n",llstr(pos,ll_buff));
 
     /* Set pos to 0 if hexdump is disabled */
-    pos= (opt_hexdump ? pos : 0);
+    if (!opt_hexdump) pos= 0;
 
     switch (ev_type) {
     case QUERY_EVENT:
@@ -674,8 +674,9 @@
    0, 0},
   {"help", '?', "Display this help and exit.",
    0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
-  {"hexdump", 'H', "Augment output with hexadecimal and ascii data dump.",
-   0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
+  {"hexdump", 'H', "Augment output with hexadecimal and ASCII event dump.",
+   (gptr*) &opt_hexdump, (gptr*) &opt_hexdump, 0, GET_BOOL, NO_ARG,
+   0, 0, 0, 0, 0, 0},
   {"host", 'h', "Get the binlog from server.", (gptr*) &host, (gptr*) &host,
    0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
   {"offset", 'o', "Skip the first N entries.", (gptr*) &offset, (gptr*) &offset,
@@ -854,9 +855,6 @@
 #endif
   case 'd':
     one_database = 1;
-    break;
-  case 'H':
-    opt_hexdump= 1;
     break;
   case 'p':
     if (argument)
Thread
bk commit into 5.0 tree (lars:1.2018)Lars Thalmann30 Sep