ich FTS4
mit sqlite 3.8.10
mit und ich versuche, ein Schema wie so einzurichten:SQLite FTS4 externe Inhalte ohne Spaltennamen mit Blick
CREATE TABLE Test (name TEXT);
CREATE VIEW TestView as SELECT name FROM Test;
CREATE VIRTUAL TABLE TestFTS using FTS4(content="TestView", name);
In diesem Spielzeug Beispiel habe ich eine einfache Tabelle, Test
und eine Ansicht, TestView
, die dieser Tabelle entspricht. Ich erstelle einen FTS4
Index, TestFTS
aus der Sicht.
Dann füllen ich einige Daten wie folgt:
INSERT INTO Test VALUES ('bob');
INSERT INTO Test VALUES ('bill');
INSERT INTO Test VALUES ('jane');
INSERT INTO TestFTS(TestFTS) VALUES ('rebuild');
So weit so gut. Jetzt möchte ich meine Daten abfragen, zum Beispiel:
SELECT name FROM TestFTS WHERE name MATCH "b*";
Diese zwei Zeilen zurückgeben sollte:
bob
Rechnung
Stattdessen gibt es eine einzelne Zeile und dass Zeile ist leer. Wenn ich alle Daten aus der TestFTS
Tabelle abfragen, dann kann ich die Werte sehen, aber offensichtlich ist es nicht viel, wenn ich nicht MATCH
Typ Abfragen tun kann:
SELECT name FROM TestFTS;
bob
Rechnung
jane
Jede Idee, warum SQLite
wird die Daten nicht zurückkehrt, oder auch die richtige Anzahl von Zeilen, wHE n mit MATCH
Abfragen auf externen Inhalt VIEW
s ohne Spaltennamen?
====
UPDATE: Ich habe versucht, sqlite 3.13
mit dem Namen Spaltenansichten verwenden und ich das gleiche Problem zu sehen.