From d549a646869ee1825774223d5b1a885da2b9b298 Mon Sep 17 00:00:00 2001 From: Ivan Ukhov Date: Fri, 29 May 2015 16:41:34 -0400 Subject: [PATCH] Get rid of sqlite3_errstr --- src/database.rs | 15 ++++++++------- src/lib.rs | 9 ++------- tests/lib.rs | 3 +-- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/database.rs b/src/database.rs index 8dde348..c77471e 100644 --- a/src/database.rs +++ b/src/database.rs @@ -32,13 +32,14 @@ impl<'l> Database<'l> { match callback { Some(callback) => { let mut callback = Box::new(callback); - success!(raw::sqlite3_exec(self.raw, str_to_c_str!(sql), - Some(execute_callback), - &mut callback as *mut _ as *mut _, 0 as *mut _)); + success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql), + Some(execute_callback), + &mut callback as *mut _ as *mut _, + 0 as *mut _)); }, None => { - success!(raw::sqlite3_exec(self.raw, str_to_c_str!(sql), None, 0 as *mut _, - 0 as *mut _)); + success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql), None, + 0 as *mut _, 0 as *mut _)); }, } } @@ -50,8 +51,8 @@ impl<'l> Database<'l> { pub fn statement(&mut self, sql: &str) -> Result> { let mut raw = 0 as *mut _; unsafe { - success!(raw::sqlite3_prepare(self.raw, str_to_c_str!(sql), -1, &mut raw, - 0 as *mut _)); + success!(self, raw::sqlite3_prepare(self.raw, str_to_c_str!(sql), -1, &mut raw, + 0 as *mut _)); } Ok(::statement::from_raw(raw)) } diff --git a/src/lib.rs b/src/lib.rs index 43b914c..28b838f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,7 +8,7 @@ macro_rules! raise( ); macro_rules! success( - ($result:expr, $database:expr) => ( + ($database:expr, $result:expr) => ( match $result { ::raw::SQLITE_OK => {}, code => match ::Error::last($database) { @@ -20,12 +20,7 @@ macro_rules! success( ($result:expr) => ( match $result { ::raw::SQLITE_OK => {}, - code => return Err(::Error { - code: ::result::code_from_raw(code), - message: Some(c_str_to_string!(unsafe { - ::raw::sqlite3_errstr(code) - })), - }), + code => return Err(::Error::from(::result::code_from_raw(code))), } ); ); diff --git a/tests/lib.rs b/tests/lib.rs index 2f51935..83e0bf5 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -60,8 +60,7 @@ fn failure() { let (path, _directory) = setup(); let mut database = ok!(sqlite::open(&path)); match database.execute(":)", None) { - Err(error) => assert_eq!(error.message, - Some(String::from("SQL logic error or missing database"))), + Err(error) => assert_eq!(error.message, Some(String::from(r#"unrecognized token: ":""#))), _ => assert!(false), } }