sqlite_compressions/
lib.rs#![cfg_attr(feature = "default", doc = include_str!("../README.md"))]
#![forbid(unsafe_code)]
#[cfg(not(any(
feature = "brotli",
feature = "bsdiff4",
feature = "bsdiffraw",
feature = "bzip2",
feature = "gzip",
)))]
compile_error!(
"At least one of these features must be enabled: gzip, brotli, bzip2, bsdiff4, bsdiffraw"
);
pub use rusqlite;
use crate::rusqlite::{Connection, Result};
#[cfg(any(feature = "bsdiff4", feature = "bsdiffraw"))]
mod common_diff;
#[cfg(any(feature = "bsdiff4", feature = "bsdiffraw"))]
pub use crate::common_diff::Differ;
#[cfg(any(feature = "brotli", feature = "bzip2", feature = "gzip"))]
mod common;
#[cfg(any(feature = "brotli", feature = "bzip2", feature = "gzip"))]
pub use crate::common::Encoder;
#[cfg(feature = "bsdiff4")]
mod bsdiff4;
#[cfg(feature = "bsdiff4")]
pub use crate::bsdiff4::{register_bsdiff4_functions, Bsdiff4Differ};
#[cfg(feature = "bsdiffraw")]
mod bsdiffraw;
#[cfg(feature = "bsdiffraw")]
pub use crate::bsdiffraw::{register_bsdiffraw_functions, BsdiffRawDiffer};
#[cfg(feature = "brotli")]
mod brotli;
#[cfg(feature = "brotli")]
pub use crate::brotli::{register_brotli_functions, BrotliEncoder};
#[cfg(feature = "bzip2")]
mod bzip2;
#[cfg(feature = "bzip2")]
pub use crate::bzip2::{register_bzip2_functions, Bzip2Encoder};
#[cfg(feature = "gzip")]
mod gzip;
#[cfg(feature = "gzip")]
pub use crate::gzip::{register_gzip_functions, GzipEncoder};
pub fn register_compression_functions(conn: &Connection) -> Result<()> {
#[cfg(feature = "gzip")]
register_gzip_functions(conn)?;
#[cfg(feature = "brotli")]
register_brotli_functions(conn)?;
#[cfg(feature = "bzip2")]
register_bzip2_functions(conn)?;
#[cfg(feature = "bsdiff4")]
register_bsdiff4_functions(conn)?;
#[cfg(feature = "bsdiffraw")]
register_bsdiffraw_functions(conn)?;
Ok(())
}