From: Date: November 14 2006 11:48am Subject: bk commit into 5.0 tree (aelkin:1.2304) BUG#19402 List-Archive: http://lists.mysql.com/commits/15291 X-Bug: 19402 Message-Id: <200611141048.kAEAmPB7021187@dsl-hkibras-fe30f900-107.dhcp.inet.fi> 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;