mariadb/mysql-test/main/alter_table_lock.result
2025-11-04 13:44:16 +01:00

57 lines
2.1 KiB
Text

#
# MDEV-28943 Online alter fails under LOCK TABLE with ER_ALTER_OPERATION_NOT_SUPPORTED_REASON
#
create table t1 (f int) engine=innodb;
insert t1 values (1);
alter table t1 force, algorithm=copy, lock=none;
alter table t1 force, algorithm=inplace, lock=none;
alter table t1 force, algorithm=copy, lock=shared;
alter table t1 force, algorithm=inplace, lock=shared;
alter table t1 force, algorithm=copy, lock=exclusive;
alter table t1 force, algorithm=inplace, lock=exclusive;
lock table t1 write;
connect con1, localhost, root;
select count(*) as 'must be 0' from t1;
connection default;
alter table t1 force, algorithm=copy, lock=none;
alter table t1 force, algorithm=inplace, lock=none;
alter table t1 force, algorithm=copy, lock=shared;
alter table t1 force, algorithm=inplace, lock=shared;
alter table t1 force, algorithm=copy, lock=exclusive;
alter table t1 force, algorithm=inplace, lock=exclusive;
delete from t1;
unlock tables;
connection con1;
must be 0
0
connection default;
drop table t1;
#
# MDEV-29056 Replica SQL thread stops with 1846 error on ALTER ONLINE after LOCK WRITE
#
create table t1 (c varchar(1), key (c)) engine=innodb;
insert into t1 (c) values ('g') ;
alter table t1 add fulltext key(c), algorithm=inplace;
alter online table t1 add column s blob not null, algorithm=inplace;
ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
lock table t1 write;
alter online table t1 add column s blob not null, algorithm=inplace;
ERROR 0A000: LOCK=NONE is not supported. Reason: Fulltext index creation requires a lock. Try LOCK=SHARED
drop table t1;
#
# MDEV-35611 Assertion failure in Diagnostics_area::sql_errno upon interrupted ALTER
#
CREATE TABLE t (a INT) ENGINE=MyISAM;
INSERT INTO t VALUES (1);
LOCK TABLE t READ;
connection con1;
SET max_statement_time=0.001;
ALTER TABLE t FORCE;
ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
ALTER TABLE IF EXISTS t FORCE;
ERROR 70100: Query execution was interrupted (max_statement_time exceeded)
disconnect con1;
connection default;
UNLOCK TABLES;
DROP TABLE t;
# End of 11.4 tests