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§

Source

type Backup

Backend-specific backup-handle type.

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>>

Start a backup from source_db/source_name into dest_db/dest_name.

Source

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

Copy up to pages pages from source to destination.

Source

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

Return the number of pages still remaining.

Source

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

Return the total page count of the source database.

Source

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

Finish and release a backup handle.

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§