Hello, With 3.11.0 if you run the following SQL you will get no result (which is wrong):
-- cut -- BEGIN; CREATE VIRTUAL TABLE fts USING fts4 (t); INSERT INTO fts (rowid, t) VALUES (1, 'test'); INSERT INTO fts (fts) VALUES ('optimize'); COMMIT; SELECT rowid FROM fts WHERE fts MATCH 'test'; -- cut -- If however you comment out either 'optimize' statement or BEGIN/COMMIT you'll get '1' (which is correct). Tested with 3.11.0 FTS3/4. I have no 3.11.1 nor FTS5 so unable to test there. News for 3.11.1 mentions Fix an FTS5 issue in which the 'optimize' command could cause index corruption. which may or may not be related. Regards, -- Tomash Brechko