A thin wrapper around SQLite 3


Keywords
library, database, binding, bindings, d, dlang, sqlite, sqlite3, wrapper
License
BSL-1.0
Install
dub fetch d2sqlite3 --version 1.0.0

Documentation

D2Sqlite3

Dub Downloads

This is a small wrapper around SQLite for the D programming language. It wraps the C API in an idiomatic manner and handles built-in D types and Nullable!T automatically.

Documentation

Online documentation

dub configurations

  • with-lib (the default): assumes that SQLite is already installed and available to the linker. Set the right path for the SQLite library in your project's dub.json file using the lflags setting:
    "lflags": ["-L/path/to/lib"]
  • without-lib: you manage linking SQLite yourself.

  • all-included: on Windows, use a prebuilt SQLite DLL (bundled with this library); on Posix systems, builds SQLite from the source amalgamation (bundled with this library), using the default building configuration with these options defined:

    • SQLITE_ENABLE_COLUMN_METADATA
    • SQLITE_ENABLE_UNLOCK_NOTIFY

Set the right configuration for you project in its dub.json file using the subConfigurations setting, e.g.:

    "subConfigurations": {
        "d2sqlite3": "all-included"
    }

Library versions

These versions can be used to build the library:

  • SqliteEnableColumnMetadata: to enable corresponding special methods of Row.
  • SqliteEnableUnlockNotify: to enable SQLite's builtin unlock notification mechanism.
  • SqliteFakeUnlockNotify: to emulate an unlock notification mechanism.

C binding generation

The D binding file sqlite3.d is generated from the C header file sqlite3.h, using jacob-carlborg/dstep. I try to keep it up to date.