diff options
Diffstat (limited to 'src/db/sqlite_adapter.rs')
-rw-r--r-- | src/db/sqlite_adapter.rs | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/src/db/sqlite_adapter.rs b/src/db/sqlite_adapter.rs index e11a3e60..14bf35ff 100644 --- a/src/db/sqlite_adapter.rs +++ b/src/db/sqlite_adapter.rs @@ -154,22 +154,12 @@ impl IDb for SqliteDb { let tree = this.get_tree(tree)?; let old_val = this.internal_get(tree, key)?; - match &old_val { - Some(_) => { - let n = this.db.execute( - &format!("UPDATE {} SET v = ?2 WHERE k = ?1", tree), - params![key, value], - )?; - assert_eq!(n, 1); - } - None => { - let n = this.db.execute( - &format!("INSERT INTO {} (k, v) VALUES (?1, ?2)", tree), - params![key, value], - )?; - assert_eq!(n, 1); - } - } + let sql = match &old_val { + Some(_) => format!("UPDATE {} SET v = ?2 WHERE k = ?1", tree), + None => format!("INSERT INTO {} (k, v) VALUES (?1, ?2)", tree), + }; + let n = this.db.execute(&sql, params![key, value])?; + assert_eq!(n, 1); Ok(old_val) } @@ -343,22 +333,12 @@ impl<'a> ITx for SqliteTx<'a> { let tree = self.get_tree(tree)?; let old_val = self.internal_get(tree, key)?; - match &old_val { - Some(_) => { - let n = self.tx.execute( - &format!("UPDATE {} SET v = ?2 WHERE k = ?1", tree), - params![key, value], - )?; - assert_eq!(n, 1); - } - None => { - let n = self.tx.execute( - &format!("INSERT INTO {} (k, v) VALUES (?1, ?2)", tree), - params![key, value], - )?; - assert_eq!(n, 1); - } - } + let sql = match &old_val { + Some(_) => format!("UPDATE {} SET v = ?2 WHERE k = ?1", tree), + None => format!("INSERT INTO {} (k, v) VALUES (?1, ?2)", tree), + }; + let n = self.tx.execute(&sql, params![key, value])?; + assert_eq!(n, 1); Ok(old_val) } |