glite/config

Types

Configuration for opening a SQLite database

pub type Config {
  Config(
    path: String,
    timeout: Int,
    busy_timeout: Int,
    journal_mode: JournalMode,
    synchronous: SynchronousMode,
    foreign_keys: Bool,
    pragmas: List(#(String, String)),
  )
}

Constructors

  • Config(
      path: String,
      timeout: Int,
      busy_timeout: Int,
      journal_mode: JournalMode,
      synchronous: SynchronousMode,
      foreign_keys: Bool,
      pragmas: List(#(String, String)),
    )

    Arguments

    path

    Database file path. Use “:memory:” for in-memory database.

    timeout

    Timeout in milliseconds for actor calls

    busy_timeout

    Busy timeout in milliseconds (how long to wait for locks)

    journal_mode

    Journal mode (WAL recommended for concurrent access)

    synchronous

    Synchronous mode

    foreign_keys

    Foreign key enforcement

    pragmas

    Extra PRAGMAs to execute on connection open

Connection configuration for SQLite Journal mode for the database

pub type JournalMode {
  Wal
  Delete
  Memory
  Off
}

Constructors

  • Wal

    Write-Ahead Logging (recommended for concurrent reads)

  • Delete

    Traditional rollback journal

  • Memory

    In-memory journal (fastest, no crash recovery)

  • Off

    No journal (no crash recovery, no rollback)

Synchronous mode

pub type SynchronousMode {
  Full
  Normal
  SyncOff
}

Constructors

  • Full

    Full fsync on every commit (safest, slowest)

  • Normal

    Fsync at critical moments (good balance)

  • SyncOff

    No fsync (fastest, risk of corruption on OS crash)

Values

pub fn busy_timeout(config: Config, busy_timeout: Int) -> Config
pub fn default() -> Config

Default config for an in-memory database with WAL mode

pub fn file(path: String) -> Config

Create a config for a file-based database

pub fn foreign_keys(config: Config, enabled: Bool) -> Config
pub fn journal_mode(config: Config, mode: JournalMode) -> Config
pub fn memory() -> Config

Create a config for an in-memory database

pub fn path(config: Config, path: String) -> Config
pub fn pragma(
  config: Config,
  name: String,
  value: String,
) -> Config
pub fn synchronous(
  config: Config,
  mode: SynchronousMode,
) -> Config
pub fn timeout(config: Config, timeout: Int) -> Config
Search Document