Loading mysql-test/r/myisam.result +22 −0 Original line number Diff line number Diff line Loading @@ -1831,6 +1831,28 @@ id ref 3 2 4 5 DROP TABLE t1, t2; 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; Loading mysql-test/t/myisam.test +15 −0 Original line number Diff line number Diff line Loading @@ -1169,6 +1169,21 @@ SELECT * FROM t1; DROP TABLE t1, t2; # # 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 Loading storage/myisam/mi_create.c +1 −1 Original line number Diff line number Diff line Loading @@ -196,7 +196,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, packed=(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+=packed; if (!ci->data_file_length && ci->max_rows) Loading storage/myisam/rt_index.c +2 −2 Original line number Diff line number Diff line Loading @@ -389,7 +389,7 @@ int rtree_get_first(MI_INFO *info, uint keynr, uint key_length) info->rtree_recursion_depth = -1; info->buff_used = 1; return rtree_get_req(info, &keyinfo[keynr], key_length, root, 0); return rtree_get_req(info, keyinfo, key_length, root, 0); } Loading Loading @@ -436,7 +436,7 @@ int rtree_get_next(MI_INFO *info, uint keynr, uint key_length) return -1; } return rtree_get_req(info, &keyinfo[keynr], key_length, root, 0); return rtree_get_req(info, keyinfo, key_length, root, 0); } } Loading Loading
mysql-test/r/myisam.result +22 −0 Original line number Diff line number Diff line Loading @@ -1831,6 +1831,28 @@ id ref 3 2 4 5 DROP TABLE t1, t2; 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; Loading
mysql-test/t/myisam.test +15 −0 Original line number Diff line number Diff line Loading @@ -1169,6 +1169,21 @@ SELECT * FROM t1; DROP TABLE t1, t2; # # 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 Loading
storage/myisam/mi_create.c +1 −1 Original line number Diff line number Diff line Loading @@ -196,7 +196,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, packed=(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+=packed; if (!ci->data_file_length && ci->max_rows) Loading
storage/myisam/rt_index.c +2 −2 Original line number Diff line number Diff line Loading @@ -389,7 +389,7 @@ int rtree_get_first(MI_INFO *info, uint keynr, uint key_length) info->rtree_recursion_depth = -1; info->buff_used = 1; return rtree_get_req(info, &keyinfo[keynr], key_length, root, 0); return rtree_get_req(info, keyinfo, key_length, root, 0); } Loading Loading @@ -436,7 +436,7 @@ int rtree_get_next(MI_INFO *info, uint keynr, uint key_length) return -1; } return rtree_get_req(info, &keyinfo[keynr], key_length, root, 0); return rtree_get_req(info, keyinfo, key_length, root, 0); } } Loading