ALTER TABLE IGNORE didn't ignore duplicates for unique add index for InnoDB
This commit is contained in:
parent
711b36732b
commit
ab32ce9aa7
@ -2617,6 +2617,13 @@ rows 3
|
|||||||
Extra Using index
|
Extra Using index
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# ALTER TABLE IGNORE didn't ignore duplicates for unique add index
|
||||||
|
#
|
||||||
|
create table t1 (a int primary key, b int) engine = innodb;
|
||||||
|
insert into t1 values (1,1),(2,1);
|
||||||
|
alter ignore table t1 add unique `main` (b);
|
||||||
|
drop table t1;
|
||||||
|
#
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
#
|
#
|
||||||
# Test for bug #39932 "create table fails if column for FK is in different
|
# Test for bug #39932 "create table fails if column for FK is in different
|
||||||
|
@ -840,6 +840,15 @@ CREATE INDEX b ON t1(a,b,c,d);
|
|||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # ALTER TABLE IGNORE didn't ignore duplicates for unique add index
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
create table t1 (a int primary key, b int) engine = innodb;
|
||||||
|
insert into t1 values (1,1),(2,1);
|
||||||
|
alter ignore table t1 add unique `main` (b);
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
|
||||||
|
@ -7136,6 +7136,16 @@ view_err:
|
|||||||
/* Non-primary unique key. */
|
/* Non-primary unique key. */
|
||||||
needed_online_flags|= HA_ONLINE_ADD_UNIQUE_INDEX;
|
needed_online_flags|= HA_ONLINE_ADD_UNIQUE_INDEX;
|
||||||
needed_fast_flags|= HA_ONLINE_ADD_UNIQUE_INDEX_NO_WRITES;
|
needed_fast_flags|= HA_ONLINE_ADD_UNIQUE_INDEX_NO_WRITES;
|
||||||
|
if (ignore)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
If ignore is used, we have to remove all duplicate rows,
|
||||||
|
which require a full table copy.
|
||||||
|
*/
|
||||||
|
need_copy_table= ALTER_TABLE_DATA_CHANGED;
|
||||||
|
pk_changed= 2; // Don't change need_copy_table
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user