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#19402 | Andrei Elkin | 14 Nov |