[EMAIL PROTECTED] writes:
> 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
Hi!
We do require a repeatable test case, i.e. table(s) plus set of
commands that always lead to problem, in your case to the crashing of
MySQL.
Also, I hope you have not run myisamchk while MySQL server was
running. You would be better by using CHECK TABLE command instead.
Regards,
Sinisa
____ __ _____ _____ ___ == MySQL AB
/*/\*\/\*\ /*/ \*\ /*/ \*\ |*| Sinisa Milivojevic
/*/ /*/ /*/ \*\_ |*| |*||*| mailto:[EMAIL PROTECTED]
/*/ /*/ /*/\*\/*/ \*\|*| |*||*| Larnaca, Cyprus
/*/ /*/ /*/\*\_/*/ \*\_/*/ |*|____
^^^^^^^^^^^^/*/^^^^^^^^^^^\*\^^^^^^^^^^^
/*/ \*\ Developers Team
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php