124 lines
3.5 KiB
Plaintext
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;
|