Struct rusqlite::LoadExtensionGuard
source · pub struct LoadExtensionGuard<'conn> { /* private fields */ }
Available on crate feature
load_extension
only.Expand description
RAII guard temporarily enabling SQLite extensions to be loaded.
Example
fn load_my_extension(conn: &Connection) -> Result<()> {
unsafe {
let _guard = LoadExtensionGuard::new(conn)?;
conn.load_extension("trusted/sqlite/extension", None)
}
}
Implementations§
source§impl LoadExtensionGuard<'_>
impl LoadExtensionGuard<'_>
sourcepub unsafe fn new(conn: &Connection) -> Result<LoadExtensionGuard<'_>>
pub unsafe fn new(conn: &Connection) -> Result<LoadExtensionGuard<'_>>
Attempt to enable loading extensions. Loading extensions will be disabled when this guard goes out of scope. Cannot be meaningfully nested.
Safety
You must not run untrusted queries while extension loading is enabled.
See the safety comment on Connection::load_extension_enable
for more
details.
Trait Implementations§
Auto Trait Implementations§
impl<'conn> !RefUnwindSafe for LoadExtensionGuard<'conn>
impl<'conn> !Send for LoadExtensionGuard<'conn>
impl<'conn> !Sync for LoadExtensionGuard<'conn>
impl<'conn> Unpin for LoadExtensionGuard<'conn>
impl<'conn> !UnwindSafe for LoadExtensionGuard<'conn>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more