diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-10 04:59:09 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-10 04:59:09 -0500 |
commit | baaf4968270dc6019289faafa56a84b2045286f6 (patch) | |
tree | 59b51829281c8ca4ec5f3272fead155651b8fb7d /src | |
parent | 67073417c345cc7399808ffec03a7e34eb350b91 (diff) | |
download | lastfm-query-baaf4968270dc6019289faafa56a84b2045286f6.tar.gz lastfm-query-baaf4968270dc6019289faafa56a84b2045286f6.zip |
simplify
Diffstat (limited to 'src')
-rw-r--r-- | src/cmd/sql.rs | 6 | ||||
-rw-r--r-- | src/db.rs | 4 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/cmd/sql.rs b/src/cmd/sql.rs index 8332164..81fdaef 100644 --- a/src/cmd/sql.rs +++ b/src/cmd/sql.rs @@ -36,19 +36,15 @@ impl super::Command for Command { fn run(&self) -> failure::Fallible<()> { let db = db::DB::new(&util::db_path()?)?; - let rows_cell = std::cell::Cell::new(Some(vec![])); + let mut rows = vec![]; let cols = db.query(&self.query, |row| { let display_row: Vec<String> = (0..row.column_count()) .map(|i| row.get_raw(i)) .map(|v| format_value(&v)) .collect(); - let mut rows = rows_cell.replace(None).unwrap(); rows.push(display_row); - rows_cell.replace(Some(rows)); })?; - let rows = rows_cell.into_inner().unwrap(); - if self.tsv { print_tsv(&rows); } @@ -112,10 +112,10 @@ impl DB { Ok(()) } - pub fn query<F: Fn(&rusqlite::Row)>( + pub fn query<F: FnMut(&rusqlite::Row)>( &self, query: &str, - f: F + mut f: F ) -> failure::Fallible<Vec<String>> { let mut sth = self.conn.prepare(query)?; |