1FLUSH TABLES;
2CREATE TABLE articles (
3id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
4title VARCHAR(200),
5body TEXT,
6FULLTEXT (title,body)
7) ENGINE=InnoDB;
8DROP INDEX title ON articles;
9INSERT INTO articles (title,body) VALUES
10('MySQL Tutorial','DBMS stands for DataBase ...')  ,
11('How To Use MySQL Well','After you went through a ...'),
12('Optimizing MySQL','In this tutorial we will show ...'),
13('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
14('MySQL vs. YourSQL','In the following database comparison ...'),
15('MySQL Security','When configured properly, MySQL ...');
16BEGIN;
17INSERT INTO articles (title,body) VALUES
18('MySQL Tutorial','DBMS stands for DataBase ...');
19# Make durable the AUTO_INCREMENT in the above incomplete transaction.
20connect  flush_redo_log,localhost,root,,;
21SET GLOBAL innodb_flush_log_at_trx_commit=1;
22BEGIN;
23DELETE FROM articles LIMIT 1;
24ROLLBACK;
25disconnect flush_redo_log;
26connection default;
27# restart
28INSERT INTO articles (title,body) VALUES
29('MySQL Tutorial','DBMS stands for DataBase ...');
30CREATE FULLTEXT INDEX idx ON articles (title,body);
31SELECT * FROM articles
32WHERE MATCH (title,body)
33AGAINST ('Database' IN NATURAL LANGUAGE MODE);
34id	title	body
351	MySQL Tutorial	DBMS stands for DataBase ...
365	MySQL vs. YourSQL	In the following database comparison ...
378	MySQL Tutorial	DBMS stands for DataBase ...
38INSERT INTO articles (title,body) VALUES
39('MySQL Tutorial','DBMS stands for DataBase ...')  ,
40('How To Use MySQL Well','After you went through a ...'),
41('Optimizing MySQL','In this tutorial we will show ...'),
42('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
43('MySQL vs. YourSQL','In the following database comparison ...'),
44('MySQL Security','When configured properly, MySQL ...');
45connect dml, localhost, root,,;
46BEGIN;
47INSERT INTO articles (title,body) VALUES
48('MySQL Tutorial','DBMS stands for DataBase ...');
49connection default;
50# Make durable the AUTO_INCREMENT in the above incomplete transaction.
51connect  flush_redo_log,localhost,root,,;
52SET GLOBAL innodb_flush_log_at_trx_commit=1;
53BEGIN;
54DELETE FROM articles LIMIT 1;
55ROLLBACK;
56disconnect flush_redo_log;
57connection default;
58# restart
59disconnect dml;
60INSERT INTO articles (title,body) VALUES
61('MySQL Tutorial','DBMS stands for DataBase ...');
62SELECT * FROM articles
63WHERE MATCH (title,body)
64AGAINST ('Database' IN NATURAL LANGUAGE MODE);
65id	title	body
661	MySQL Tutorial	DBMS stands for DataBase ...
675	MySQL vs. YourSQL	In the following database comparison ...
688	MySQL Tutorial	DBMS stands for DataBase ...
699	MySQL Tutorial	DBMS stands for DataBase ...
7013	MySQL vs. YourSQL	In the following database comparison ...
7116	MySQL Tutorial	DBMS stands for DataBase ...
72DROP TABLE articles;
73CREATE TABLE articles (
74id int PRIMARY KEY,
75FTS_DOC_ID BIGINT UNSIGNED NOT NULL,
76title VARCHAR(200),
77body TEXT
78) ENGINE=InnoDB;
79CREATE FULLTEXT INDEX idx1 on articles (title, body);
80INSERT INTO articles VALUES
81(1, 10, 'MySQL Tutorial','DBMS stands for DataBase ...')  ,
82(2, 1, 'How To Use MySQL Well','After you went through a ...'),
83(3, 2, 'Optimizing MySQL','In this tutorial we will show ...'),
84(4, 11, '1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
85(5, 6, 'MySQL vs. YourSQL','In the following database comparison ...'),
86(7, 4, 'MySQL Security','When configured properly, MySQL ...');
87connect dml, localhost, root,,;
88BEGIN;
89INSERT INTO articles VALUES
90(100, 200, 'MySQL Tutorial','DBMS stands for DataBase ...');
91connect dml2, localhost, root,,;
92#
93# MDEV-19073 FTS row mismatch after crash recovery
94#
95CREATE TABLE mdev19073(id SERIAL, title VARCHAR(200), body TEXT,
96FULLTEXT(title,body)) ENGINE=InnoDB;
97INSERT INTO mdev19073 (title, body) VALUES
98('MySQL Tutorial', 'DBMS stands for Database...');
99CREATE FULLTEXT INDEX idx ON mdev19073(title, body);
100CREATE TABLE mdev19073_2 LIKE mdev19073;
101INSERT INTO mdev19073_2 (title, body) VALUES
102('MySQL Tutorial', 'DBMS stands for Database...');
103INSERT INTO mdev19073 (title, body) VALUES
104('MariaDB Tutorial', 'DB means Database ...');
105INSERT INTO mdev19073_2 (title, body) VALUES
106('MariaDB Tutorial', 'DB means Database ...');
107SELECT * FROM mdev19073 WHERE MATCH (title, body)
108AGAINST ('Database' IN NATURAL LANGUAGE MODE);
109id	title	body
1101	MySQL Tutorial	DBMS stands for Database...
1112	MariaDB Tutorial	DB means Database ...
112SELECT * FROM mdev19073_2 WHERE MATCH (title, body)
113AGAINST ('Database' IN NATURAL LANGUAGE MODE);
114id	title	body
1151	MySQL Tutorial	DBMS stands for Database...
1162	MariaDB Tutorial	DB means Database ...
117connection default;
118# restart
119disconnect dml;
120disconnect dml2;
121INSERT INTO articles VALUES         (8, 12, 'MySQL Tutorial','DBMS stands for DataBase ...');
122SELECT * FROM articles WHERE MATCH (title, body)
123AGAINST ('Tutorial' IN NATURAL LANGUAGE MODE);
124id	FTS_DOC_ID	title	body
1253	2	Optimizing MySQL	In this tutorial we will show ...
1261	10	MySQL Tutorial	DBMS stands for DataBase ...
1278	12	MySQL Tutorial	DBMS stands for DataBase ...
128DROP TABLE articles;
129SELECT * FROM mdev19073 WHERE MATCH (title, body)
130AGAINST ('Database' IN NATURAL LANGUAGE MODE);
131id	title	body
1321	MySQL Tutorial	DBMS stands for Database...
1332	MariaDB Tutorial	DB means Database ...
134SELECT * FROM mdev19073_2 WHERE MATCH (title, body)
135AGAINST ('Database' IN NATURAL LANGUAGE MODE);
136id	title	body
1371	MySQL Tutorial	DBMS stands for Database...
1382	MariaDB Tutorial	DB means Database ...
139DROP TABLE mdev19073, mdev19073_2;
140