--source include/big_test.inc --source include/galera_cluster.inc --source include/have_innodb.inc # # InnoDB FULLTEXT indexes # SET SESSION wsrep_trx_fragment_size = 1; 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 10K rows INSERT INTO t1 (f2) SELECT 'foobarbaz' FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4; --connection node_2 SELECT COUNT(f2) = 10000 FROM t1 WHERE MATCH(f2) AGAINST ('foobarbaz'); UPDATE t1 SET f2 = 'abcdefjhk'; --connection node_1 SELECT COUNT(f2) = 10000 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;