//! SQLite C bindings
//!
//! Centralized @cImport for SQLite. All modules should import this
//! instead of doing their own @cImport.

pub const c = @cImport({
    @cDefine("SQLITE_ENABLE_COLUMN_METADATA", "1");
    @cDefine("SQLITE_ENABLE_PREUPDATE_HOOK", "1");
    @cDefine("SQLITE_ENABLE_SESSION", "1");
    @cDefine("SQLITE_ENABLE_SNAPSHOT", "1");
    @cInclude("sqlite3.h");
});

// Re-export commonly used types for convenience
pub const sqlite3 = c.sqlite3;
pub const sqlite3_stmt = c.sqlite3_stmt;
pub const sqlite3_context = c.sqlite3_context;
pub const sqlite3_value = c.sqlite3_value;
pub const sqlite3_backup = c.sqlite3_backup;
pub const sqlite3_blob = c.sqlite3_blob;

// Constants
pub const SQLITE_OK = c.SQLITE_OK;
pub const SQLITE_ROW = c.SQLITE_ROW;
pub const SQLITE_DONE = c.SQLITE_DONE;
pub const SQLITE_TRANSIENT = c.SQLITE_TRANSIENT;
