Skip to main content

Sqlite3Backup

Trait Sqlite3Backup 

Source
pub unsafe trait Sqlite3Backup: Sqlite3Api {
    type Backup;

    // Required methods
    unsafe fn backup_init(
        &self,
        dest_db: NonNull<Self::Db>,
        dest_name: &str,
        source_db: NonNull<Self::Db>,
        source_name: &str,
    ) -> Result<NonNull<Self::Backup>>;
    unsafe fn backup_step(
        &self,
        backup: NonNull<Self::Backup>,
        pages: i32,
    ) -> Result<()>;
    unsafe fn backup_remaining(&self, backup: NonNull<Self::Backup>) -> i32;
    unsafe fn backup_pagecount(&self, backup: NonNull<Self::Backup>) -> i32;
    unsafe fn backup_finish(&self, backup: NonNull<Self::Backup>) -> Result<()>;
}
Expand description

Optional backend extension for online backup.

§Safety

Implementations must return backup handles tied to the provided database handles and honor SQLite’s backup lifecycle requirements.

Required Associated Types§

Required Methods§

Source

unsafe fn backup_init( &self, dest_db: NonNull<Self::Db>, dest_name: &str, source_db: NonNull<Self::Db>, source_name: &str, ) -> Result<NonNull<Self::Backup>>

Source

unsafe fn backup_step( &self, backup: NonNull<Self::Backup>, pages: i32, ) -> Result<()>

Source

unsafe fn backup_remaining(&self, backup: NonNull<Self::Backup>) -> i32

Source

unsafe fn backup_pagecount(&self, backup: NonNull<Self::Backup>) -> i32

Source

unsafe fn backup_finish(&self, backup: NonNull<Self::Backup>) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§