/// RAII guard temporarily enabling SQLite extensions to be loaded. /// /// ## Example /// /// ```rust,no_run /// # use rusqlite::{Connection, Result, LoadExtensionGuard}; /// # use std::path::{Path}; /// fn load_my_extension(conn: &Connection) -> Result<()> { /// unsafe { /// let _guard = LoadExtensionGuard::new(conn)?; /// conn.load_extension("trusted/sqlite/extension", None::<&str>) /// } /// } /// ``` pubstruct LoadExtensionGuard<'conn> {
conn: &'conn Connection,
}
impl 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. #[inline] pubunsafefn new(conn: &Connection) -> Result<LoadExtensionGuard<'_>> {
conn.load_extension_enable()
.map(|_| LoadExtensionGuard { conn })
}
}
#[expect(unused_must_use)] impl Drop for LoadExtensionGuard<'_> { #[inline] fn drop(&mutself) { self.conn.load_extension_disable();
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-08-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.