polardbxengine/mysql-test/suite/innodb/t/innodb_read_only.test

70 lines
1.5 KiB
Plaintext

# Don't test this under valgrind, memory leaks will occur due restart
--source include/not_valgrind.inc
CREATE DATABASE WL6445;
CREATE TABLE WL6445.t1(c1 INT, c2 INT, INDEX sec_idx(c2)) ENGINE=InnoDB;
INSERT INTO WL6445.t1 VALUES(0,0),(1,1),(2,2);
SHOW CREATE TABLE WL6445.t1;
--source include/restart_innodb_read_only.inc
## DDL
SELECT COUNT(*) FROM WL6445.t1;
--error ER_CANT_LOCK
INSERT INTO WL6445.t1 VALUES(3,3);
--ERROR ER_OPEN_AS_READONLY
INSERT INTO WL6445.t1 SELECT * FROM WL6445.t1;
--error ER_CANT_LOCK
REPLACE INTO WL6445.t1 VALUES(1,1);
--error ER_CANT_LOCK
UPDATE WL6445.t1 SET c1 = c1 + 100;
--error ER_CANT_LOCK
DELETE FROM WL6445.t1;
# DDL
--error ER_DUP_FIELDNAME
ALTER TABLE WL6445.t1 ADD COLUMN c2 INT;
--error ER_READ_ONLY_MODE
ALTER TABLE WL6445.t1 ADD UNIQUE INDEX(c1);
--error ER_READ_ONLY_MODE
ALTER TABLE WL6445.t1 DROP INDEX sec_idx;
--replace_regex /wl6445/WL6445/i
--error ER_ENGINE_CANT_DROP_TABLE
DROP TABLE WL6445.t1;
--error ER_OPEN_AS_READONLY
TRUNCATE TABLE WL6445.t1;
--replace_regex /wl6444/WL6444/i
--error ER_BAD_DB_ERROR
RENAME TABLE WL6445.t1 TO WL6444.t2;
--replace_regex /wl6445/WL6445/i
--error ER_ENGINE_CANT_DROP_TABLE
DROP DATABASE WL6445;
SHOW CREATE TABLE WL6445.t1;
let $restart_parameters = restart;
--source include/restart_mysqld.inc
DROP TABLE WL6445.t1;
DROP DATABASE WL6445;
--disable_query_log
call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* Tablespace .*, name '.*', file '.*' is missing");
--enable_query_log