Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Fix perf of fetching state in SQLite #1144

Merged
merged 3 commits into from
Sep 27, 2016
Merged

Conversation

erikjohnston
Copy link
Member

No description provided.

Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple of minor things

# each (type, state_key). However, that was terribly slow
# without the right indicies (which we can't add until
# after we finish deduping state, which requires this func)
if types is not None:
Copy link
Member

@richvdh richvdh Sep 26, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we reorder this to reduce the duplication?

query="SELECT type, state_key, event_id FROM state_groups_state WHERE state_group = ?"
args = [next_group]
if types is not None:
   query += where_clause
   args += [i for typ in types for i in typ]
txn.exectute(query, args)
# etc

@@ -389,26 +430,6 @@ def _get_state_groups_from_groups_txn(self, txn, groups, types=None):
if next_group:
group_tree.append(next_group)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the point of this? I don't think its used anywhere?

Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@erikjohnston
Copy link
Member Author

(The tests are due to a flakey test, which is being fixed in matrix-org/sytest#315 )

@erikjohnston erikjohnston merged commit 4a18127 into develop Sep 27, 2016
@richvdh richvdh deleted the erikj/sqlite_state_perf branch December 1, 2016 14:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants