Add SQLite support

This commit is contained in:
Erik Johnston 2015-10-13 13:47:50 +01:00
parent f9340ea0d5
commit cfd39d6b55

View File

@ -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