mirror of
https://github.com/fluencelabs/sqlite-wasm-connector
synced 2025-04-25 08:42:14 +00:00
Return error message from SQLite
This commit is contained in:
parent
4baf4517f8
commit
ef550d6d75
16
src/lib.rs
16
src/lib.rs
@ -8,10 +8,24 @@ macro_rules! raise(
|
|||||||
);
|
);
|
||||||
|
|
||||||
macro_rules! success(
|
macro_rules! success(
|
||||||
|
($result:expr, $database:expr) => (
|
||||||
|
match $result {
|
||||||
|
::raw::SQLITE_OK => {},
|
||||||
|
code => match ::Error::last($database) {
|
||||||
|
Some(error) => return Err(error),
|
||||||
|
None => return Err(::Error::from(::result::code_from_raw(code))),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
($result:expr) => (
|
($result:expr) => (
|
||||||
match $result {
|
match $result {
|
||||||
::raw::SQLITE_OK => {},
|
::raw::SQLITE_OK => {},
|
||||||
code => return Err(::Error::from(::result::code_from_raw(code))),
|
code => return Err(::Error {
|
||||||
|
code: ::result::code_from_raw(code),
|
||||||
|
message: Some(c_str_to_string!(unsafe {
|
||||||
|
::raw::sqlite3_errstr(code)
|
||||||
|
})),
|
||||||
|
}),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
);
|
);
|
||||||
|
11
tests/lib.rs
11
tests/lib.rs
@ -55,6 +55,17 @@ fn workflow() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
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"))),
|
||||||
|
_ => assert!(false),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn setup() -> (PathBuf, Directory) {
|
fn setup() -> (PathBuf, Directory) {
|
||||||
let directory = ok!(Directory::new("sqlite"));
|
let directory = ok!(Directory::new("sqlite"));
|
||||||
(directory.path().join("database.sqlite3"), directory)
|
(directory.path().join("database.sqlite3"), directory)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user