Hi !
I notice a bug with MySQL 3.23.36 with REPLACE DELAYED which crash my MyISAM
tables.
The problem was present in MySQL 3.23.34, but not in 3.23.33 nor 3.23.35.
The bug occurs randomly and makes MySQL restart...
With REPLACE instead of REPLACE DELAYED, there seems to be no problem.
Here is what MyISAMCHK report :
Checking MyISAM file: online
Data records: 96 Deleted blocks: 79
myisamchk: warning: Table is marked as crashed
- check file-size
- check key delete-chain
- check record delete-chain
myisamchk: error: record delete-link-chain corrupted
- check index reference
- check data record references index: 1
myisamchk: error: Found key at page 2048 that points to record outside
datafile
MyISAM-table 'online' is corrupted
Here is what I use with PHP :
mysql_query("REPLACE DELAYED INTO online (pseudo,date,cat,forum) VALUES
('$user','$time','$cat','$site')",$dbh) or die( "Erreur 1:".mysql_error());
}
else
{
mysql_query("REPLACE DELAYED INTO guest (pseudo,date,forum) VALUES
('$REMOTE_ADDR','$time','$site')",$dbh) or die( "Erreur:".mysql_error());
}
$timeold=$time-120;
@mysql_query("DELETE FROM online WHERE date < $timeold",$dbh) or die(
"Erreur:".mysql_error());
@mysql_query("DELETE FROM guest WHERE date < $timeold",$dbh) or die(
"Erreur:".mysql_error());
Now the online and guest table structure :
CREATE TABLE online (pseudo char(35) NOT NULL,date int(11) unsigned DEFAULT
'0' NOT NULL,cat tinyint(4) unsigned DEFAULT '0' NOT NULL,forum char(35) NOT
NULL,PRIMARY KEY (pseudo),KEY date (date));
CREATE TABLE guest (pseudo char(35) NOT NULL,date int(11) unsigned DEFAULT
'0' NOT NULL,forum char(35) NOT NULL,PRIMARY KEY (pseudo),KEY date (date));
If I have time I'll try to make a stack trace report...
----------------------------------
Jocelyn Fournier
Presence-PC
www.presence-pc.com