List:Internals« Previous MessageNext Message »
From:Mats Kindahl Date:April 28 2005 12:50pm
Subject:bk commit into 5.1 tree (mats:1.1825)
View as plain text  
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
  1.1825 05/04/28 14:50:53 mats@stripped +4 -0
  Merge with WL#2325 clone.

  mysql-test/r/rpl_row_basic_3innodb.result
    1.4 05/04/28 14:50:49 mats@stripped +168 -235
    Merge with WL#2325 clone.

  sql/log_event.cc
    1.185 05/04/28 14:45:49 mats@stripped +0 -0
    Auto merged

  sql/handler.cc
    1.165 05/04/28 14:45:48 mats@stripped +0 -0
    Auto merged

  mysql-test/include/rpl_row_basic.inc
    1.3 05/04/28 14:45:48 mats@stripped +0 -0
    Auto merged

# 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.kindahl.net
# Root:	/home/bk/w2325-mysql-5.1/RESYNC

--- 1.164/sql/handler.cc	2005-04-26 11:17:20 +02:00
+++ 1.165/sql/handler.cc	2005-04-28 14:45:48 +02:00
@@ -2418,16 +2418,18 @@
 ha_write_row(byte *buf) 
 {
   DBUG_ENTER("ha_write_row");
-  DBUG_PRINT("enter", ("row: 0x%0x", buf));
+  DBUG_PRINT("enter", ("table=%p (%s), row=%p", 
+		       table, table->s->table_name, buf));
 #ifndef DBUG_OFF
   DBUG_PRINT("info", ("thd->query_id=%lu", current_thd->query_id));
   for (size_t i = 0 ; i < table->s->fields ; ++i) 
   {
-    DBUG_PRINT("info", ("Field '%s': query_id=%lu, offset=%d, ptr=%p",
+    int const offset = table->field[i]->offset();
+    DBUG_PRINT("info", ("Field '%s': offset=%d, ptr=%p, query_id=%lu",
 			table->field[i]->field_name,
-			table->field[i]->query_id,
-			table->field[i]->offset(),
-			table->field[i]->ptr));
+			offset,
+			table->field[i]->ptr,
+			table->field[i]->query_id));
   }
 #endif
   DBUG_PRINT("info", ("Writing row to actual handler"));
@@ -2452,7 +2454,8 @@
 ha_update_row(const byte *old_data, byte *new_data) 
 {
   DBUG_ENTER("ha_update_row");
-  DBUG_PRINT("enter", ("before: 0x%0x; after: 0x%0x", old_data, new_data));
+  DBUG_PRINT("enter", ("table=%p (%s), before: %p; after: %p", 
+		       table, table->s->table_name, old_data, new_data));
 #ifndef DBUG_OFF
   DBUG_PRINT("info", ("thd->query_id=%lu", current_thd->query_id));
   for (size_t i = 0 ; i < table->s->fields ; ++i) 
@@ -2485,7 +2488,8 @@
 ha_delete_row(const byte *buf) 
 {
   DBUG_ENTER("ha_delete_row");
-  DBUG_PRINT("enter", ("row: 0x%0x", buf));
+  DBUG_PRINT("enter", ("table=%p (%s), row=%p", 
+		       table, table->s->table_name, buf));
 #ifndef DBUG_OFF
   DBUG_PRINT("info", ("thd->query_id=%lu", current_thd->query_id));
   for (size_t i = 0 ; i < table->s->fields ; ++i) 

--- 1.184/sql/log_event.cc	2005-04-28 08:48:52 +02:00
+++ 1.185/sql/log_event.cc	2005-04-28 14:45:49 +02:00
@@ -4968,6 +4968,15 @@
 
 #ifndef MYSQL_CLIENT
 #ifdef HAVE_REPLICATION
+static char const*
+show_bytes(char const* data, size_t size, char* const buf)
+{
+  char* ptr = buf;
+  while (size-- > 0)
+    ptr += sprintf(ptr, " %0x", (int) (unsigned char) *data++);
+  return buf;
+}
+
 /*
   Unpack a row into a record. The row is assumed to only consist of the fields
   for which the bitset represented by 'arr' and 'bits'; the other parts of the
@@ -5542,6 +5551,8 @@
 do_exec_row(TABLE* table, st_relay_log_info* rli)
 {
   DBUG_ENTER("Write_rows_log_event::do_exec_row(TABLE*,...)");
+  DBUG_PRINT("enter", ("table=%p (%s), rli=%p", 
+		       table, table->s->table_name, rli));
   DBUG_ASSERT(table != NULL);
   int error = table->file->ha_write_row(table->record[0]);
   DBUG_RETURN(error);
@@ -5760,6 +5771,8 @@
 do_exec_row(TABLE* table, st_relay_log_info* rli)
 {
   DBUG_ENTER("Delete_rows_log_event::do_exec_row(TABLE*,...)");
+  DBUG_PRINT("enter", ("table=%p (%s), rli=%p", 
+		       table, table->s->table_name, rli));
   DBUG_ASSERT(table != NULL);
   int error;
 
@@ -5895,6 +5908,8 @@
 do_exec_row(TABLE* table, st_relay_log_info* rli)
 {
   DBUG_ENTER("Update_rows_log_event::do_exec_row(TABLE*,...)");
+  DBUG_PRINT("enter", ("table=%p (%s), rli=%p", 
+		       table, table->s->table_name, rli));
   DBUG_ASSERT(table != NULL);
   int error;
 

--- 1.2/mysql-test/include/rpl_row_basic.inc	2005-04-27 00:22:00 +02:00
+++ 1.3/mysql-test/include/rpl_row_basic.inc	2005-04-28 14:45:48 +02:00
@@ -122,5 +122,17 @@
 
 drop table if exists t1,t2,t3;
 
+#
+# Testing special column types
+#
+
+connection master;
+eval CREATE TABLE t4 (C1 CHAR(1) PRIMARY KEY, B1 BIT(1), B2 BIT(1) NOT NULL DEFAULT 0, C2 CHAR(1) NOT NULL DEFAULT 'A') ENGINE = $type ;
+
+INSERT INTO t4 SET C1 = 1;
+SELECT C1,HEX(B1),HEX(B2) FROM t4;
+sync_slave_with_master;
+SELECT C1,HEX(B1),HEX(B2) FROM t4;
+
 connection slave;
 slave stop;

--- 1.3/mysql-test/r/rpl_row_basic_3innodb.result	2005-04-27 00:22:00 +02:00
+++ 1.4/mysql-test/r/rpl_row_basic_3innodb.result	2005-04-28 14:50:49 +02:00
@@ -4,291 +4,241 @@
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
-CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), C3 INT, PRIMARY KEY (C3)) ENGINE = 'INNODB'  ;
+CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'INNODB'  ;
 SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 <binlog>	<pos>	Format_desc	1	<end_log_pos>	Server ver: 5.1.0-alpha-debug-log, Binlog ver: 4
-<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), C3 INT, PRIMARY KEY (C3)) ENGINE = 'INNODB'
+<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'INNODB'
 SELECT * FROM t1;
-C1	C2	C3
+C1	C2
 SELECT * FROM t1;
-C1	C2	C3
-INSERT INTO t1 VALUES ('A','B',1), ('X','Y',2), ('X','X',3);
-INSERT INTO t1 VALUES ('A','C',4), ('X', 'Z',5), ('A', 'A',6);
+C1	C2
+INSERT INTO t1 VALUES ('A','B'), ('X','Y'), ('X','X');
+INSERT INTO t1 VALUES ('A','C'), ('X', 'Z'), ('A', 'A');
 SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 <binlog>	<pos>	Format_desc	1	<end_log_pos>	Server ver: 5.1.0-alpha-debug-log, Binlog ver: 4
-<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), C3 INT, PRIMARY KEY (C3)) ENGINE = 'INNODB'
+<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'INNODB'
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Write_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=246 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=16 */
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Write_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=247 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=17 */
 SELECT * FROM t1 ORDER BY C1,C2;
-C1	C2	C3
-A	A	6
-A	B	1
-A	C	4
-X	X	3
-X	Y	2
-X	Z	5
+C1	C2
+A	A
+A	B
+A	C
+X	X
+X	Y
+X	Z
 SELECT * FROM t1 ORDER BY C1,C2;
-C1	C2	C3
-A	A	6
-A	B	1
-A	C	4
-X	X	3
-X	Y	2
-X	Z	5
+C1	C2
+A	A
+A	B
+A	C
+X	X
+X	Y
+X	Z
 DELETE FROM t1 WHERE C1 = C2;
 SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 <binlog>	<pos>	Format_desc	1	<end_log_pos>	Server ver: 5.1.0-alpha-debug-log, Binlog ver: 4
-<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), C3 INT, PRIMARY KEY (C3)) ENGINE = 'INNODB'
+<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'INNODB'
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Write_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=246 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=16 */
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Write_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=247 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=17 */
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Delete_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=253 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=23 */
 SELECT * FROM t1 ORDER BY C1,C2;
-C1	C2	C3
-A	B	1
-A	C	4
-X	Y	2
-X	Z	5
-SELECT * FROM t1 ORDER BY C1,C2;
-C1	C2	C3
-A	B	1
-A	C	4
-X	Y	2
-X	Z	5
+C1	C2
+A	B
+A	C
+X	Y
+X	Z
+SELECT * FROM t1 ORDER BY C1,C2;
+C1	C2
+A	B
+A	C
+X	Y
+X	Z
 UPDATE t1 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
 SHOW BINLOG EVENTS;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 <binlog>	<pos>	Format_desc	1	<end_log_pos>	Server ver: 5.1.0-alpha-debug-log, Binlog ver: 4
-<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), C3 INT, PRIMARY KEY (C3)) ENGINE = 'INNODB'
+<binlog>	<pos>	Query	1	<end_log_pos>	use `test`; CREATE TABLE t1 (C1 CHAR(1), C2 CHAR(1), INDEX (C1)) ENGINE = 'INNODB'
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Write_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=246 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=16 */
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Write_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=247 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=17 */
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Delete_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=253 */
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=23 */
 <binlog>	<pos>	Table_map	1	<end_log_pos>	
 <binlog>	<pos>	Update_rows	1	<end_log_pos>	
-<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=259 */
-SELECT * FROM t1 ORDER BY C1,C2;
-C1	C2	C3
-A	B	1
-A	I	4
-X	Y	2
-X	Z	5
+<binlog>	<pos>	Xid	1	<end_log_pos>	COMMIT /* xid=29 */
 SELECT * FROM t1 ORDER BY C1,C2;
-C1	C2	C3
-A	B	1
-A	I	4
-X	Y	2
-X	Z	5
-CREATE TABLE t2 (c1 INT, c12 char(1), c2 INT, PRIMARY KEY (c1)) ENGINE = 'INNODB'  ;
+C1	C2
+A	B
+A	I
+X	Y
+X	Z
+SELECT * FROM t1 ORDER BY C1,C2;
+C1	C2
+A	B
+A	I
+X	Y
+X	Z
+CREATE TABLE t2 (c1 INT, c2 INT, PRIMARY KEY (c1)) ENGINE = 'INNODB'  ;
 INSERT INTO t2 
-VALUES (1,'A',2),  (2,'A',4),  (3,'A',9),  (4,'A',15), (5,'A',25), 
-(6,'A',35), (7,'A',50), (8,'A',64), (9,'A',81);
+VALUES (1,2),  (2,4),  (3,9),  (4,15), (5,25), 
+(6,35), (7,50), (8,64), (9,81);
 SELECT * FROM t2 ORDER BY c1,c2;
-c1	c12	c2
-1	A	2
-2	A	4
-3	A	9
-4	A	15
-5	A	25
-6	A	35
-7	A	50
-8	A	64
-9	A	81
+c1	c2
+1	2
+2	4
+3	9
+4	15
+5	25
+6	35
+7	50
+8	64
+9	81
 SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1	c12	c2
-2	A	4
-3	A	9
-5	A	25
-8	A	64
-9	A	81
+c1	c2
+2	4
+3	9
+5	25
+8	64
+9	81
 SELECT * FROM t2 ORDER BY c1,c2;
-c1	c12	c2
-1	A	2
-2	A	4
-3	A	9
-4	A	15
-5	A	25
-6	A	35
-7	A	50
-8	A	64
-9	A	81
+c1	c2
+1	2
+2	4
+3	9
+4	15
+5	25
+6	35
+7	50
+8	64
+9	81
 SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1	c12	c2
-2	A	4
-3	A	9
-5	A	25
-8	A	64
-9	A	81
+c1	c2
+2	4
+3	9
+5	25
+8	64
+9	81
 UPDATE t2 SET c2 = c1*c1 WHERE c2 != c1*c1;
 SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1	c12	c2
-1	A	1
-2	A	4
-3	A	9
-4	A	16
-5	A	25
-6	A	36
-7	A	49
-8	A	64
-9	A	81
+c1	c2
+1	1
+2	4
+3	9
+4	16
+5	25
+6	36
+7	49
+8	64
+9	81
 SELECT * FROM t2 WHERE c2 = c1 * c1 ORDER BY c1,c2;
-c1	c12	c2
-1	A	1
-2	A	4
-3	A	9
-4	A	16
-5	A	25
-6	A	36
-7	A	49
-8	A	64
-9	A	81
+c1	c2
+1	1
+2	4
+3	9
+4	16
+5	25
+6	36
+7	49
+8	64
+9	81
 DELETE FROM t2 WHERE c1 % 4 = 0;
 SELECT * FROM t2 ORDER BY c1,c2;
-c1	c12	c2
-1	A	1
-2	A	4
-3	A	9
-5	A	25
-6	A	36
-7	A	49
-9	A	81
+c1	c2
+1	1
+2	4
+3	9
+5	25
+6	36
+7	49
+9	81
 SELECT * FROM t2 ORDER BY c1,c2;
-c1	c12	c2
-1	A	1
-2	A	4
-3	A	9
-5	A	25
-6	A	36
-7	A	49
-9	A	81
-UPDATE t2 SET c12='X';
-CREATE TABLE t3 (C1 CHAR(1), C2 CHAR(1), pk1 int, C3 CHAR(1), pk2 char(20),
-primary key (pk1,pk2)) ENGINE = 'INNODB'  ;
-SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-INSERT INTO t3 VALUES ('A','B',1,'B',1), ('X','Y',2,'B',1), ('X','X',3,'B',1);
-INSERT INTO t3 VALUES ('A','C',1,'B',2), ('X','Z',2,'B',2), ('A','A',3,'B',2);
-SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-A	A	3	B	2
-A	B	1	B	1
-A	C	1	B	2
-X	X	3	B	1
-X	Y	2	B	1
-X	Z	2	B	2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-A	A	3	B	2
-A	B	1	B	1
-A	C	1	B	2
-X	X	3	B	1
-X	Y	2	B	1
-X	Z	2	B	2
+c1	c2
+1	1
+2	4
+3	9
+5	25
+6	36
+7	49
+9	81
+CREATE TABLE t3 (C1 CHAR(1), C2 CHAR(1)) ENGINE = 'INNODB'  ;
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+INSERT INTO t3 VALUES ('A','B'), ('X','Y'), ('X','X');
+INSERT INTO t3 VALUES ('A','C'), ('X', 'Z'), ('A', 'A');
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+A	A
+A	B
+A	C
+X	X
+X	Y
+X	Z
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+A	A
+A	B
+A	C
+X	X
+X	Y
+X	Z
 DELETE FROM t3 WHERE C1 = C2;
 SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-A	B	1	B	1
-A	C	1	B	2
-X	Y	2	B	1
-X	Z	2	B	2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-A	B	1	B	1
-A	C	1	B	2
-X	Y	2	B	1
-X	Z	2	B	2
+C1	C2
+A	B
+A	C
+X	Y
+X	Z
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+A	B
+A	C
+X	Y
+X	Z
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+A	B
+A	C
+X	Y
+X	Z
 UPDATE t3 SET C2 = 'I' WHERE C1 = 'A' AND C2 = 'C';
 SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-A	B	1	B	1
-A	I	1	B	2
-X	Y	2	B	1
-X	Z	2	B	2
-SELECT * FROM t3 ORDER BY C1,C2;
-C1	C2	pk1	C3	pk2
-A	B	1	B	1
-A	I	1	B	2
-X	Y	2	B	1
-X	Z	2	B	2
-update t1,t2,t3 set t1.C2='Q', t2.c12='R', t3.C3 ='S' where t1.C1 = t2.c12 and t1.C1 = t3.C1;
-select * from t1,t2,t3 where t1.C2='Q' and t2.c12='R' and t3.C3 ='S' order by t1.C3,t2.c1,t3.pk1,t3.pk2;
-C1	C2	C3	c1	c12	c2	C1	C2	pk1	C3	pk2
-X	Q	2	1	R	1	X	Y	2	S	1
-X	Q	2	1	R	1	X	Z	2	S	2
-X	Q	2	2	R	4	X	Y	2	S	1
-X	Q	2	2	R	4	X	Z	2	S	2
-X	Q	2	3	R	9	X	Y	2	S	1
-X	Q	2	3	R	9	X	Z	2	S	2
-X	Q	2	5	R	25	X	Y	2	S	1
-X	Q	2	5	R	25	X	Z	2	S	2
-X	Q	2	6	R	36	X	Y	2	S	1
-X	Q	2	6	R	36	X	Z	2	S	2
-X	Q	2	7	R	49	X	Y	2	S	1
-X	Q	2	7	R	49	X	Z	2	S	2
-X	Q	2	9	R	81	X	Y	2	S	1
-X	Q	2	9	R	81	X	Z	2	S	2
-X	Q	5	1	R	1	X	Y	2	S	1
-X	Q	5	1	R	1	X	Z	2	S	2
-X	Q	5	2	R	4	X	Y	2	S	1
-X	Q	5	2	R	4	X	Z	2	S	2
-X	Q	5	3	R	9	X	Y	2	S	1
-X	Q	5	3	R	9	X	Z	2	S	2
-X	Q	5	5	R	25	X	Y	2	S	1
-X	Q	5	5	R	25	X	Z	2	S	2
-X	Q	5	6	R	36	X	Y	2	S	1
-X	Q	5	6	R	36	X	Z	2	S	2
-X	Q	5	7	R	49	X	Y	2	S	1
-X	Q	5	7	R	49	X	Z	2	S	2
-X	Q	5	9	R	81	X	Y	2	S	1
-X	Q	5	9	R	81	X	Z	2	S	2
-select * from t1,t2,t3 where t1.C2='Q' and t2.c12='R' and t3.C3 ='S' order by t1.C3,t2.c1,t3.pk1,t3.pk2;
-C1	C2	C3	c1	c12	c2	C1	C2	pk1	C3	pk2
-X	Q	2	1	R	1	X	Y	2	S	1
-X	Q	2	1	R	1	X	Z	2	S	2
-X	Q	2	2	R	4	X	Y	2	S	1
-X	Q	2	2	R	4	X	Z	2	S	2
-X	Q	2	3	R	9	X	Y	2	S	1
-X	Q	2	3	R	9	X	Z	2	S	2
-X	Q	2	5	R	25	X	Y	2	S	1
-X	Q	2	5	R	25	X	Z	2	S	2
-X	Q	2	6	R	36	X	Y	2	S	1
-X	Q	2	6	R	36	X	Z	2	S	2
-X	Q	2	7	R	49	X	Y	2	S	1
-X	Q	2	7	R	49	X	Z	2	S	2
-X	Q	2	9	R	81	X	Y	2	S	1
-X	Q	2	9	R	81	X	Z	2	S	2
-X	Q	5	1	R	1	X	Y	2	S	1
-X	Q	5	1	R	1	X	Z	2	S	2
-X	Q	5	2	R	4	X	Y	2	S	1
-X	Q	5	2	R	4	X	Z	2	S	2
-X	Q	5	3	R	9	X	Y	2	S	1
-X	Q	5	3	R	9	X	Z	2	S	2
-X	Q	5	5	R	25	X	Y	2	S	1
-X	Q	5	5	R	25	X	Z	2	S	2
-X	Q	5	6	R	36	X	Y	2	S	1
-X	Q	5	6	R	36	X	Z	2	S	2
-X	Q	5	7	R	49	X	Y	2	S	1
-X	Q	5	7	R	49	X	Z	2	S	2
-X	Q	5	9	R	81	X	Y	2	S	1
-X	Q	5	9	R	81	X	Z	2	S	2
-drop table if exists t1,t2,t3;
+C1	C2
+A	B
+A	I
+X	Y
+X	Z
+SELECT * FROM t3 ORDER BY C1,C2;
+C1	C2
+A	B
+A	I
+X	Y
+X	Z
+CREATE TABLE t4 (C1 CHAR(1) PRIMARY KEY, B1 BIT(1), B2 BIT(1) NOT NULL DEFAULT 0, C2 CHAR(1) NOT NULL DEFAULT 'A') ENGINE = 'INNODB'  ;
+INSERT INTO t4 SET C1 = 1;
+SELECT C1,HEX(B1),HEX(B2) FROM t4;
+C1	HEX(B1)	HEX(B2)
+1	NULL	0
+SELECT C1,HEX(B1),HEX(B2) FROM t4;
+C1	HEX(B1)	HEX(B2)
+1	NULL	0
 slave stop;
Thread
bk commit into 5.1 tree (mats:1.1825)Mats Kindahl28 Apr