@@ -5,7 +5,7 @@ SET @row_format = @@GLOBAL.innodb_default_row_format;
5
5
--echo ####################################
6
6
--echo # Check if table rebuilding alter isn't affect if table is created
7
7
--echo # with explicit row_format
8
- eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=INNODB;
8
+ CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=INNODB;
9
9
INSERT INTO t1 VALUES (1, 'abc');
10
10
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
11
11
SHOW TABLE STATUS LIKE 't1';
@@ -22,12 +22,14 @@ DROP TABLE t1;
22
22
--echo # Check if table rebuilding alter is affected when there is no
23
23
--echo # row_format specified at CREATE TABLE.
24
24
SET GLOBAL innodb_default_row_format = COMPACT;
25
- eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
25
+ CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
26
26
INSERT INTO t1 VALUES (1, 'abc');
27
27
28
28
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
29
29
SHOW TABLE STATUS LIKE 't1';
30
30
31
+ CREATE TABLE t2 (b VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL) ENGINE=InnoDB;
32
+
31
33
SET GLOBAL innodb_default_row_format = DYNAMIC;
32
34
ALTER TABLE t1 DROP PRIMARY KEY, ADD COLUMN c INT PRIMARY KEY;
33
35
@@ -37,15 +39,22 @@ ALTER TABLE t1 DROP PRIMARY KEY, ADD COLUMN c INT PRIMARY KEY;
37
39
SHOW TABLE STATUS LIKE 't1';
38
40
DROP TABLE t1;
39
41
42
+ --error ER_INDEX_COLUMN_TOO_LONG
43
+ ALTER TABLE t2 ADD INDEX(b);
44
+ ALTER TABLE t2 FORCE, ADD INDEX(b);
45
+ DROP TABLE t2;
46
+
40
47
--echo ####################################
41
48
--echo # Check the row_format effect on ALTER, ALGORITHM=COPY
42
49
SET GLOBAL innodb_default_row_format = REDUNDANT;
43
- eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
50
+ CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ENGINE=INNODB;
44
51
INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
45
52
46
53
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
47
54
SHOW TABLE STATUS LIKE 't1';
48
55
56
+ CREATE TABLE t2 (b VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL) ENGINE=InnoDB;
57
+
49
58
SET GLOBAL innoDB_default_row_format = COMPACT;
50
59
ALTER TABLE t1 ADD COLUMN c2 BLOB, ALGORITHM=COPY;
51
60
@@ -55,11 +64,23 @@ ALTER TABLE t1 ADD COLUMN c2 BLOB, ALGORITHM=COPY;
55
64
SHOW TABLE STATUS LIKE 't1';
56
65
DROP TABLE t1;
57
66
67
+ --error ER_INDEX_COLUMN_TOO_LONG
68
+ ALTER TABLE t2 ADD INDEX(b);
69
+ --error ER_INDEX_COLUMN_TOO_LONG
70
+ ALTER TABLE t2 FORCE, ADD INDEX(b);
71
+
72
+ SET GLOBAL innodb_default_row_format = DYNAMIC;
73
+ --error ER_INDEX_COLUMN_TOO_LONG
74
+ ALTER TABLE t2 ADD INDEX(b);
75
+ ALTER TABLE t2 FORCE, ADD INDEX(b);
76
+
77
+ DROP TABLE t2;
78
+
58
79
--echo
59
80
--echo ###################################
60
- --echo # Check the row_format effect on ALTER, ALGORITH =COPY on
81
+ --echo # Check the row_format effect on ALTER, ALGORITHM =COPY on
61
82
--echo # create table with explicit row_format
62
- eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=INNODB;
83
+ CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT) ROW_FORMAT=REDUNDANT ENGINE=INNODB;
63
84
INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
64
85
65
86
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
@@ -80,7 +101,7 @@ DROP TABLE t1;
80
101
--echo # Check row_format on ALTER ALGORITHM=INPLACE
81
102
SET GLOBAL innodb_default_row_format=COMPACT;
82
103
83
- eval CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT, KEY k1(b(10))) ENGINE=INNODB;
104
+ CREATE TABLE t1 (a INT PRIMARY KEY, b TEXT, KEY k1(b(10))) ENGINE=INNODB;
84
105
INSERT INTO t1 VALUES (1, REPEAT('abc',1000));
85
106
86
107
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 # 13 #
0 commit comments