Skip to content

Commit 76ddeab

Browse files
committed
Simplify get_initial_data_from_db
From Jörg Sommer's PR: #10
1 parent c31ba27 commit 76ddeab

File tree

1 file changed

+10
-17
lines changed

1 file changed

+10
-17
lines changed

src/database.rs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,21 @@ fn get_initial_data_from_db(
7777
room_id: &str,
7878
max_state_group: Option<i64>,
7979
) -> BTreeMap<i64, StateGroupEntry> {
80-
let sql = format!(
81-
r#"
80+
let sql = r#"
8281
SELECT m.id, prev_state_group, type, state_key, s.event_id
8382
FROM state_groups AS m
8483
LEFT JOIN state_groups_state AS s ON (m.id = s.state_group)
8584
LEFT JOIN state_group_edges AS e ON (m.id = e.state_group)
86-
WHERE m.room_id = $1 {}
87-
"#,
88-
if max_state_group.is_some() {
89-
"AND m.id <= $2"
90-
} else {
91-
""
92-
}
93-
);
85+
WHERE m.room_id = $1
86+
"#;
9487

9588
let mut rows = if let Some(s) = max_state_group {
96-
client.query_raw(&sql[..], vec![&room_id as _, &s as _])
89+
client.query_raw(
90+
format!(r"{} AND m.id <= $2", sql).as_str(),
91+
vec![&room_id as _, &s as _],
92+
)
9793
} else {
98-
client.query_raw(&sql[..], iter::once(&room_id as _))
94+
client.query_raw(sql, iter::once(&room_id as _))
9995
}
10096
.unwrap();
10197

@@ -109,14 +105,11 @@ fn get_initial_data_from_db(
109105

110106
let mut num_rows = 0;
111107
while let Some(row) = rows.next().unwrap() {
112-
let state_group = row.get(0);
113-
114-
let entry = state_group_map.entry(state_group).or_default();
108+
let entry = state_group_map.entry(row.get(0)).or_default();
115109

116110
entry.prev_state_group = row.get(1);
117-
let etype: Option<String> = row.get(2);
118111

119-
if let Some(etype) = etype {
112+
if let Some(etype) = row.get::<_, Option<String>>(2) {
120113
entry.state_map.insert(
121114
&etype,
122115
&row.get::<_, String>(3),

0 commit comments

Comments
 (0)