mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge fix for BUG51307 to 5.1-bugteam.
This commit is contained in:
@ -2356,4 +2356,37 @@ CHECKSUM TABLE t3 EXTENDED;
|
|||||||
Table Checksum
|
Table Checksum
|
||||||
test.t3 3775188275
|
test.t3 3775188275
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
#
|
||||||
|
# BUG#51307 - widespread corruption with partitions and insert...select
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a CHAR(255), KEY(a));
|
||||||
|
SELECT * FROM t1, t1 AS a1;
|
||||||
|
a a
|
||||||
|
SET myisam_sort_buffer_size=4;
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0');
|
||||||
|
Warnings:
|
||||||
|
Error 1034 myisam_sort_buffer_size is too small
|
||||||
|
Error 1034 Number of rows changed from 0 to 157
|
||||||
|
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||||
|
INSERT INTO t1 VALUES('1');
|
||||||
|
SELECT * FROM t1, t1 AS a1 WHERE t1.a=1 AND a1.a=1;
|
||||||
|
a a
|
||||||
|
1 1
|
||||||
|
DROP TABLE t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -1603,4 +1603,32 @@ CHECKSUM TABLE t2 EXTENDED;
|
|||||||
CHECKSUM TABLE t3 EXTENDED;
|
CHECKSUM TABLE t3 EXTENDED;
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # BUG#51307 - widespread corruption with partitions and insert...select
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1(a CHAR(255), KEY(a));
|
||||||
|
SELECT * FROM t1, t1 AS a1;
|
||||||
|
SET myisam_sort_buffer_size=4;
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
|
||||||
|
('0'),('0'),('0'),('0'),('0'),('0'),('0');
|
||||||
|
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
|
||||||
|
INSERT INTO t1 VALUES('1');
|
||||||
|
SELECT * FROM t1, t1 AS a1 WHERE t1.a=1 AND a1.a=1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -1448,9 +1448,17 @@ int ha_myisam::enable_indexes(uint mode)
|
|||||||
{
|
{
|
||||||
sql_print_warning("Warning: Enabling keys got errno %d on %s.%s, retrying",
|
sql_print_warning("Warning: Enabling keys got errno %d on %s.%s, retrying",
|
||||||
my_errno, param.db_name, param.table_name);
|
my_errno, param.db_name, param.table_name);
|
||||||
/* Repairing by sort failed. Now try standard repair method. */
|
/*
|
||||||
param.testflag&= ~(T_REP_BY_SORT | T_QUICK);
|
Repairing by sort failed. Now try standard repair method.
|
||||||
error= (repair(thd,param,0) != HA_ADMIN_OK);
|
Still we want to fix only index file. If data file corruption
|
||||||
|
was detected (T_RETRY_WITHOUT_QUICK), we shouldn't do much here.
|
||||||
|
Let implicit repair do this job.
|
||||||
|
*/
|
||||||
|
if (!(param.testflag & T_RETRY_WITHOUT_QUICK))
|
||||||
|
{
|
||||||
|
param.testflag&= ~T_REP_BY_SORT;
|
||||||
|
error= (repair(thd,param,0) != HA_ADMIN_OK);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
If the standard repair succeeded, clear all error messages which
|
If the standard repair succeeded, clear all error messages which
|
||||||
might have been set by the first repair. They can still be seen
|
might have been set by the first repair. They can still be seen
|
||||||
|
Reference in New Issue
Block a user