summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-10-13 13:47:50 +0100
committerErik Johnston <erik@matrix.org>2015-10-13 13:47:50 +0100
commitcfd39d6b55fad5b176f1883e1bc87ed8e14acf42 (patch)
treec50208fd8139254d84b35d756569c8e05af3391c /synapse/storage
parentMerge branch 'erikj/store_engine' into erikj/search (diff)
downloadsynapse-cfd39d6b55fad5b176f1883e1bc87ed8e14acf42.tar.xz
Add SQLite support
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/search.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/synapse/storage/search.py b/synapse/storage/search.py

index 238df38440..5843f80876 100644 --- a/synapse/storage/search.py +++ b/synapse/storage/search.py
@@ -17,6 +17,7 @@ from twisted.internet import defer from _base import SQLBaseStore from synapse.api.constants import KnownRoomEventKeys, SearchConstraintTypes +from synapse.storage.engines import PostgresEngine class SearchStore(SQLBaseStore): @@ -48,11 +49,17 @@ class SearchStore(SQLBaseStore): "(%s)" % (" OR ".join(local_clauses),) ) - sql = ( - "SELECT ts_rank_cd(vector, query) AS rank, event_id" - " FROM plainto_tsquery('english', ?) as query, event_search" - " WHERE vector @@ query" - ) + if isinstance(self.database_engine, PostgresEngine): + sql = ( + "SELECT ts_rank_cd(vector, query) AS rank, event_id" + " FROM plainto_tsquery('english', ?) as query, event_search" + " WHERE vector @@ query" + ) + else: + sql = ( + "SELECT 0 as rank, event_id FROM event_search" + " WHERE value MATCH ?" + ) for clause in clauses: sql += " AND " + clause