diff options
author | Erik Johnston <erik@matrix.org> | 2015-04-30 13:52:28 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-04-30 14:02:06 +0100 |
commit | 2366d287806f267e078ab21bdf3abf2b67457f03 (patch) | |
tree | 74af678ece13da1ae766129164d05b98bf60aeb6 /synapse/storage | |
parent | Add an access_log (diff) | |
download | synapse-2366d287806f267e078ab21bdf3abf2b67457f03.tar.xz |
Don't needlessly join on state_events
Diffstat (limited to 'synapse/storage')
-rw-r--r-- | synapse/storage/room.py | 5 | ||||
-rw-r--r-- | synapse/storage/state.py | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/synapse/storage/room.py b/synapse/storage/room.py index 2e77b9d79b..78572bbdd2 100644 --- a/synapse/storage/room.py +++ b/synapse/storage/room.py @@ -196,14 +196,13 @@ class RoomStore(SQLBaseStore): sql = ( "SELECT e.*, (%(redacted)s) AS redacted FROM events as e " "INNER JOIN current_state_events as c ON e.event_id = c.event_id " - "INNER JOIN state_events as s ON e.event_id = s.event_id " "WHERE c.room_id = ? " ) % { "redacted": del_sql, } - sql += " AND ((s.type = 'm.room.name' AND s.state_key = '')" - sql += " OR s.type = 'm.room.aliases')" + sql += " AND ((c.type = 'm.room.name' AND c.state_key = '')" + sql += " OR c.type = 'm.room.aliases')" args = (room_id,) results = yield self._execute_and_decode("get_current_state", sql, *args) diff --git a/synapse/storage/state.py b/synapse/storage/state.py index 553ba9dd1f..c282fcf7c1 100644 --- a/synapse/storage/state.py +++ b/synapse/storage/state.py @@ -136,17 +136,16 @@ class StateStore(SQLBaseStore): sql = ( "SELECT e.*, (%(redacted)s) AS redacted FROM events as e " "INNER JOIN current_state_events as c ON e.event_id = c.event_id " - "INNER JOIN state_events as s ON e.event_id = s.event_id " "WHERE c.room_id = ? " ) % { "redacted": del_sql, } if event_type and state_key is not None: - sql += " AND s.type = ? AND s.state_key = ? " + sql += " AND c.type = ? AND c.state_key = ? " args = (room_id, event_type, state_key) elif event_type: - sql += " AND s.type = ?" + sql += " AND c.type = ?" args = (room_id, event_type) else: args = (room_id, ) |