#At file:///export/home/log/Narayanan/mysql_checkouts_bazaar/5.1_main_repository/mysql-6.0-bugteam-37631-6/ based on revid:sergey.glukhov@stripped
3244 Narayanan V 2009-04-30 [merge]
merging with mysql-5.1-bugteam
added:
mysql-test/std_data/bug37631.MYD
mysql-test/std_data/bug37631.MYI
mysql-test/std_data/bug37631.frm
modified:
mysql-test/r/upgrade.result
mysql-test/t/upgrade.test
storage/myisam/ha_myisam.cc
=== modified file 'mysql-test/r/upgrade.result'
--- a/mysql-test/r/upgrade.result 2009-04-10 09:25:48 +0000
+++ b/mysql-test/r/upgrade.result 2009-04-30 12:46:49 +0000
@@ -57,6 +57,18 @@ s1
1
drop table `txu@0023p@0023p1`;
drop table `txu#p#p1`;
+#
+# Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
+#
+# copy table created using mysql4.0 into the data dir
+# check the table created using mysql 4.0
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!
+# query the table created using mysql 4.0
+SELECT * FROM t1;
+c1 c2 c3
+DROP TABLE t1;
truncate t1;
drop table t1;
drop database if exists `tabc`;
=== added file 'mysql-test/std_data/bug37631.MYD'
=== added file 'mysql-test/std_data/bug37631.MYI'
Binary files a/mysql-test/std_data/bug37631.MYI 1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/bug37631.MYI 2009-04-30 12:46:49 +0000 differ
=== added file 'mysql-test/std_data/bug37631.frm'
Binary files a/mysql-test/std_data/bug37631.frm 1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/bug37631.frm 2009-04-30 12:46:49 +0000 differ
=== modified file 'mysql-test/t/upgrade.test'
--- a/mysql-test/t/upgrade.test 2009-04-13 13:28:23 +0000
+++ b/mysql-test/t/upgrade.test 2009-04-30 12:55:05 +0000
@@ -48,6 +48,20 @@ select * from `txu#p#p1`;
drop table `txu@0023p@0023p1`;
drop table `txu#p#p1`;
+--echo #
+--echo # Bug#37631 Incorrect key file for table after upgrading from 5.0 to 5.1
+--echo #
+--echo # copy table created using mysql4.0 into the data dir
+let $MYSQLD_DATADIR= `SELECT @@datadir`;
+copy_file std_data/bug37631.frm $MYSQLD_DATADIR/test/t1.frm;
+copy_file std_data/bug37631.MYD $MYSQLD_DATADIR/test/t1.MYD;
+copy_file std_data/bug37631.MYI $MYSQLD_DATADIR/test/t1.MYI;
+--echo # check the table created using mysql 4.0
+CHECK TABLE t1;
+--echo # query the table created using mysql 4.0
+SELECT * FROM t1;
+DROP TABLE t1;
+
#
# Check if old tables work
#
=== modified file 'storage/myisam/ha_myisam.cc'
--- a/storage/myisam/ha_myisam.cc 2009-04-30 08:08:45 +0000
+++ b/storage/myisam/ha_myisam.cc 2009-04-30 12:55:05 +0000
@@ -415,7 +415,7 @@ int check_definition(MI_KEYDEF *t1_keyin
test(t2_keyinfo[i].flag & HA_SPATIAL)));
DBUG_RETURN(1);
}
- if ((mysql_40_compat &&
+ if ((!mysql_40_compat &&
t1_keyinfo[i].key_alg != t2_keyinfo[i].key_alg) ||
t1_keyinfo[i].keysegs != t2_keyinfo[i].keysegs)
{
@@ -447,7 +447,7 @@ int check_definition(MI_KEYDEF *t1_keyin
t1_keysegs_j__type= HA_KEYTYPE_VARBINARY1; /* purecov: inspected */
}
- if ((mysql_40_compat &&
+ if ((!mysql_40_compat &&
t1_keysegs[j].language != t2_keysegs[j].language) ||
t1_keysegs_j__type != t2_keysegs[j].type ||
t1_keysegs[j].null_bit != t2_keysegs[j].null_bit ||
Attachment: [text/bzr-bundle] bzr/v.narayanan@sun.com-20090430125505-wfp36ijz4w1cw3cg.bundle
| Thread |
|---|
| • bzr commit into mysql-6.0-bugteam branch (v.narayanan:3244) | Narayanan V | 30 Apr |