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§
Sourceunsafe 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_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.
Sourceunsafe fn backup_step(
&self,
backup: NonNull<Self::Backup>,
pages: i32,
) -> Result<()>
unsafe fn backup_step( &self, backup: NonNull<Self::Backup>, pages: i32, ) -> Result<()>
Copy up to pages pages from source to destination.
Sourceunsafe fn backup_remaining(&self, backup: NonNull<Self::Backup>) -> i32
unsafe fn backup_remaining(&self, backup: NonNull<Self::Backup>) -> i32
Return the number of pages still remaining.
Sourceunsafe fn backup_pagecount(&self, backup: NonNull<Self::Backup>) -> i32
unsafe fn backup_pagecount(&self, backup: NonNull<Self::Backup>) -> i32
Return the total page count of the source database.
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.