Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  load_extension_guard.rs   Sprache: unbekannt

 
use crate::{Connection, Result};

/// 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)
///     }
/// }
/// ```
#[cfg_attr(docsrs, doc(cfg(feature = "load_extension")))]
pub struct 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]
    pub unsafe fn new(conn: &Connection) -> Result<LoadExtensionGuard<'_>> {
        conn.load_extension_enable()
            .map(|_| LoadExtensionGuard { conn })
    }
}

#[allow(unused_must_use)]
impl Drop for LoadExtensionGuard<'_> {
    #[inline]
    fn drop(&mut self) {
        self.conn.load_extension_disable();
    }
}

[ Dauer der Verarbeitung: 0.28 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge