aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGert-Jan Timmer <gjr.timmer@gmail.com>2018-05-27 23:00:56 +0200
committerGert-Jan Timmer <gjr.timmer@gmail.com>2018-05-27 23:00:56 +0200
commit72ddc06453e1636a9ff385f3d0091431100052b2 (patch)
treead6e69d9ea2e070cccdc1575ce98b3d65c83215f
parentUpdate TOC to match README (diff)
downloadgolite-72ddc06453e1636a9ff385f3d0091431100052b2.tar.gz
golite-72ddc06453e1636a9ff385f3d0091431100052b2.tar.xz
Update README
Add DSN Connections string table. [ci skip]
-rw-r--r--README.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index d1c271c..1f51f29 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,7 @@ Supported Golang version:
- [Installation](#installation)
- [API Reference](#api-reference)
+- [Connection String](#connection-string)
- [Features](#features)
- [Compilation](#compilation)
- [Android](#android)
@@ -53,6 +54,36 @@ API documentation can be found here: http://godoc.org/github.com/mattn/go-sqlite
Examples can be found under the [examples](./_example) directory
+# Connection String
+
+When creating a new SQLite database or connection to an existing one, with the file name additional options can be given.
+This is also known as a DSN string. (Data Source Name).
+
+Options are append after the filename of the SQLite database.
+The database filename and options are seperated by an `?` (Question Mark).
+
+This also applies when using an in-memory database instead of a file.
+
+Options can be given using the following format: `KEYWORD=VALUE` and multiple options can be combined with the `&` ampersand.
+
+This library supports dsn options of SQLite itself and provides additional options.
+
+| Name | Key | Value(s) | Description |
+|------|-----|----------|-------------|
+| Shared-Cache Mode | cache | <ul><li>shared</li><li>private</li></ul> | Set cache mode for more information see [sqlite.org](https://www.sqlite.org/sharedcache.html) |
+| Time Zone Location | _loc | auto | Specify location of time format. |
+| Busy Timeout | _busy_timeout | `int` | Specify value for sqlite3_busy_timeout. |
+| Transaction Lock | _txlock | <ul><li>immediate</li><li>deferred</li><li>exclusive</li></ul> | Specify locking behavior for transactions. |
+| Foreign Keys | _foreign_keys | <ul><li>0</li><li>1</li></ul> | Enable or disable enforcement of foreign keys. |
+| Recursive Triggers | _recursive_triggers | <ul><li>0</li><li>1</li></ul> | Enable or disable recursive triggers. |
+| Mutex Locking | _mutex | <ul><li>no</li><li>full</li></ul> | Specify mutex mode. |
+
+## DSN Examples
+
+```
+file:test.db?cache=shared&mode=memory
+```
+
# Features
This package allows additional configuration of features available within SQLite3 to be enabled or disabled by golang build constraints also known as build `tags`.