mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
499 lines
19 KiB
Text
499 lines
19 KiB
Text
SET @save_frequency= @@GLOBAL.innodb_purge_rseg_truncate_frequency;
|
|
SET GLOBAL innodb_purge_rseg_truncate_frequency=1;
|
|
#
|
|
# MDEV-17821 Assertion `!page_rec_is_supremum(rec)' failed
|
|
# in btr_pcur_store_position
|
|
#
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY, c INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1,2);
|
|
ALTER TABLE t1 ADD COLUMN f VARCHAR(255);
|
|
ALTER TABLE t1 DROP COLUMN f;
|
|
DELETE FROM t1;
|
|
HANDLER t1 OPEN;
|
|
HANDLER t1 READ `PRIMARY` <= (3);
|
|
pk c
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (
|
|
pk INT AUTO_INCREMENT,
|
|
f1 CHAR(32),
|
|
f2 CHAR(32),
|
|
f3 CHAR(32),
|
|
f4 INT,
|
|
f5 CHAR(32),
|
|
f6 INT,
|
|
f7 INT,
|
|
f8 INT,
|
|
PRIMARY KEY (pk),
|
|
UNIQUE (f6)
|
|
) ENGINE=InnoDB;
|
|
INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES
|
|
('reality', 'llt', 'within', -1996816384, 'j', 160, 7, -1822687232),
|
|
('h', 'j', 'j', 251, 'civilian', NULL, 211, NULL),
|
|
('ltq', 'b', 'mud', 111, 'v', 90, 0, NULL),
|
|
('toxic', 'breakfast', 'series', 2, 'x', NULL, 118, 2),
|
|
('h', 'n', 'vision', 84, 'n', NULL, 197, 103),
|
|
('h', 'tq', 'q', 6, 'bet', -1927151616, -446038016, 3),
|
|
('pocket', 'qjt', 'jtl', 0, 'blink', NULL, 12, 0),
|
|
('k', 'uv', 'exist', 37, 'g', 149, -1610219520, NULL),
|
|
('parent', 'motion', 'u', 70, 'promote', NULL, 178, NULL),
|
|
('get', 'convict', 'liquid', -780337152, 'd', NULL, 4, NULL),
|
|
('vp', 'px', 'xi', -631111680, 'support', NULL, 8, NULL),
|
|
('ck', 'z', 'minority', 8, 'k', NULL, 864878592, NULL),
|
|
('kxx', 'g', 'container', 1, 'cholesterol', NULL, 4, 1404436480),
|
|
('xxv', 'rail', 'j', 219, 'serious', NULL, -816119808, 62),
|
|
('x', 'v', 'vr', 146, 'm', 16, 170, -1765867520),
|
|
('age', 'm', 'q', -1251278848, 'rte', 6, 224, NULL),
|
|
('discrimination', 't', 'q', 31, 'exl', 0, 2, 244),
|
|
('water', 'x', 'ldb', 98, 'r', 235, 4, 63),
|
|
('d', 'db', 'p', 248, 'so-called', 102, -255524864, 198),
|
|
('last', 'bz', 'us', 0, 'experienced', 137, 240, 134),
|
|
('q', 'z', 'attract', 67, 'code', 67, 75, 1758920704),
|
|
('yellow', 'c', 'u', 6, 'v', 1731985408, 528154624, 2),
|
|
('cognitive', 'he', 'protective', 590020608, 'sentence', NULL, 4, 102),
|
|
('eih', 'l', 'ih', 1266024448, 'traditionally', NULL, 190, NULL),
|
|
('pine', 'i', 'y', 6, 'glimpse', 214, 7, -1486880768),
|
|
('jo', 'everyone', 'ol', 0, 'lj', NULL, 1, 0),
|
|
('blood', 'f', 'scientist', 54, 'j', 1341128704, 168, NULL),
|
|
('z', 'brief', 'ambassador', 115, 'ygp', 82, 129, NULL),
|
|
('gp', 'severe', 'consist', 7, 'p', -1829961728, 602669056, 154),
|
|
('admit', 'poetry', 'x', 116, 'enemy', 174, -2128543744, -407764992),
|
|
('s', 'norm', 'decide', 2055667712, 'rtz', NULL, 99, -1233715200),
|
|
('tzg', 'f', 'beg', 2016280576, 'w', NULL, -643825664, 137),
|
|
('zgg', 'x', 'f', 148, 'y', -987496448, -708116480, 8),
|
|
('attorney', 'perfectly', 's', 49, 'z', -1865285632, 56, -1518534656),
|
|
('concentrate', 's', 'k', -1028849664, 'tir', 83, -1592459264, 1820065792),
|
|
('t', 'sacrifice', 'ir', -2143879168, 'recipe', 156, 217, NULL),
|
|
('wdf', 'd', 'f', 137, 'empty', NULL, 188, NULL),
|
|
('o', 'customer', 'qd', -2135293952, 'z', 1527840768, 227, -1174929408),
|
|
('d', 'qow', 'o', 1472266240, 'whe', NULL, 7, 197),
|
|
('deny', 'reputation', 'dutch', 59, 'v', 124, 2, 191),
|
|
('m', 'liver', 'fv', 0, 'policy', 781582336, 198574080, 177),
|
|
('vk', 'kx', 'immigrant', -1452736512, 'x', 163, 76, 6) ,
|
|
('j', 'ru', 'r', 67, 'joke', NULL, 3, NULL),
|
|
('o', 'u', 'a', -569442304, 'uz', NULL, 933298176, NULL),
|
|
('g', 'zb', 'c', -1694760960, 'fish', 18, -390463488, 1),
|
|
('bb', 'o', 'b', 6, 'z', 9, 12, NULL),
|
|
('compelling', 'xe', 'debut', 89, 'e', -734724096, 119, 175),
|
|
('md', 'r', 'object', 1046478848, 'frequently', 915537920, 0, 1506410496),
|
|
('dwn', 'wnz', 'x', 1767571456, 'nz', 241, -882180096, 9),
|
|
('zvf', 'vfo', 'g', -844824576, 'w', NULL, 1, 9),
|
|
('w', 'pose', 'r', 1029308416, 'a', -48627712, 1756168192, NULL),
|
|
('o', 'jwp', 'patient', 172, 'i', 297140224, 45809664, 3),
|
|
('w', 'p', 'american', 450297856, 'z', 20, 4, 186),
|
|
('ridiculous', 'helpful', 'vy', -2022899712, 'conspiracy', NULL, 162, -264634368),
|
|
('t', 'g', 'spite', 289931264, 'y', 4, 13, NULL),
|
|
('performer', 'i', 'tomato', -1519386624, 'mz', 8, 87, 106),
|
|
('m', 'z', 'hang', 3, 'crowded', -537919488, 1, 2),
|
|
('fu', 'uot', 'j', 1, 'o', 179, 220, -2084569088),
|
|
('ts', 'n', 'su', 1, 'o', 198, 9, 68),
|
|
('ball', 'halfway', 'uf', 40, 'l', 145948672, 9, 149),
|
|
('hunting', 'n', 'teenager', 0, 'neat', 209, 2044461056, 68),
|
|
('independent', 'along', 'fpn', 5, 'pn', 3, 1353252864, 217),
|
|
('p', 'presumably', 'n', -1977548800, 'balanced', 1909260288, 197, NULL),
|
|
('pink', 'h', 'tear', 8, 'n', 254, 8, 1006305280),
|
|
('tyy', 'n', 'yyr', 1107820544, 'yr', NULL, 0, 219),
|
|
('u', 'retirement', 'thread', -2083192832, 'rx', -678232064, 209, 1048969216),
|
|
('xk', 'kb', 'z', 9, 'ba', 218, 7, 8),
|
|
('a', 'plenty', 'forget', 36, 'c', 215, 2027094016, NULL),
|
|
('i', 'compromise', 'n', -1090256896, 'o', 10, 66, 1872887808),
|
|
('x', 'disappointment', 'cognitive', 753860608, 'ua', 77, 123, 10),
|
|
('e', 'added', 'aub', 2, 'u', NULL, 9, 92),
|
|
('bc', 'h', 'n', 146, 'master', NULL, 1003945984, NULL),
|
|
('execution', 'f', 'cgp', 574423040, 'gp', 2, -518782976, -1189085184),
|
|
('pv', 'bad', 'v', 132, 'r', 195, 6, 5),
|
|
('modify', 'participation', 'vol', 237, 'j', -842924032, 88, -747765760),
|
|
('substantially', 'i', 'congressional', 2, 'edit', NULL, 1003159552, NULL),
|
|
('tell', 'forty', 'v', -910098432, 'd', 43, 3, NULL),
|
|
('crawl', 'ad', 'respect', -1851195392, 'p', 72, -1709047808, 1343225856),
|
|
('w', 'reception', 'fiber', 56, 's', NULL, 2, -993787904),
|
|
('successful', 'instruct', 'dug', 2, 'u', 7, -411500544, NULL),
|
|
('appointment', 'pregnant', 'weird', 2, 'r', NULL, -897384448, 76),
|
|
('g', 'j', 'thin', 663617536, 'oan', 1, 7, NULL),
|
|
('secretary', 'a', 'o', 103, 'nj', 1977745408, -1291124736, -1314521088),
|
|
('g', 'jq', 'q', 1875116032, 'blame', NULL, 1, 4),
|
|
('oj', 'j', 'breast', 150, 'c', NULL, 3, NULL),
|
|
('rd', 'm', 'comprehensive', 1723334656, 't', NULL, 155, -312344576) ,
|
|
('a', 'd', 'criminal', -1155137536, 'airplane', 242, -662896640, 1),
|
|
('fast', 'i', 'k', -386662400, 'zxe', NULL, 7, 119),
|
|
('xe', 'mouse', 'c', -205717504, 'ew', NULL, -729612288, 86),
|
|
('hang', 'j', 'o', 3, 'hungry', NULL, 200, 49),
|
|
('expense', 'z', 'sum', 2, 'gob', -472055808, -538181632, NULL),
|
|
('nest', 'o', 'k', 116, 'weak', NULL, 223, NULL);
|
|
INSERT INTO t1 (f1,f2,f3,f4,f5,f6,f7,f8) VALUES ('impact', 'b', 'h', 185, 'fj', 7, 7, 3);
|
|
ERROR 23000: Duplicate entry '7' for key 'f6'
|
|
ALTER TABLE t1 ADD COLUMN filler VARCHAR(255) DEFAULT '';
|
|
SELECT * INTO OUTFILE 'load.data' FROM t1;
|
|
UPDATE IGNORE t1 SET pk = 0;
|
|
LOAD DATA INFILE 'load.data' REPLACE INTO TABLE t1;
|
|
HANDLER t1 OPEN AS h;
|
|
HANDLER h READ `PRIMARY` PREV WHERE 0;
|
|
pk f1 f2 f3 f4 f5 f6 f7 f8 filler
|
|
HANDLER h CLOSE;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-19630 ALTER TABLE ... ADD COLUMN damages foreign keys
|
|
# which are pointed to the table being altered
|
|
#
|
|
CREATE TABLE t1(f1 int not null, primary key(f1))engine=innodb;
|
|
CREATE TABLE t2(f1 INT AUTO_INCREMENT NOT NULL, f2 INT NOT NULL,
|
|
status ENUM ('a', 'b', 'c'), INDEX idx1(f2),
|
|
PRIMARY KEY(f1),
|
|
FOREIGN KEY (f2) REFERENCES t1(f1))ENGINE=InnoDB;
|
|
ALTER TABLE t1 CHANGE f1 f1_id INT NOT NULL, ADD f3 VARCHAR(255) DEFAULT NULL;
|
|
ALTER TABLE t1 CHANGE f1_id f1 INT NOT NULL;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`f1` int(11) NOT NULL,
|
|
`f3` varchar(255) DEFAULT NULL,
|
|
PRIMARY KEY (`f1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`f1` int(11) NOT NULL AUTO_INCREMENT,
|
|
`f2` int(11) NOT NULL,
|
|
`status` enum('a','b','c') DEFAULT NULL,
|
|
PRIMARY KEY (`f1`),
|
|
KEY `idx1` (`f2`),
|
|
CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f2`) REFERENCES `t1` (`f1`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
|
ALTER TABLE t2 CHANGE status status VARCHAR(20) DEFAULT NULL;
|
|
DROP TABLE t2, t1;
|
|
#
|
|
# MDEV-20938 Double free of dict_foreign_t during instant ALTER TABLE
|
|
#
|
|
CREATE TABLE t1 (id INT UNSIGNED PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (a INT UNSIGNED PRIMARY KEY, b INT UNSIGNED UNIQUE,
|
|
FOREIGN KEY fk1 (b) REFERENCES t1 (id)) ENGINE=InnoDB;
|
|
ALTER TABLE t2
|
|
DROP FOREIGN KEY fk1,
|
|
CHANGE b d INT UNSIGNED,
|
|
ADD c INT;
|
|
DROP TABLE t2, t1;
|
|
#
|
|
# MDEV-22446 InnoDB aborts while adding instant column
|
|
# for discarded tablespace
|
|
#
|
|
CREATE TABLE t1(c1 INT NOT NULL, c2 INT NOT NULL DEFAULT 0)ENGINE=InnoDB;
|
|
INSERT INTO t1(c1) VALUES(1);
|
|
ALTER TABLE t1 ADD COLUMN c3 INT DEFAULT 10;
|
|
FLUSH TABLES t1 FOR EXPORT;
|
|
backup: t1
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1(c1 INT NOT NULL)Engine=InnoDB;
|
|
ALTER TABLE t1 DISCARD TABLESPACE;
|
|
FLUSH TABLES;
|
|
ALTER TABLE t1 ADD COLUMN c2 INT NOT NULL;
|
|
Warnings:
|
|
Warning 1814 Tablespace has been discarded for table `t1`
|
|
ALTER TABLE t1 ADD COLUMN c3 INT DEFAULT 10;
|
|
Warnings:
|
|
Warning 1814 Tablespace has been discarded for table `t1`
|
|
restore: t1 .ibd and .cfg files
|
|
ALTER TABLE t1 IMPORT TABLESPACE;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(11) NOT NULL,
|
|
`c2` int(11) NOT NULL,
|
|
`c3` int(11) DEFAULT 10
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
|
SELECT * FROM t1;
|
|
c1 c2 c3
|
|
1 0 10
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-23801 Assertion index->table->instant... failed
|
|
# in btr_pcur_store_position()
|
|
#
|
|
SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;
|
|
CREATE TABLE t (
|
|
pk int auto_increment,
|
|
c01 char(255) not null default repeat('a',255),
|
|
c02 char(255) default repeat('a',255),
|
|
c03 char(255) default repeat('a',255),
|
|
c04 char(255) default repeat('a',255),
|
|
c05 char(255) not null default repeat('a',255),
|
|
c06 char(255) default repeat('a',255),
|
|
c07 char(255) default repeat('a',255),
|
|
c08 char(255) not null default repeat('a',255),
|
|
c09 char(255) default repeat('a',255),
|
|
c10 char(255) default repeat('a',255),
|
|
c11 char(255) default repeat('a',255),
|
|
c12 char(255) not null default repeat('a',255),
|
|
primary key (pk)
|
|
) ENGINE=InnoDB CHARACTER SET ucs2;
|
|
INSERT INTO t () VALUES ();
|
|
ALTER TABLE t ADD c INT;
|
|
BEGIN;
|
|
INSERT INTO t () VALUES (),();
|
|
ROLLBACK;
|
|
DELETE FROM t;
|
|
InnoDB 0 transactions not purged
|
|
SET GLOBAL innodb_purge_rseg_truncate_frequency = @save_frequency;
|
|
CREATE TABLE tt ENGINE=InnoDB AS SELECT c FROM t;
|
|
DROP TABLE t, tt;
|
|
# End of 10.3 tests
|
|
create table t (
|
|
a varchar(9),
|
|
b int,
|
|
c int,
|
|
row_start bigint unsigned generated always as row start invisible,
|
|
row_end bigint unsigned generated always as row end invisible,
|
|
period for system_time (row_start, row_end)
|
|
) engine=innodb row_format=compressed with system versioning;
|
|
insert into t values (repeat('a', 9), 1, 1);
|
|
set @@system_versioning_alter_history = keep;
|
|
alter table t modify a varchar(10), algorithm=instant;
|
|
alter table t change b bb int, algorithm=instant;
|
|
alter table t modify c int without system versioning, algorithm=instant;
|
|
set @@system_versioning_alter_history = error;
|
|
check table t;
|
|
Table Op Msg_type Msg_text
|
|
test.t check status OK
|
|
drop table t;
|
|
#
|
|
# MDEV-18219 Assertion `index->n_core_null_bytes <= ...' failed
|
|
# in rec_init_offsets after instant DROP COLUMN
|
|
#
|
|
CREATE TABLE t1 (a INT, b INT NOT NULL) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES
|
|
(0,9),(2,7),(3,1),(3,4),(8,4),(3,7),(6,1),(3,8),(1,2),(4,1),(0,8),(5,3),
|
|
(1,3),(1,6),(2,1),(8,7),(6,0),(1,9),(9,4),(0,6),(9,3),(0,9),(9,4),(2,4),
|
|
(2,7),(7,8),(8,2),(2,5),(6,1),(4,5),(5,3),(6,8),(4,9),(5,7),(7,5),(5,1),
|
|
(8,8),(5,7),(3,8),(0,1),(8,4),(8,3),(9,7),(4,8),(1,1),(0,4),(2,6),(8,5),
|
|
(8,8),(8,7),(6,7),(1,7),(9,6),(3,6),(1,9),(0,3),(5,3),(2,4),(0,6),(2,0),
|
|
(6,5),(1,6),(2,4),(9,1),(3,0),(6,4),(1,3),(0,8),(3,5),(3,1),(8,9),(9,9),
|
|
(7,9),(4,5),(2,2),(3,8),(0,8),(7,1),(2,0),(1,5),(7,3),(4,4),(3,9),(7,2),
|
|
(6,2),(0,4),(2,0),(1,5),(5,7),(4,5),(3,7),(6,0),(2,1),(5,0),(1,0),(2,0),
|
|
(8,4),(5,7),(3,5),(0,5),(7,6),(5,9),(1,2),(4,2),(8,5),(8,7),(2,8),(1,8),
|
|
(4,3),(1,6),(7,8),(3,7),(4,6),(1,1),(3,0),(1,6),(2,0),(3,4),(4,8),(3,9),
|
|
(8,0),(4,9),(4,0),(3,9),(6,4),(7,4),(5,8),(4,7),(7,3),(5,9),(2,3),(7,3),
|
|
(0,4),(5,9),(9,8),(4,2),(3,6),(2,6),(1,8),(7,0),(0,0),(2,3),(1,2),(3,3),
|
|
(2,7),(6,0),(9,0),(6,9),(4,6),(9,8),(0,7),(9,1),(9,6),(4,3),(7,7),(7,7),
|
|
(4,1),(4,7),(7,3),(2,8),(5,8),(8,9),(3,9),(7,7),(0,8),(4,9),(3,2),(5,0),
|
|
(1,7),(0,3),(2,9),(9,7),(7,5),(6,9),(8,5),(3,6),(1,1),(2,8),(7,9),(4,9),
|
|
(6,6),(5,9),(5,3),(9,8),(3,3),(5,6),(0,9),(3,9),(7,9),(7,3),(5,2),(1,4),
|
|
(4,4),(8,2),(2,2),(8,3),(9,1),(4,9),(9,8),(1,8),(1,8),(9,1),(1,1),(3,0),
|
|
(4,6),(9,3),(3,3),(5,2),(0,1),(3,4),(3,2),(1,3),(4,4),(7,0),(4,6),(7,2),
|
|
(4,5),(8,7),(7,8),(8,1),(3,5),(0,6),(3,5),(2,1),(4,4),(3,4),(2,1),(4,1);
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
ALTER TABLE t1 DROP a;
|
|
ALTER TABLE t1 ADD vb INT AS (b) VIRTUAL;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-19030 Assertion index->n_core_null_bytes <= ... failed
|
|
# in rec_init_offsets after instant DROP COLUMN
|
|
#
|
|
CREATE TABLE t1 (a INT, b INT NOT NULL DEFAULT 0) ENGINE=InnoDB;
|
|
INSERT INTO t1 () VALUES (),(),(),();
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
ALTER TABLE t1 FORCE;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
ALTER TABLE t1 DROP a, ADD a SMALLINT NOT NULL;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
ALTER TABLE t1 ADD vb INT AS (b) VIRTUAL;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-18623 Assertion after DROP FULLTEXT INDEX and removing NOT NULL
|
|
#
|
|
CREATE TABLE t1 (c TEXT NOT NULL, FULLTEXT INDEX ftidx(c)) ENGINE=InnoDB
|
|
ROW_FORMAT=REDUNDANT;
|
|
ALTER TABLE t1 DROP INDEX ftidx;
|
|
ALTER TABLE t1 MODIFY c TEXT NULL, ALGORITHM=INSTANT;
|
|
ERROR 0A000: ALGORITHM=INSTANT is not supported for this operation. Try ALGORITHM=INPLACE
|
|
ALTER TABLE t1 MODIFY c TEXT NULL;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-20048 dtuple_get_nth_field(): Assertion 'n < tuple->n_fields'
|
|
# failed on ROLLBACK after instant DROP COLUMN
|
|
#
|
|
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
INSERT INTO t1 VALUES (1);
|
|
ALTER TABLE t1 ADD b TEXT, ALGORITHM=INSTANT;
|
|
SET @b = REPEAT('b', @@innodb_page_size / 2 + 1);
|
|
INSERT INTO t1 VALUES(2, @b), (3, @b);
|
|
BEGIN;
|
|
DELETE FROM t1 WHERE a=2;
|
|
connect purge_control,localhost,root;
|
|
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
|
connection default;
|
|
COMMIT;
|
|
ALTER TABLE t1 DROP b, ALGORITHM=INSTANT;
|
|
BEGIN;
|
|
INSERT INTO t1 VALUES (2);
|
|
connection purge_control;
|
|
SELECT * FROM t1;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
disconnect purge_control;
|
|
connection default;
|
|
ROLLBACK;
|
|
SELECT * FROM t1;
|
|
a
|
|
1
|
|
3
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-20479: assertion failure in dict_table_get_nth_col() after INSTANT DROP COLUMN
|
|
#
|
|
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
ALTER TABLE t1 ADD COLUMN (b INT, c INT, d INT, e INT NOT NULL DEFAULT 0);
|
|
ALTER TABLE t1 ADD UNIQUE INDEX(e);
|
|
ALTER TABLE t1 DROP b, DROP c, DROP d, DROP e;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-20565 Assertion on CHANGE COLUMN...SYSTEM VERSIONING
|
|
#
|
|
set @@system_versioning_alter_history = keep;
|
|
CREATE TABLE t (a INT WITHOUT SYSTEM VERSIONING, b INT) ENGINE=InnoDB
|
|
WITH SYSTEM VERSIONING;
|
|
ALTER TABLE t CHANGE COLUMN a alpha INT WITH SYSTEM VERSIONING,
|
|
ALGORITHM=INSTANT;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (alpha INT, b INT) ENGINE=InnoDB WITH SYSTEM VERSIONING;
|
|
ALTER TABLE t CHANGE COLUMN alpha a INT WITHOUT SYSTEM VERSIONING,
|
|
ALGORITHM=INSTANT;
|
|
DROP TABLE t;
|
|
set @@system_versioning_alter_history = error;
|
|
#
|
|
# MDEV-20117 Assertion 0 failed in row_sel_get_clust_rec_for_mysql
|
|
#
|
|
CREATE TABLE t (b INT PRIMARY KEY) ENGINE=InnoDB;
|
|
INSERT INTO t SET b=1;
|
|
ALTER TABLE t ADD COLUMN a INT FIRST, ALGORITHM=INSTANT;
|
|
DELETE FROM t;
|
|
ALTER TABLE t ADD COLUMN c INT, ALGORITHM=INSTANT;
|
|
ALTER TABLE t DROP COLUMN c, ALGORITHM=INSTANT;
|
|
SELECT * FROM t;
|
|
a b
|
|
DROP TABLE t;
|
|
CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c INT, d INT, e INT) ENGINE=InnoDB;
|
|
INSERT INTO t1 SET a=1;
|
|
INSERT INTO t1 SET a=2;
|
|
BEGIN;
|
|
UPDATE t1 SET b=1;
|
|
DELETE FROM t1;
|
|
COMMIT;
|
|
ALTER TABLE t1 DROP b, DROP c, DROP d, DROP e;
|
|
InnoDB 0 transactions not purged
|
|
SELECT * FROM t1;
|
|
a
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-20190 Instant operation fails when add column and collation
|
|
# change on non-indexed column
|
|
#
|
|
CREATE TABLE t1 (a CHAR)ENGINE=INNODB;
|
|
ALTER TABLE t1 DEFAULT COLLATE= latin1_general_cs;
|
|
ALTER TABLE t1 ADD COLUMN b INT NOT NULL, MODIFY a CHAR, ALGORITHM=INSTANT;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` char(1) DEFAULT NULL,
|
|
`b` int(11) NOT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a CHAR NOT NULL) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
|
ALTER TABLE t1 DEFAULT COLLATE = latin1_general_cs;
|
|
ALTER TABLE t1 MODIFY a CHAR, ALGORITHM=INSTANT;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` char(1) DEFAULT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs ROW_FORMAT=REDUNDANT
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a CHAR NOT NULL) CHARSET latin2 COLLATE latin2_bin
|
|
ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
|
ALTER TABLE t1 DEFAULT COLLATE = latin2_general_ci;
|
|
ALTER TABLE t1 MODIFY a CHAR, ALGORITHM=INSTANT;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` char(1) DEFAULT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin2 COLLATE=latin2_general_ci ROW_FORMAT=REDUNDANT
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-21645 SIGSEGV in innobase_get_computed_value
|
|
#
|
|
CREATE TABLE t1 (a INT PRIMARY KEY, b INT, va INTEGER GENERATED ALWAYS AS (a))
|
|
ENGINE=InnoDB;
|
|
INSERT INTO t1 SET a=1, b=NULL;
|
|
ALTER TABLE t1 MODIFY COLUMN b INT FIRST;
|
|
ALTER TABLE t1 ADD UNIQUE INDEX (va);
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-22651 Assertion dict_col_get_fixed_size...
|
|
# in dict_table_t::init_instant()
|
|
#
|
|
CREATE TABLE t (i INT PRIMARY KEY) ENGINE=InnoDB;
|
|
INSERT INTO t SET i=1;
|
|
ALTER TABLE t ADD e CHAR(255) CHARACTER SET UTF32 FIRST, ALGORITHM=INSTANT;
|
|
DROP TABLE t;
|
|
#
|
|
# MDEV-23499 Assertion c.same_type(*o) failed
|
|
#
|
|
CREATE TABLE t (pk SERIAL, b TEXT CHARACTER SET utf8) ENGINE=InnoDB;
|
|
ALTER TABLE t MODIFY b TEXT CHARACTER SET utf8mb4 FIRST;
|
|
DROP TABLE t;
|
|
#
|
|
# MDEV-23672 Assertion `v.v_indexes.empty()' failed in dict_table_t::instant_column
|
|
#
|
|
create table t1 (
|
|
col_int integer,
|
|
col_text text not null,
|
|
col_int_g integer generated always as (col_int) unique,
|
|
col_text_g text generated always as (substr(col_text,1,499)) )
|
|
engine innodb row_format = redundant;
|
|
insert into t1 (col_int,col_text) values (0, 'a'), (null, 'b');
|
|
alter table t1 modify column col_text text null, algorithm = instant;
|
|
insert into t1 (col_int,col_text) values (1, null), (null, null);
|
|
update t1 set col_text= 'd';
|
|
select * from t1;
|
|
col_int col_text col_int_g col_text_g
|
|
0 d 0 d
|
|
NULL d NULL d
|
|
1 d 1 d
|
|
NULL d NULL d
|
|
check table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
drop table t1;
|
|
#
|
|
# MDEV-24072 Assertion 'ib_table.n_v_cols' failed
|
|
# in instant_alter_column_possible()
|
|
#
|
|
CREATE TABLE t (a BLOB) ENGINE=InnoDB;
|
|
INSERT INTO t VALUES ('a');
|
|
ALTER TABLE t ADD c INT GENERATED ALWAYS AS (a+1) VIRTUAL, ADD KEY(c);
|
|
ERROR 22007: Truncated incorrect DOUBLE value: 'a'
|
|
ALTER TABLE t ADD d INT;
|
|
affected rows: 0
|
|
info: Records: 0 Duplicates: 0 Warnings: 0
|
|
DROP TABLE t;
|
|
#
|
|
# MDEV-28060 Online DDL fails while checking for instant
|
|
# alter condition
|
|
#
|
|
CREATE TABLE t1(f1 CHAR(10) NOT NULL)ROW_FORMAT=REDUNDANT,ENGINE=InnoDB;
|
|
ALTER TABLE t1 ADD COLUMN(f2 INT NOT NULL, f3 INT NOT NULL,
|
|
f4 INT NOT NULL, f5 INT NOT NULL),
|
|
CHANGE COLUMN f1 f1 CHAR(10) DEFAULT NULL;
|
|
DROP TABLE t1;
|
|
SET GLOBAL innodb_purge_rseg_truncate_frequency=@save_frequency;
|
|
#
|
|
# MDEV-26420 Buffer overflow on instant ADD/DROP of generated column
|
|
#
|
|
CREATE TABLE t1 (i int AS (0) STORED, j INT) ENGINE=InnoDB;
|
|
ALTER TABLE t1 ADD COLUMN i INT GENERATED ALWAYS AS (1), DROP COLUMN i;
|
|
DROP TABLE t1;
|
|
# End of 10.4 tests
|