forked from MirrorHub/synapse
Merge pull request #1955 from matrix-org/erikj/current_state_query_bypass
Don't fetch current state in common case
This commit is contained in:
commit
eda96586ca
1 changed files with 15 additions and 0 deletions
|
@ -311,6 +311,21 @@ class EventsStore(SQLBaseStore):
|
|||
|
||||
new_forward_extremeties[room_id] = new_latest_event_ids
|
||||
|
||||
len_1 = (
|
||||
len(latest_event_ids) == 1
|
||||
and len(new_latest_event_ids) == 1
|
||||
)
|
||||
if len_1:
|
||||
all_single_prev_not_state = all(
|
||||
len(event.prev_events) == 1
|
||||
and not event.is_state()
|
||||
for event, ctx in ev_ctx_rm
|
||||
)
|
||||
# Don't bother calculating state if they're just
|
||||
# a long chain of single ancestor non-state events.
|
||||
if all_single_prev_not_state:
|
||||
continue
|
||||
|
||||
state = yield self._calculate_state_delta(
|
||||
room_id, ev_ctx_rm, new_latest_event_ids
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue