Merge remote-tracking branch 'origin/master' into doc_cfg

This commit is contained in:
gwenn 2021-06-14 20:19:23 +02:00
commit 2ddbebad97
5 changed files with 13 additions and 14 deletions

View File

@ -223,7 +223,7 @@ impl Connection {
row_id: i64, row_id: i64,
read_only: bool, read_only: bool,
) -> Result<Blob<'a>> { ) -> Result<Blob<'a>> {
let mut c = self.db.borrow_mut(); let c = self.db.borrow_mut();
let mut blob = ptr::null_mut(); let mut blob = ptr::null_mut();
let db = db.as_cstring()?; let db = db.as_cstring()?;
let table = super::str_to_cstring(table)?; let table = super::str_to_cstring(table)?;

View File

@ -64,7 +64,7 @@ impl Connection {
0 0
} }
} }
let mut c = self.db.borrow_mut(); let c = self.db.borrow_mut();
let r = match callback { let r = match callback {
Some(f) => unsafe { Some(f) => unsafe {
ffi::sqlite3_busy_handler(c.db(), Some(busy_handler_callback), f as *mut c_void) ffi::sqlite3_busy_handler(c.db(), Some(busy_handler_callback), f as *mut c_void)

View File

@ -14,7 +14,6 @@ use crate::{Connection, InnerConnection};
#[repr(i32)] #[repr(i32)]
#[non_exhaustive] #[non_exhaustive]
#[allow(clippy::upper_case_acronyms)] #[allow(clippy::upper_case_acronyms)]
#[cfg_attr(docsrs, doc(cfg(feature = "hooks")))]
pub enum Action { pub enum Action {
/// Unsupported / unexpected action /// Unsupported / unexpected action
UNKNOWN = -1, UNKNOWN = -1,
@ -43,14 +42,14 @@ impl From<i32> for Action {
/// See <https://sqlite.org/c3ref/set_authorizer.html> for more info. /// See <https://sqlite.org/c3ref/set_authorizer.html> for more info.
#[derive(Clone, Copy, Debug, PartialEq)] #[derive(Clone, Copy, Debug, PartialEq)]
pub struct AuthContext<'c> { pub struct AuthContext<'c> {
// The action to be authorized. /// The action to be authorized.
pub action: AuthAction<'c>, pub action: AuthAction<'c>,
/// The database name, if applicable. /// The database name, if applicable.
pub database_name: Option<&'c str>, pub database_name: Option<&'c str>,
// The inner-most trigger or view responsible for the access attempt. /// The inner-most trigger or view responsible for the access attempt.
// `None` if the access attempt was made by top-level SQL code. /// `None` if the access attempt was made by top-level SQL code.
pub accessor: Option<&'c str>, pub accessor: Option<&'c str>,
} }
@ -299,6 +298,7 @@ pub(crate) type BoxedAuthorizer =
/// A transaction operation. /// A transaction operation.
#[derive(Clone, Copy, Debug, PartialEq)] #[derive(Clone, Copy, Debug, PartialEq)]
#[non_exhaustive] #[non_exhaustive]
#[allow(missing_docs)]
pub enum TransactionOperation { pub enum TransactionOperation {
Unknown, Unknown,
Begin, Begin,
@ -317,6 +317,7 @@ impl TransactionOperation {
} }
} }
/// [`authorizer`](Connection::authorizer) return code
#[derive(Clone, Copy, Debug, PartialEq)] #[derive(Clone, Copy, Debug, PartialEq)]
#[non_exhaustive] #[non_exhaustive]
pub enum Authorization { pub enum Authorization {
@ -598,7 +599,7 @@ impl InnerConnection {
}; };
} }
pub fn authorizer<'c, F>(&'c mut self, authorizer: Option<F>) fn authorizer<'c, F>(&'c mut self, authorizer: Option<F>)
where where
F: for<'r> FnMut(AuthContext<'r>) -> Authorization + Send + RefUnwindSafe + 'static, F: for<'r> FnMut(AuthContext<'r>) -> Authorization + Send + RefUnwindSafe + 'static,
{ {

View File

@ -136,7 +136,7 @@ impl InnerConnection {
} }
#[inline] #[inline]
pub fn decode_result(&mut self, code: c_int) -> Result<()> { pub fn decode_result(&self, code: c_int) -> Result<()> {
unsafe { InnerConnection::decode_result_raw(self.db(), code) } unsafe { InnerConnection::decode_result_raw(self.db(), code) }
} }
@ -278,7 +278,7 @@ impl InnerConnection {
} }
#[inline] #[inline]
pub fn changes(&mut self) -> usize { pub fn changes(&self) -> usize {
unsafe { ffi::sqlite3_changes(self.db()) as usize } unsafe { ffi::sqlite3_changes(self.db()) as usize }
} }

View File

@ -74,8 +74,6 @@ pub use crate::cache::CachedStatement;
pub use crate::column::Column; pub use crate::column::Column;
pub use crate::error::Error; pub use crate::error::Error;
pub use crate::ffi::ErrorCode; pub use crate::ffi::ErrorCode;
#[cfg(feature = "hooks")]
pub use crate::hooks::Action;
#[cfg(feature = "load_extension")] #[cfg(feature = "load_extension")]
pub use crate::load_extension_guard::LoadExtensionGuard; pub use crate::load_extension_guard::LoadExtensionGuard;
pub use crate::params::{params_from_iter, Params, ParamsFromIter}; pub use crate::params::{params_from_iter, Params, ParamsFromIter};
@ -108,7 +106,7 @@ mod context;
pub mod functions; pub mod functions;
#[cfg(feature = "hooks")] #[cfg(feature = "hooks")]
#[cfg_attr(docsrs, doc(cfg(feature = "hooks")))] #[cfg_attr(docsrs, doc(cfg(feature = "hooks")))]
mod hooks; pub mod hooks;
mod inner_connection; mod inner_connection;
#[cfg(feature = "limits")] #[cfg(feature = "limits")]
#[cfg_attr(docsrs, doc(cfg(feature = "limits")))] #[cfg_attr(docsrs, doc(cfg(feature = "limits")))]
@ -845,7 +843,7 @@ impl Connection {
#[inline] #[inline]
fn decode_result(&self, code: c_int) -> Result<()> { fn decode_result(&self, code: c_int) -> Result<()> {
self.db.borrow_mut().decode_result(code) self.db.borrow().decode_result(code)
} }
/// Return the number of rows modified, inserted or deleted by the most /// Return the number of rows modified, inserted or deleted by the most
@ -853,7 +851,7 @@ impl Connection {
/// connection. /// connection.
#[inline] #[inline]
fn changes(&self) -> usize { fn changes(&self) -> usize {
self.db.borrow_mut().changes() self.db.borrow().changes()
} }
/// Test for auto-commit mode. /// Test for auto-commit mode.