diff options
author | Erik Johnston <erik@matrix.org> | 2015-05-13 11:13:31 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-05-13 11:13:31 +0100 |
commit | 409bcc76bdbdb5410d755b1eded370491641976f (patch) | |
tree | a6f07fc5119a95f228e406a4108531f4fc037079 /synapse/storage/state.py | |
parent | Don't talk to yourself when backfilling (diff) | |
download | synapse-409bcc76bdbdb5410d755b1eded370491641976f.tar.xz |
Load events for state group seperately
Diffstat (limited to 'synapse/storage/state.py')
-rw-r--r-- | synapse/storage/state.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/synapse/storage/state.py b/synapse/storage/state.py index dbc0e49c1f..9ed5412999 100644 --- a/synapse/storage/state.py +++ b/synapse/storage/state.py @@ -43,6 +43,7 @@ class StateStore(SQLBaseStore): * `state_groups_state`: Maps state group to state events. """ + @defer.inlineCallbacks def get_state_groups(self, event_ids): """ Get the state groups for the given list of event_ids @@ -71,17 +72,22 @@ class StateStore(SQLBaseStore): retcol="event_id", ) - state = self._get_events_txn(txn, state_ids) + # state = self._get_events_txn(txn, state_ids) - res[group] = state + res[group] = state_ids return res - return self.runInteraction( + states = yield self.runInteraction( "get_state_groups", f, ) + for vals in states.values(): + vals[:] = yield self._get_events(vals, desc="_get_state_groups_ev") + + defer.returnValue(states) + def _store_state_groups_txn(self, txn, event, context): if context.current_state is None: return |