mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Auto-merged from 5.1-bugteam
This commit is contained in:
commit
ff37912ff4
6 changed files with 36 additions and 4 deletions
|
@ -12695,3 +12695,22 @@ a b
|
|||
1 NULL
|
||||
2 NULL
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# BUG#32880 - Repairing Archive table fails with internal error 144
|
||||
#
|
||||
|
||||
# Test with an existing table which is corrupted
|
||||
# Copy t1 from std_data
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` blob
|
||||
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check error Corrupt
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair error Corrupt
|
||||
DROP TABLE t1;
|
||||
|
|
BIN
mysql-test/std_data/bug32880.ARN
Normal file
BIN
mysql-test/std_data/bug32880.ARN
Normal file
Binary file not shown.
BIN
mysql-test/std_data/bug32880.ARZ
Normal file
BIN
mysql-test/std_data/bug32880.ARZ
Normal file
Binary file not shown.
BIN
mysql-test/std_data/bug32880.frm
Normal file
BIN
mysql-test/std_data/bug32880.frm
Normal file
Binary file not shown.
|
@ -1599,3 +1599,18 @@ INSERT INTO t1 VALUES (NULL, NULL),(NULL, NULL);
|
|||
FLUSH TABLE t1;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#32880 - Repairing Archive table fails with internal error 144
|
||||
--echo #
|
||||
--echo
|
||||
--echo # Test with an existing table which is corrupted
|
||||
--echo # Copy t1 from std_data
|
||||
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;
|
||||
CHECK TABLE t1;
|
||||
REPAIR TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1076,11 +1076,9 @@ int ha_archive::unpack_row(azio_stream *file_to_read, uchar *record)
|
|||
|
||||
read= azread(file_to_read, record_buffer->buffer, row_len, &error);
|
||||
|
||||
DBUG_ASSERT(row_len == read);
|
||||
|
||||
if (read != row_len || error)
|
||||
{
|
||||
DBUG_RETURN(-1);
|
||||
DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE);
|
||||
}
|
||||
|
||||
/* Copy null bits */
|
||||
|
@ -1257,7 +1255,7 @@ int ha_archive::repair(THD* thd, HA_CHECK_OPT* check_opt)
|
|||
int rc= optimize(thd, check_opt);
|
||||
|
||||
if (rc)
|
||||
DBUG_RETURN(HA_ERR_CRASHED_ON_REPAIR);
|
||||
DBUG_RETURN(HA_ADMIN_CORRUPT);
|
||||
|
||||
share->crashed= FALSE;
|
||||
DBUG_RETURN(0);
|
||||
|
|
Loading…
Reference in a new issue