Bug #506 MySQL 4.0.13 files to access the table MySQL 4.0.12, 3.23.57 opens file
Submitted: 26 May 2003 8:55 Modified: 16 Jun 2003 10:07
Reporter: Peter Zaitsev (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: MyISAM storage engine Severity:S3 (Non-critical)
Version:4.0.13 OS:Any (all)
Assigned to: Sergei Golubchik CPU Architecture:Any

[26 May 2003 8:55] Peter Zaitsev
Description:
The table is known to work with MySQL 4.0.12,
MySQL 4.0.13 however fails to open it, reporting error #138, 
myisamchk from MySQL 4.1 as well as 4.0.13 fails to access it as well.
Normal REPAIR TABLE fails as well as MyISAMCHK

myisamchk from MySQL 3.23.57:

Checking MyISAM file: postscobe3.MYI
Data records:     262   Deleted blocks:       0
- check file-size
- check key delete-chain
- check record delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check data record references index: 3
- check data record references index: 4
- check data record references index: 5
- check data record references index: 6
/home/pz/mysql/mysql-3.23/myisam/myisamchk: error: Key in wrong position at page 6144
- check record links
/home/pz/mysql/mysql-3.23/myisam/myisamchk: error: Keypointers and record positions doesn't match
MyISAM-table 'postscobe3.MYI' is corrupted
Fix it using switch "-r" or "-o"

REPAIR TABLE USE_FRM worked fine.

How to repeat:
Check  uploaded table:
postscobe3.rar
[28 May 2003 5:02] Ramil Kalimullin
I spent some time digging the problem.
What I found is:
1. it seems to me that problem is in FULLTEXT-related code
 something strange happens in myisam/mi_open.c (lines 332 - 368 in the latest 4.1 tree)
2. This code was added by serg:

ChangeSet
  1.1396 03/01/21 19:24:34 serg@serg.mysql.com +25 -0
  Two-level index structure for FULLTEXT indexes
..........
  myisam/mi_open.c
    1.55 03/01/02 21:00:16 serg@sergbook.mysql.com +16 -7
    preserve 4.0 compatibility for FULLTEXT indexes
..........
  myisam/mi_open.c
    1.56 03/01/06 12:37:40 serg@sergbook.mysql.com +17 -7
    creating two-level ft tree in mi_repair_by_sort, cleanups
[16 Jun 2003 10:07] Sergei Golubchik
fixed in 4.0.14.