1
0
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:
unknown
2005-04-08 14:13:02 +02:00
parent 98e615ba35
commit 7ff8fc73c9
4 changed files with 85 additions and 10 deletions

View File

@ -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;