polardbxengine/mysql-test/suite/innodb/r/instant_add_column_debug.re...

124 lines
3.5 KiB
Plaintext

##############################################
# Test instant ADD COLUMN for REDUNDANT format
##############################################
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c INT) ROW_FORMAT=REDUNDANT;;
INSERT INTO t1 VALUES(1, 1, 1), (2, 2, 2), (3, 3, 3), (6, 6, 6);
ALTER TABLE t1 ADD COLUMN d INT DEFAULT 10;
SELECT * FROM t1;
a b c d
1 1 1 10
2 2 2 10
3 3 3 10
6 6 6 10
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL altered WAIT_FOR dmls_done';
ALTER TABLE t1 DROP COLUMN c;;
SET DEBUG_SYNC = 'now WAIT_FOR altered';
INSERT INTO t1(a, b, c) VALUES(7, 7, 7);
UPDATE t1 SET a = 10 WHERE a = 1;
DELETE FROM t1 WHERE a = 2;
UPDATE t1 SET c = 10 WHERE a = 3;
UPDATE t1 SET d = 20 WHERE a = 5;
UPDATE t1 SET a = 8, d = 20 WHERE a = 6;
SET DEBUG_SYNC = 'now SIGNAL dmls_done';
SET DEBUG_SYNC = 'RESET';
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL,
`d` int(11) DEFAULT '10',
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=REDUNDANT
SELECT * FROM t1;
a b d
3 3 10
7 7 10
8 6 20
10 1 10
DROP TABLE t1;
############################################
# Test instant ADD COLUMN for DYNAMIC format
############################################
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c INT) ROW_FORMAT=DYNAMIC;;
INSERT INTO t1 VALUES(1, 1, 1), (2, 2, 2), (3, 3, 3), (6, 6, 6);
ALTER TABLE t1 ADD COLUMN d INT DEFAULT 10;
SELECT * FROM t1;
a b c d
1 1 1 10
2 2 2 10
3 3 3 10
6 6 6 10
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL altered WAIT_FOR dmls_done';
ALTER TABLE t1 DROP COLUMN c;;
SET DEBUG_SYNC = 'now WAIT_FOR altered';
INSERT INTO t1(a, b, c) VALUES(7, 7, 7);
UPDATE t1 SET a = 10 WHERE a = 1;
DELETE FROM t1 WHERE a = 2;
UPDATE t1 SET c = 10 WHERE a = 3;
UPDATE t1 SET d = 20 WHERE a = 5;
UPDATE t1 SET a = 8, d = 20 WHERE a = 6;
SET DEBUG_SYNC = 'now SIGNAL dmls_done';
SET DEBUG_SYNC = 'RESET';
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL,
`d` int(11) DEFAULT '10',
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC
SELECT * FROM t1;
a b d
3 3 10
7 7 10
8 6 20
10 1 10
DROP TABLE t1;
############################################
# Test instant ADD COLUMN for COMPACT format
############################################
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY, b INT, c INT) ROW_FORMAT=COMPACT;;
INSERT INTO t1 VALUES(1, 1, 1), (2, 2, 2), (3, 3, 3), (6, 6, 6);
ALTER TABLE t1 ADD COLUMN d INT DEFAULT 10;
SELECT * FROM t1;
a b c d
1 1 1 10
2 2 2 10
3 3 3 10
6 6 6 10
SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL altered WAIT_FOR dmls_done';
ALTER TABLE t1 DROP COLUMN c;;
SET DEBUG_SYNC = 'now WAIT_FOR altered';
INSERT INTO t1(a, b, c) VALUES(7, 7, 7);
UPDATE t1 SET a = 10 WHERE a = 1;
DELETE FROM t1 WHERE a = 2;
UPDATE t1 SET c = 10 WHERE a = 3;
UPDATE t1 SET d = 20 WHERE a = 5;
UPDATE t1 SET a = 8, d = 20 WHERE a = 6;
SET DEBUG_SYNC = 'now SIGNAL dmls_done';
SET DEBUG_SYNC = 'RESET';
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` int(11) DEFAULT NULL,
`d` int(11) DEFAULT '10',
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=COMPACT
SELECT * FROM t1;
a b d
3 3 10
7 7 10
8 6 20
10 1 10
DROP TABLE t1;