mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145)
Since 4.1 keys are compared with trailing spaces. Thus, a "x " key can be inserted between a couple of "x" keys. The existing code did not take this into account. Though the comments in the code claimed it did. myisam/mi_search.c: Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145) Fixed some function comments. In the case when we insert a different key between two identical keys, the difference must be additional spaces. In this case the prefix is the same as that of the new key instead of the (zero) remaining length. myisam/mi_write.c: Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145) Fixed a function comment. mysql-test/r/myisam.result: Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145) The test result. mysql-test/t/myisam.test: Bug#9188 - Corruption Can't open file: 'table.MYI' (errno: 145) The test case.
This commit is contained in:
@ -573,3 +573,11 @@ truncate table t1;
|
||||
ERROR HY000: MyISAM table 't1' is in use (most likely by a MERGE table). Try FLUSH TABLES.
|
||||
insert into t1 values (1);
|
||||
drop table t1,t2;
|
||||
create table t1 (c1 int, c2 varchar(4) not null default '',
|
||||
key(c2(3))) default charset=utf8;
|
||||
insert into t1 values (1,'A'), (2, 'B'), (3, 'A');
|
||||
update t1 set c2='A B' where c1=2;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user