Hi Satya,
approved, but please fix a small test file issue. Please see below.
Satya B, 10.03.2009 11:04:
...
> 2820 Satya B 2009-03-10
> Fix for BUG#32880 - Repairing Archive table fails with internal error 144
>
> Repairing Archive table fails as the row read from the
> corrupted archive table is not equal the length at the time
> of insert.
>
> Any statement reading corrupt archive data file
> (CHECK/REPAIR/SELECT/UPDATE/DELETE) may cause assertion
> failure in debug builds. This assertion has been removed
> and an error is returned instead.
>
> Also fixed that CHECK/REPAIR returns vague error message
> when it mets corruption in archive data file. This is
> fixed by returning proper error code.
...
> --- a/mysql-test/r/archive.result 2008-03-14 16:59:03 +0000
> +++ b/mysql-test/r/archive.result 2009-03-10 10:04:19 +0000
> @@ -12695,3 +12695,16 @@ a b
> 1 NULL
> 2 NULL
> DROP TABLE t1;
> +SHOW CREATE TABLE t1;
> +Table Create Table
> +t1 CREATE TABLE `t1` (
> + `a` int(11) DEFAULT NULL,
> + `b` blob
> +) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
Huh? This is *extremely* confusing. A SHOW CREATE TABLE after a DROP
TABLE is expected to fail with "no such table".
Please add an --echo # comment in the test file saying that you copy t1
from std_data, before using it. That way the result file would become
somewhat readable.
...
> +#
> +# BUG#32880 - Repairing Archive table fails with internal error 144
> +#
> +
> +# Test with an existing table which is corrupted
As mentioned above, please use --echo # here. E.g.
--echo # Test with an existing table which is corrupted
--echo # Copy t1 from std_data.
An increasing number of developers does even use --echo # for the
introductory comment:
--echo #
--echo # Bug#...
--echo #
Please decide yourself, if you want to jump on that train.
> +let $MYSQLD_DATADIR= `select @@datadir`;
> +copy_file std_data/bug32880.frm $MYSQLD_DATADIR/test/t1.frm;
> +copy_file std_data/bug32880.ARZ $MYSQLD_DATADIR/test/t1.ARZ;
> +copy_file std_data/bug32880.ARN $MYSQLD_DATADIR/test/t1.ARN;
> +SHOW CREATE TABLE t1;
...
Regards
Ingo
--
Ingo Strüwing, Database Group
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Geschäftsführer: Thomas Schröder, Wolfgang Engels, Dr. Roland Bömer
Vorsitzender des Aufsichtsrates: Martin Häring HRB München 161028