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§
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<()>
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.