#At file:///home/malff/BZR-TREE/mysql-6.0-11714/
2805 Marc Alff 2008-08-26 [merge]
Merge mysql-6.0-bugteam -> local bugfix branch
modified:
mysql-test/r/myisam.result
mysql-test/t/myisam.test
sql/opt_range.cc
storage/myisam/mi_create.c
=== modified file 'mysql-test/r/myisam.result'
--- a/mysql-test/r/myisam.result 2008-06-17 20:04:19 +0000
+++ b/mysql-test/r/myisam.result 2008-08-25 18:23:27 +0000
@@ -1848,6 +1848,28 @@ checksum table t3;
Table Checksum
test.t3 326284887
drop table t1,t2,t3;
+CREATE TABLE t1 (a INT) ENGINE=MyISAM CHECKSUM=1 ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES (0);
+UPDATE t1 SET a=1;
+SELECT a FROM t1;
+a
+1
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+INSERT INTO t1 VALUES (0), (5), (4), (2);
+UPDATE t1 SET a=2;
+SELECT a FROM t1;
+a
+2
+2
+2
+2
+2
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1;
End of 5.0 tests
create table t1 (a int not null, key `a` (a) key_block_size=1024);
show create table t1;
=== modified file 'mysql-test/t/myisam.test'
--- a/mysql-test/t/myisam.test 2008-06-17 20:04:19 +0000
+++ b/mysql-test/t/myisam.test 2008-08-25 18:23:27 +0000
@@ -1171,6 +1171,7 @@ SELECT * FROM t1;
DROP TABLE t1, t2;
+
#
# Test of BUG#35570 CHECKSUM TABLE unreliable if LINESTRING field
# (same content / differen checksum)
@@ -1186,6 +1187,20 @@ CREATE TABLE t3 select * from t1;
checksum table t3;
drop table t1,t2,t3;
+#
+# Bug#37310: 'on update CURRENT_TIMESTAMP' option crashes the table
+#
+CREATE TABLE t1 (a INT) ENGINE=MyISAM CHECKSUM=1 ROW_FORMAT=DYNAMIC;
+INSERT INTO t1 VALUES (0);
+UPDATE t1 SET a=1;
+SELECT a FROM t1;
+CHECK TABLE t1;
+INSERT INTO t1 VALUES (0), (5), (4), (2);
+UPDATE t1 SET a=2;
+SELECT a FROM t1;
+CHECK TABLE t1;
+DROP TABLE t1;
+
--echo End of 5.0 tests
=== modified file 'sql/opt_range.cc'
--- a/sql/opt_range.cc 2008-07-25 15:10:14 +0000
+++ b/sql/opt_range.cc 2008-08-25 18:23:27 +0000
@@ -8712,7 +8712,10 @@ QUICK_SELECT_DESC::QUICK_SELECT_DESC(QUI
used_key_parts (used_key_parts_arg)
{
QUICK_RANGE *r;
- /* Reverse MRR scans are currently not supported */
+ /*
+ Use default MRR implementation for reverse scans. No table engine
+ currently can do an MRR scan with output in reverse index order.
+ */
mrr_buf_desc= NULL;
mrr_flags |= HA_MRR_USE_DEFAULT_IMPL;
mrr_buf_size= 0;
=== modified file 'storage/myisam/mi_create.c'
--- a/storage/myisam/mi_create.c 2008-07-09 07:12:43 +0000
+++ b/storage/myisam/mi_create.c 2008-08-25 18:23:27 +0000
@@ -200,7 +200,7 @@ int mi_create(const char *name,uint keys
pack_bytes= (packed+7)/8;
if (pack_reclength != INT_MAX32)
pack_reclength+= reclength+packed +
- test(test_all_bits(options, HA_OPTION_CHECKSUM | HA_PACK_RECORD));
+ test(test_all_bits(options, HA_OPTION_CHECKSUM | HA_OPTION_PACK_RECORD));
min_pack_length+= pack_bytes;
if (!ci->data_file_length && ci->max_rows)
@@ -863,7 +863,7 @@ err_no_lock:
(void) my_close(dfile,MYF(0));
/* fall through */
case 2:
- /* QQ: T: T�nu should add a call to my_raid_delete() here */
if (! (flags & HA_DONT_TOUCH_DATA))
my_delete_with_symlink(fn_format(filename,name,"",MI_NAME_DEXT,
MY_UNPACK_FILENAME | MY_APPEND_EXT),
| Thread |
|---|
| • bzr commit into mysql-6.0 branch (marc.alff:2805) | Marc Alff | 26 Aug |