--source include/galera_cluster.inc # # InnoDB FULLTEXT indexes # CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB; INSERT INTO ten VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); # # Fulltext index creation causes the creation of multiple system tables # --connection node_1 CREATE TABLE t1 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 VARCHAR(100), FULLTEXT (f2)) ENGINE=InnoDB; --connection node_2 SELECT COUNT(*) = 13 FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE name LIKE 'test/%'; # # Fulltext insertion causes a flurry of updates on those system tables # --connection node_1 # Insert 1K rows INSERT INTO t1 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3; --connection node_2 SELECT COUNT(f2) = 1000 FROM t1 WHERE MATCH(f2) AGAINST ('foobarbaz'); UPDATE t1 SET f2 = 'abcdefjhk'; --connection node_1 SELECT COUNT(f2) = 1000 FROM t1 WHERE MATCH(f2) AGAINST ('abcdefjhk'); --connection node_2 DROP TABLE t1; # # Same on a table with no PK # --connection node_1 CREATE TABLE t1 (f1 VARCHAR(100), FULLTEXT (f1)) ENGINE=InnoDB; --connection node_2 # We insert only 1K rows here, because updates without a PK are very slow INSERT INTO t1 (f1) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3; --connection node_1 SELECT COUNT(f1) = 1000 FROM t1 WHERE MATCH(f1) AGAINST ('foobarbaz'); UPDATE t1 SET f1 = 'abcdefjhk'; --connection node_2 SELECT COUNT(f1) = 1000 FROM t1 WHERE MATCH(f1) AGAINST ('abcdefjhk'); DROP TABLE t1; DROP TABLE ten; # # MDEV-24978 : SIGABRT in __libc_message # --connection node_1 SET @value=REPEAT (1,5001); CREATE TABLE t (a VARCHAR(5000),FULLTEXT (a)) engine=innodb; INSERT IGNORE INTO t VALUES(@value); SELECT COUNT(*) FROM t; --connection node_2 SELECT COUNT(*) FROM t; --connection node_1 DROP TABLE t; CREATE TABLE t (a VARCHAR(5000)) engine=innodb; INSERT IGNORE INTO t VALUES(@value); SELECT COUNT(*) FROM t; --connection node_2 SELECT COUNT(*) FROM t; --connection node_1 DROP TABLE t; # # Case 2: UTF-8 # --connection node_1 SET @value=REPEAT (1,5001); CREATE TABLE t (a VARCHAR(5000),FULLTEXT (a)) engine=innodb DEFAULT CHARSET=utf8; INSERT IGNORE INTO t VALUES(@value); SELECT COUNT(*) FROM t; --connection node_2 SELECT COUNT(*) FROM t; --connection node_1 DROP TABLE t; CREATE TABLE t (a VARCHAR(5000)) engine=innodb DEFAULT CHARSET=utf8; INSERT IGNORE INTO t VALUES(@value); SELECT COUNT(*) FROM t; --connection node_2 SELECT COUNT(*) FROM t; --connection node_1 DROP TABLE t;