Compare commits

...

2 Commits

2 changed files with 25 additions and 13 deletions

View File

@@ -60,14 +60,19 @@ class StateStore(SQLBaseStore):
res = {} res = {}
for group in groups: for group in groups:
state_ids = self._simple_select_onecol_txn( sql = (
txn, "SELECT internal_metadata, json, r.event_id "
table="state_groups_state", "FROM event_json as e "
keyvalues={"state_group": group}, "INNER JOIN state_groups_state as s "
retcol="event_id", "ON e.event_id = s.event_id "
"LEFT JOIN redactions as r ON e.event_id = r.redacts "
"WHERE s.state_group = ?"
) )
state = self._get_events_txn(txn, state_ids) txn.execute(sql, (group,))
rows = txn.fetchall()
state = [self._get_event_from_row_txn(txn, *r) for r in rows]
res[group] = state res[group] = state

View File

@@ -269,8 +269,11 @@ class StreamStore(SQLBaseStore):
# TODO (erikj): Handle compressed feedback # TODO (erikj): Handle compressed feedback
sql = ( sql = (
"SELECT stream_ordering, topological_ordering, event_id FROM events " "SELECT stream_ordering, topological_ordering, "
"WHERE room_id = ? AND stream_ordering <= ? AND outlier = 0 " "internal_metadata, json, r.event_id FROM events as e "
"LEFT JOIN event_json as ej ON e.event_id = ej.event_id "
"LEFT JOIN redactions as r ON e.event_id = r.redacts "
"WHERE e.room_id = ? AND stream_ordering <= ? AND outlier = 0 "
"ORDER BY topological_ordering DESC, stream_ordering DESC LIMIT ? " "ORDER BY topological_ordering DESC, stream_ordering DESC LIMIT ? "
) )
@@ -295,11 +298,15 @@ class StreamStore(SQLBaseStore):
else: else:
token = (end_token, end_token) token = (end_token, end_token)
events = self._get_events_txn( events = [
txn, self._get_event_from_row_txn(
[r["event_id"] for r in rows], txn,
get_prev_content=True r["internal_metadata"],
) r["json"],
r["event_id"],
)
for r in rows
]
return events, token return events, token