blob: b1b3958f6bacdd0bcb9da580c714aad688cfac87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# `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.
|