以下のクエリは Android では機能せず、次の例外がスローされます
Unable to use function MATCH in the requested context
これはかなり複雑なクエリなので、単純化する方法を検討しています。sqlite-jdbc-3.715
情報については、このクエリは、ドライバーを使用してコンピューター上の同じデータベースで機能します
SELECT * FROM stop_times WHERE
departure_time >= 1000-125
AND
departure_time <= 1000+180
AND stop_id IN
(SELECT _id FROM stop_sequences WHERE stop_ids MATCH '"642," OR "642," OR ",642"')
AND _id IN
(SELECT _id FROM trips WHERE service_id IN (SELECT _id FROM calendar WHERE wednesday=1))
ORDER BY departure_time ASC
私の FTS テーブル宣言は問題ないと思います。
CREATE VIRTUAL TABLE stop_sequences USING fts4(
_id INTEGER PRIMARY KEY,
stop_ids TEXT
);
SQL の第一人者が私を助けてくれませんか? ありがとう
編集:次のような最も単純なクエリでさえ、
SELECT _id FROM stop_sequences WHERE stop_ids MATCH '"642";
同じエラーで失敗します。コードの別の場所で別のデータベースのステートメントを既に使用MATCH
していますが、まったく文句はありません。エラー メッセージに記載されているコンテキストは、Android のContext
.