2
我創建通過使用「內容」的說法一VIEW支持的FTS表,但它不生產,我會期望的結果:SQLite FTS表可以支持一個視圖嗎?
CREATE TABLE tracks(docid INTEGER PRIMARY KEY, track_name varchar, ref_aid integer, ref_rid integer);
CREATE TABLE artists(artist_name varchar, aid integer);
CREATE TABLE releases(release_name varchar, rid integer);
CREATE VIEW v AS
SELECT docid, track_name, artist_name, release_name
FROM tracks, artists, releases
WHERE ref_aid = aid AND ref_rid = rid;
CREATE VIRTUAL TABLE t USING fts4(content="v", track_name, artist_name, release_name);
INSERT INTO tracks VALUES(0, 'xxx', 1, 1);
INSERT INTO tracks VALUES(1, 'yyy', 1, 1);
INSERT INTO artists VALUES('aaa', 1);
INSERT INTO releases VALUES('rrr', 1);
INSERT INTO t (docid, track_name, artist_name, release_name)
SELECT docid, track_name, artist_name, release_name
FROM v;
-- this prints 0 as expected:
SELECT docid FROM t WHERE t MATCH 'xxx';
-- this prints ||, indicating that it failed to look up the content in the view:
SELECT * FROM t WHERE t MATCH 'xxx';
我希望第二個SELECT語句返回xxx|aaa|rrr
,但它不會返回任何東西。