Get an auth query one at a time

This commit is contained in:
Erik Johnston 2015-02-12 14:39:31 +00:00
parent 8bbdf32849
commit 717687e1fc

View File

@ -55,17 +55,16 @@ class EventFederationStore(SQLBaseStore):
results = set() results = set()
base_sql = ( base_sql = (
"SELECT auth_id FROM event_auth WHERE %s" "SELECT auth_id FROM event_auth WHERE event_id = ?"
) )
front = set(event_ids) front = set(event_ids)
while front: while front:
sql = base_sql % ( new_front = set()
" OR ".join(["event_id=?"] * len(front)), for f in front:
) txn.execute(base_sql, (f,))
new_front.update([r[0] for r in txn.fetchall()])
txn.execute(sql, list(front)) front = new_front
front = [r[0] for r in txn.fetchall()]
results.update(front) results.update(front)
return list(results) return list(results)