Get an auth query one at a time

pull/68/head
Erik Johnston 2015-02-12 14:39:31 +00:00
parent 8bbdf32849
commit 717687e1fc
1 changed files with 6 additions and 7 deletions

View File

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