A small wrapper around SQLite for the D programming language
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
c
lib
source
.gitignore
.travis.yml
LICENSE
README.md
dub.sdl
publish-docs.sh
run-dstep.sh
sqlite3.mak
travis.sh

README.md

D2Sqlite3

Build Status 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.