mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
2464ee758a
Remove alter_algorithm but keep the variable as no-op (with a warning). The reasons for removing alter_algorithm are: - alter_algorithm was introduced as a replacement for the old_alter_table that was used to force the usage of the original alter table algorithm (copy) in the cases where the new alter algorithm did not work. The new option was added as a way to force the usage of a specific algorithm when it should instead have made it possible to disable algorithms that would not work for some reason. - alter_algorithm introduced some cases where ALTER TABLE would not work without specifying the ALGORITHM=XXX option together with ALTER TABLE. - Having different values of alter_algorithm on master and slave could cause slave to stop unexpectedly. - ALTER TABLE FORCE, as used by mariadb-upgrade, would not always work if alter_algorithm was set for the server. - As part of the MDEV-33449 "improving repair of tables" it become clear that alter- algorithm made it harder to provide a better and more consistent ALTER TABLE FORCE and REPAIR TABLE and it would be better to remove it.
14 lines
396 B
Text
14 lines
396 B
Text
--source include/have_innodb.inc
|
|
|
|
#
|
|
# Check if marking index as [not] ignored is an instant operation with InnoDB
|
|
#
|
|
create table t1 (a int, b int, key a1(a)) engine=innodb;
|
|
insert into t1 values (1,1),(2,2),(3,3);
|
|
|
|
alter table t1 alter index a1 ignored, algorithm=instant;
|
|
show create table t1;
|
|
alter table t1 alter index a1 not ignored, algorithm=instant;
|
|
show create table t1;
|
|
|
|
drop table t1;
|