Bug #4214 | Table corruption with myisampack and large BLOB objects | ||
---|---|---|---|
Submitted: | 18 Jun 2004 22:15 | Modified: | 8 Sep 2005 17:09 |
Reporter: | Miguel Solorzano | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: MyISAM storage engine | Severity: | S2 (Serious) |
Version: | 4.1.2 | OS: | Windows (Windows) |
Assigned to: | Ramil Kalimullin | CPU Architecture: | Any |
[18 Jun 2004 22:15]
Miguel Solorzano
[25 Jun 2004 14:27]
Sergei Golubchik
Miguel, do you mean that *any* large blob will do, or I need your specific image.bmp and image2.bmp files to repeat the corruption ?
[25 Jun 2004 15:16]
MySQL Verification Team
Yes it was necessary to insert 2 rows (I noticed that the customer did the same) the reason was that the myisampack gives a message that the table is very small for to compress with only one row.
[26 Jun 2004 22:15]
Sergei Golubchik
Yes, myisampack currently do not support blobs larger than 2^24 (3 bytes for length). Simplified test case: CREATE TABLE t1 ( GRAPHICCONTROLNUMBER varchar(25) NOT NULL default '', IMAGETYPE char(1) NOT NULL default '', GRAPHICUPDATEDATE date NOT NULL default "1900-01-01", IMAGE longblob NOT NULL, PRIMARY KEY (GRAPHICCONTROLNUMBER,IMAGETYPE)); insert into t1 values ("33333-id","1","2004-06-17",repeat("a",16777216)), ("33334-id","1","2004-06-17",''); myisampack it - myisamchk will fail. Put 16777215 as the length - myisampack, myisamchk will work ok. see save_pack_length() in myisampack.c and mi_packrec.c Let's see what we can do here...
[8 Jul 2005 18:46]
Michael Pechner
I am have issues as well with a table with a text instead of a blob field in it. When I run myisamchk -r as recommended, my table gets trashed. All data gone. I am running on FreeBSD not windows.
[5 Sep 2005 11:33]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/29317
[5 Sep 2005 14:06]
Ramil Kalimullin
fixed in 4.1.15
[8 Sep 2005 17:09]
Paul DuBois
Noted in 4.1.15, 5.0.13 changelogs.