build where_clause sanely
This commit is contained in:
parent
52f7e23c72
commit
b2aba9e430
|
@ -263,18 +263,16 @@ class StateGroupWorkerStore(SQLBaseStore):
|
||||||
results[group][key] = event_id
|
results[group][key] = event_id
|
||||||
else:
|
else:
|
||||||
where_args = []
|
where_args = []
|
||||||
|
where_clauses = []
|
||||||
if types is not None:
|
if types is not None:
|
||||||
where_clause = "AND ("
|
|
||||||
for typ in types:
|
for typ in types:
|
||||||
if typ[1] is None:
|
if typ[1] is None:
|
||||||
where_clause += "(type = ?)"
|
where_clauses.append("(type = ?)")
|
||||||
where_args.extend(typ[0])
|
where_args.extend(typ[0])
|
||||||
else:
|
else:
|
||||||
where_clause += "(type = ? AND state_key = ?)"
|
where_clauses.append("(type = ? AND state_key = ?)")
|
||||||
where_args.extend([typ[0], typ[1]])
|
where_args.extend([typ[0], typ[1]])
|
||||||
if typ != types[-1]:
|
where_clause = "AND (%s)" % (" OR ".join(where_clauses))
|
||||||
where_clause += " OR "
|
|
||||||
where_clause += ")"
|
|
||||||
else:
|
else:
|
||||||
where_clause = ""
|
where_clause = ""
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue