$ ./bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
$ ./bin/sqlite3 -batch < /tmp/test.sql
--- 1 ---
0
--- 2 ---
1
$ ./bin/sqlite3 --version
3.8.7 2014-09-30 19:04:41 5ce05757aac80b99c3b2141cd301809f8e28e661
/bin/sqlite3 -batch < /tmp/test.sql
--- 1 ---
0
--- 2 ---
0
The SQL is below. Perhaps someone can see if I'm doing something wrong?
BEGIN TRANSACTION;
CREATE TABLE t(
id INTEGER PRIMARY KEY AUTOINCREMENT
,key TEXT NOT NULL
,value0 DEFAULT ''
,value1 DEFAULT ''
);
CREATE VIRTUAL TABLE t_fts USING FTS4 (
content="t",tokenize=unicode61 "tokenchars=-_"
,key
,value0
,value1
);
CREATE TRIGGER t_bu BEFORE UPDATE ON t BEGIN
DELETE FROM t_fts WHERE docid = old.id;
END;
CREATE TRIGGER t_bd BEFORE DELETE ON t BEGIN
DELETE FROM t_fts WHERE docid = old.id;
END;
CREATE TRIGGER t_au AFTER UPDATE ON t BEGIN
INSERT INTO t_fts(
docid
,key
,value0
,value1
)
VALUES (
new.rowid
,new.key
,new.value0
,new.value1
);
END;
CREATE TRIGGER t_ai AFTER INSERT ON t BEGIN
INSERT INTO t_fts(
docid
,key
,value0
,value1
)
VALUES (
new.rowid
,new.key
,new.value0
,new.value1
);
END;
COMMIT;
BEGIN TRANSACTION;
SELECT '--- 1 ---';
SELECT COUNT(*) FROM t_fts WHERE t_fts MATCH '*l0l* *h4x*';
COMMIT;
BEGIN TRANSACTION;
INSERT INTO t(key,value0,value1) VALUES('$key','l0l','h4x');
COMMIT;
SELECT '--- 2 ---';
SELECT COUNT(*) FROM t_fts WHERE t_fts MATCH '*l0l* *h4x*';
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users