List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:November 14 2006 10:48am
Subject:bk commit into 5.0 tree (aelkin:1.2304) BUG#19402
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of elkin. When elkin 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, 2006-11-14 12:48:17+02:00, aelkin@stripped +2 -0
  bug#19402 SQL close to the size of the max_allowed_packet fails on the slave
  
  ver 5.0 and 5.1 refinement.
  adding to the MAX_SIZE_LOG_EVENT_STATUS estimation status vars and 
  EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN

  sql/log_event.cc@stripped, 2006-11-14 12:48:12+02:00, aelkin@stripped +1 -0
    assertion on size of status vars

  sql/log_event.h@stripped, 2006-11-14 12:48:12+02:00, aelkin@stripped +14 -4
    MAX_SIZE_LOG_EVENT_STATUS as the max bytes of contribution of status vars into repl
    message; MAX_SIZE_LOG_EVENT_STATUS is getting more wrt to 4.1 version.

# 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:	aelkin
# Host:	dsl-hkibras-fe30f900-107.dhcp.inet.fi
# Root:	/home/elkin/MySQL/TEAM/BARE/5.0

--- 1.214/sql/log_event.cc	2006-11-14 12:48:25 +02:00
+++ 1.215/sql/log_event.cc	2006-11-14 12:48:25 +02:00
@@ -1212,6 +1212,7 @@ bool Query_log_event::write(IO_CACHE* fi
   
   /* Store length of status variables */
   status_vars_len= (uint) (start-start_of_status);
+  DBUG_ASSERT(status_vars_len <= MAX_SIZE_LOG_EVENT_STATUS);
   int2store(buf + Q_STATUS_VARS_LEN_OFFSET, status_vars_len);
 
   /*

--- 1.125/sql/log_event.h	2006-11-14 12:48:25 +02:00
+++ 1.126/sql/log_event.h	2006-11-14 12:48:25 +02:00
@@ -202,11 +202,21 @@ struct sql_ex_info
 
 /* 
   Max number of possible extra bytes in a replication event compared to a
-  packet (i.e. a query) sent from client to master.
+  packet (i.e. a query) sent from client to master;
+  First, an auxiliary log_event status vars estimation:
 */
-#define MAX_LOG_EVENT_HEADER   (LOG_EVENT_HEADER_LEN + /* write_header */ \
-				QUERY_HEADER_LEN     + /* write_data */   \
-				NAME_LEN + 1)
+#define MAX_SIZE_LOG_EVENT_STATUS (4 /* flags2 */   + \
+                                   8 /* sql mode */ + \
+                                   1 + 1 + 255 /* catalog */ + \
+                                   4 /* autoinc */ + \
+                                   6 /* charset */ + \
+                                   MAX_TIME_ZONE_NAME_LENGTH)
+#define MAX_LOG_EVENT_HEADER   ( /* in order of Query_log_event::write */ \
+  LOG_EVENT_HEADER_LEN + /* write_header */ \
+  QUERY_HEADER_LEN     + /* write_data */   \
+  EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN + /*write_post_header_for_derived */ \
+  MAX_SIZE_LOG_EVENT_STATUS + /* status */ \
+  NAME_LEN + 1)
 
 /* 
    Event header offsets; 
Thread
bk commit into 5.0 tree (aelkin:1.2304) BUG#19402Andrei Elkin14 Nov