summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2021-04-06 10:59:07 +0000
committerGitHub <noreply@github.com>2021-04-06 10:59:07 +0000
commitb5845bc3a1e9869389414f13a6dee2acd8cb0c2c (patch)
treebc3a7f173b32098b0c1c90fe0d5849b210e1f1e7
parentc586cf5f51cd3194cc8442a5d4e2bf31fbbcd3db (diff)
Bump rusqlite from 0.24.2 to 0.25.0 (#30)
* Bump rusqlite from 0.24.2 to 0.25.0 Bumps [rusqlite](https://github.com/rusqlite/rusqlite) from 0.24.2 to 0.25.0. - [Release notes](https://github.com/rusqlite/rusqlite/releases) - [Changelog](https://github.com/rusqlite/rusqlite/blob/master/Changelog.md) - [Commits](https://github.com/rusqlite/rusqlite/compare/v0.24.2...v0.25.0) Signed-off-by: dependabot[bot] <support@github.com> * Fixes for new rusqlite (mostly the new Params trait) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ellie Huxtable <e@elm.sh>
-rw-r--r--Cargo.lock8
-rw-r--r--Cargo.toml2
-rw-r--r--src/command/history.rs13
-rw-r--r--src/local/database.rs24
4 files changed, 16 insertions, 31 deletions
diff --git a/Cargo.lock b/Cargo.lock
index a101b248..b4c2857a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -926,9 +926,9 @@ dependencies = [
[[package]]
name = "libsqlite3-sys"
-version = "0.20.1"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d31059f22935e6c31830db5249ba2b7ecd54fd73a9909286f0a67aa55c2fbd"
+checksum = "2f6332d94daa84478d55a6aa9dbb3b305ed6500fb0cb9400cb9e1525d0e0e188"
dependencies = [
"cc",
"pkg-config",
@@ -1518,9 +1518,9 @@ dependencies = [
[[package]]
name = "rusqlite"
-version = "0.24.2"
+version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38ee71cbab2c827ec0ac24e76f82eca723cee92c509a65f67dee393c25112"
+checksum = "48381bf52627e7b0e02c4c0e4c0c88fc1cf2228a2eb7461d9499b1372399f1da"
dependencies = [
"bitflags",
"fallible-iterator",
diff --git a/Cargo.toml b/Cargo.toml
index da00d7f7..a016024a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -33,7 +33,7 @@ dotenv = "0.15.0"
sodiumoxide = "0.2.6"
[dependencies.rusqlite]
-version = "0.24"
+version = "0.25"
features = ["bundled"]
[dependencies.rocket_contrib]
diff --git a/src/command/history.rs b/src/command/history.rs
index af8aef7d..05aed4b9 100644
--- a/src/command/history.rs
+++ b/src/command/history.rs
@@ -3,7 +3,7 @@ use std::env;
use eyre::Result;
use structopt::StructOpt;
-use crate::local::database::{Database, QueryParam};
+use crate::local::database::Database;
use crate::local::history::History;
#[derive(StructOpt)]
@@ -96,12 +96,11 @@ impl Cmd {
let history = match params {
(false, false) => db.list()?,
- (true, false) => db.query(QUERY_SESSION, &[QueryParam::Text(session)])?,
- (false, true) => db.query(QUERY_DIR, &[QueryParam::Text(cwd)])?,
- (true, true) => db.query(
- QUERY_SESSION_DIR,
- &[QueryParam::Text(cwd), QueryParam::Text(session)],
- )?,
+ (true, false) => db.query(QUERY_SESSION, &[session.as_str()])?,
+ (false, true) => db.query(QUERY_DIR, &[cwd.as_str()])?,
+ (true, true) => {
+ db.query(QUERY_SESSION_DIR, &[cwd.as_str(), session.as_str()])?
+ }
};
print_list(&history);
diff --git a/src/local/database.rs b/src/local/database.rs
index cba7142c..ad7078e5 100644
--- a/src/local/database.rs
+++ b/src/local/database.rs
@@ -4,14 +4,10 @@ use std::path::Path;
use eyre::Result;
use rusqlite::{params, Connection};
-use rusqlite::{Transaction, NO_PARAMS};
+use rusqlite::{Params, Transaction};
use super::history::History;
-pub enum QueryParam {
- Text(String),
-}
-
pub trait Database {
fn save(&mut self, h: &History) -> Result<()>;
fn save_bulk(&mut self, h: &[History]) -> Result<()>;
@@ -21,7 +17,7 @@ pub trait Database {
fn range(&self, from: chrono::DateTime<Utc>, to: chrono::DateTime<Utc>)
-> Result<Vec<History>>;
- fn query(&self, query: &str, params: &[QueryParam]) -> Result<Vec<History>>;
+ fn query(&self, query: &str, params: impl Params) -> Result<Vec<History>>;
fn update(&self, h: &History) -> Result<()>;
fn history_count(&self) -> Result<i64>;
@@ -71,7 +67,7 @@ impl Sqlite {
unique(timestamp, cwd, command)
)",
- NO_PARAMS,
+ [],
)?;
Ok(())
@@ -105,16 +101,6 @@ impl Sqlite {
}
}
-impl rusqlite::ToSql for QueryParam {
- fn to_sql(&self) -> Result<rusqlite::types::ToSqlOutput<'_>, rusqlite::Error> {
- use rusqlite::types::{ToSqlOutput, Value};
-
- match self {
- Self::Text(s) => Ok(ToSqlOutput::Owned(Value::Text(s.clone()))),
- }
- }
-}
-
impl Database for Sqlite {
fn save(&mut self, h: &History) -> Result<()> {
debug!("saving history to sqlite");
@@ -197,7 +183,7 @@ impl Database for Sqlite {
Ok(history_iter.filter_map(Result::ok).collect())
}
- fn query(&self, query: &str, params: &[QueryParam]) -> Result<Vec<History>> {
+ fn query(&self, query: &str, params: impl Params) -> Result<Vec<History>> {
let mut stmt = self.conn.prepare(query)?;
let history_iter = stmt.query_map(params, |row| history_from_sqlite_row(None, row))?;
@@ -208,7 +194,7 @@ impl Database for Sqlite {
fn prefix_search(&self, query: &str) -> Result<Vec<History>> {
self.query(
"select * from history where command like ?1 || '%' order by timestamp asc",
- &[QueryParam::Text(query.to_string())],
+ &[query],
)
}