Add Error methods to get SQLite error values

This commit is contained in:
Nikolai Vazquez 2022-04-06 20:27:01 -04:00
parent 33e5f127cf
commit b0993a1d99

View File

@ -335,6 +335,24 @@ impl error::Error for Error {
}
}
impl Error {
/// Returns the underlying SQLite error if this is [`Error::SqliteFailure`].
#[inline]
pub fn sqlite_error(&self) -> Option<&ffi::Error> {
match self {
Self::SqliteFailure(error, _) => Some(error),
_ => None,
}
}
/// Returns the underlying SQLite error code if this is
/// [`Error::SqliteFailure`].
#[inline]
pub fn sqlite_error_code(&self) -> Option<ffi::ErrorCode> {
self.sqlite_error().map(|error| error.code)
}
}
// These are public but not re-exported by lib.rs, so only visible within crate.
#[cold]