diff --git a/Cargo.toml b/Cargo.toml index 378eee1..1eb6cd4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ trace = [] time = "~0.1.0" bitflags = "~0.1" libc = "~0.2" -clippy = {version = "~0.0.41", optional = true} +clippy = {version = "~0.0.58", optional = true} [dev-dependencies] tempdir = "~0.3.4" diff --git a/src/error.rs b/src/error.rs index 8348dcc..3662d37 100644 --- a/src/error.rs +++ b/src/error.rs @@ -143,18 +143,19 @@ impl error::Error for Error { fn cause(&self) -> Option<&error::Error> { match *self { Error::SqliteFailure(ref err, _) => Some(err), - Error::SqliteSingleThreadedMode => None, Error::FromSqlConversionFailure(ref err) => Some(&**err), Error::Utf8Error(ref err) => Some(err), Error::NulError(ref err) => Some(err), - Error::InvalidParameterName(_) => None, + + Error::SqliteSingleThreadedMode | + Error::InvalidParameterName(_) | + Error::ExecuteReturnedResults | + Error::QueryReturnedNoRows | + Error::GetFromStaleRow | + Error::InvalidColumnIndex(_) | + Error::InvalidColumnName(_) | + Error::InvalidColumnType | Error::InvalidPath(_) => None, - Error::ExecuteReturnedResults => None, - Error::QueryReturnedNoRows => None, - Error::GetFromStaleRow => None, - Error::InvalidColumnIndex(_) => None, - Error::InvalidColumnName(_) => None, - Error::InvalidColumnType => None, #[cfg(feature = "functions")] Error::InvalidFunctionParameterType => None, diff --git a/src/lib.rs b/src/lib.rs index 9c0f322..952ebe0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -53,6 +53,9 @@ #![cfg_attr(feature="clippy", feature(plugin))] #![cfg_attr(feature="clippy", plugin(clippy))] +// Clippy complains about SQLite in our doc comments, but they're fine. +#![cfg_attr(feature="clippy", allow(doc_markdown))] + extern crate libc; extern crate libsqlite3_sys as ffi; #[macro_use] @@ -791,10 +794,10 @@ impl<'conn> Statement<'conn> { ffi::sqlite3_reset(self.stmt); match r { ffi::SQLITE_DONE => { - if self.column_count != 0 { - Err(Error::ExecuteReturnedResults) - } else { + if self.column_count == 0 { Ok(self.conn.changes()) + } else { + Err(Error::ExecuteReturnedResults) } } ffi::SQLITE_ROW => Err(Error::ExecuteReturnedResults),