# `D2Sqlite3` [![Dub](https://img.shields.io/dub/v/d2sqlite3.svg)](http://code.dlang.org/packages/d2sqlite3) [![Downloads](https://img.shields.io/dub/dt/d2sqlite3.svg)](https://code.dlang.org/packages/d2sqlite3) 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](http://dlang-community.github.io/d2sqlite3/d2sqlite3.html) ## `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: ```json "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.: ```json "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](https://github.com/jacob-carlborg/dstep). I try to keep it up to date.