summary refs log tree commit diff
path: root/synapse/storage/search.py
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-11-11 13:59:40 +0000
committerMark Haines <mark.haines@matrix.org>2015-11-11 13:59:40 +0000
commit940a16119205115c02a3b23e9f3c67a08486bae0 (patch)
tree34d4eebc066d00b3fc0bfce76d35feb537129ed3 /synapse/storage/search.py
parentUse a background task to update databases to use the full text search (diff)
downloadsynapse-940a16119205115c02a3b23e9f3c67a08486bae0.tar.xz
Fix the background update
Diffstat (limited to 'synapse/storage/search.py')
-rw-r--r--synapse/storage/search.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/synapse/storage/search.py b/synapse/storage/search.py
index 3b19b118eb..3c0d671129 100644
--- a/synapse/storage/search.py
+++ b/synapse/storage/search.py
@@ -46,18 +46,18 @@ class SearchStore(BackgroundUpdateStore):
 
         def reindex_search_txn(txn):
             sql = (
-                "SELECT stream_id, event_id FROM events"
+                "SELECT stream_ordering, event_id FROM events"
                 " WHERE ? <= stream_ordering AND stream_ordering < ?"
                 " AND (%s)"
                 " ORDER BY stream_ordering DESC"
                 " LIMIT ?"
-            ) % (" OR ".join("type = '%s'" % TYPES),)
+            ) % (" OR ".join("type = '%s'" % (t,) for t in TYPES),)
 
-            txn.execute(sql, target_min_stream_id, max_stream_id, batch_size)
+            txn.execute(sql, (target_min_stream_id, max_stream_id, batch_size))
 
-            rows = txn.fetch_all()
+            rows = txn.fetchall()
             if not rows:
-                return None
+                return 0
 
             min_stream_id = rows[-1][0]
             event_ids = [row[1] for row in rows]
@@ -102,7 +102,7 @@ class SearchStore(BackgroundUpdateStore):
 
             for index in range(0, len(event_search_rows), INSERT_CLUMP_SIZE):
                 clump = event_search_rows[index:index + INSERT_CLUMP_SIZE]
-                txn.execute_many(sql, clump)
+                txn.executemany(sql, clump)
 
             progress = {
                 "target_min_stream_id_inclusive": target_min_stream_id,
@@ -116,11 +116,11 @@ class SearchStore(BackgroundUpdateStore):
 
             return len(event_search_rows)
 
-        result = yield self.runInteration(
+        result = yield self.runInteraction(
             self.EVENT_SEARCH_UPDATE_NAME, reindex_search_txn
         )
 
-        if result is None:
+        if not result:
             yield self._end_background_update(self.EVENT_SEARCH_UPDATE_NAME)
 
         defer.returnValue(result)