Wie eine externe Inhalts-FTS4-Tabelle abgefragt wird, aber zusätzliche Spalten aus der ursprünglichen Inhalts-Tabelle zurückgegeben werden

Ich erstelle ein FTS4 externe Inhaltstabelle in SQLite wie folgt:

CREATE TABLE t2(id INTEGER PRIMARY KEY, col_a, col_b, col_text);
CREATE VIRTUAL TABLE fts_table USING fts4(content="t2", col_text);

Ich verwende eine externe Inhaltstabelle, damit ich keine doppelten Werte von @ speichern muscol_text imfts_table. Ich indiziere nurcol_text weilcol_a undcol_b muss nicht indiziert werden.

Allerdings, wenn ich eine Abfrage vonfts_table so wa

SELECT * FROM fts_table WHERE fts_table MATCH 'something';

Ich habe keinen Zugriff aufcol_a undcol_b aus der Inhaltstabellet2. Wie werden alle diese Spalten zurückgegeben col_a, col_b, col_text) aus einer einzelnen FTS-Abfrage?

Aktualisiere

Ich habe versucht, mit dernotindexed=column_name Option wie in

CREATE VIRTUAL TABLE fts_table USING fts4(content="t2", col_a, col_b, col_text, notindexed=col_a, notindexed=col_b);

Dies sollte für einige Leute funktionieren, aber ich benutze es in Android undnotindexed -Option wird erst mit SQLite 3.8 unterstützt, Android erst mitAndroid Version 5.x. Und ich muss Android 4.x unterstützen. Ich aktualisiere diese Frage mit dem Android-Tag.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage