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-03-08 09:02:44+01:00, mats@romeo.(none) +1 -0
BUG#22583:
RBR between MyISAM and non-MyISAM tables containing a BIT
field does not work
Fix to prevent MyISAM from reading data from NULL BLOB.
sql/log_event.cc@stripped, 2007-03-08 09:02:41+01:00, mats@romeo.(none) +8 -1
Emptying the record entirely since it appears MyISAM reads blob column
data even when they are NULL.
# 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: romeo.(none)
# Root: /home/bk/b22583-mysql-5.1-new-rpl
--- 1.274/sql/log_event.cc 2007-03-08 09:02:52 +01:00
+++ 1.275/sql/log_event.cc 2007-03-08 09:02:52 +01:00
@@ -5641,7 +5641,7 @@
bitmap_clear_all(rw_set);
- memcpy(table->record[0], table->s->default_values, table->s->null_bytes);
+ empty_record(table);
Field **const begin_ptr = table->field;
Field **field_ptr;
@@ -5657,6 +5657,10 @@
{
Field *const f= *field_ptr;
+ /*
+ No need to bother about columns that does not exist: they have
+ gotten default values when being emptied above.
+ */
if (bitmap_is_set(cols, field_ptr - begin_ptr))
{
if ((null_mask & 0xFF) == 0)
@@ -5680,7 +5684,10 @@
/*
We only unpack the field if it was non-null
*/
+ const char *const old_ptr= pack_ptr;
pack_ptr= f->unpack(f->ptr, pack_ptr);
+ DBUG_PRINT("debug", ("Unpacking field '%s' from %d bytes",
+ f->field_name, pack_ptr - old_ptr));
}
bitmap_set_bit(rw_set, field_ptr - begin_ptr);
| Thread |
|---|
| • bk commit into 5.1 tree (mats:1.2473) BUG#22583 | Mats Kindahl | 8 Mar |