Documentation.

This commit is contained in:
Nuno Cruces
2023-02-28 14:50:15 +00:00
parent 1b3823483f
commit 54046b6adc
8 changed files with 55 additions and 11 deletions

View File

@@ -1,4 +1,27 @@
// Package driver provides a database/sql driver for SQLite.
//
// Importing package driver registers a [database/sql] driver named "sqlite3".
// You may also need to import package embed.
//
// import _ "github.com/ncruces/go-sqlite3/driver"
// import _ "github.com/ncruces/go-sqlite3/embed"
//
// The data source name for "sqlite3" databases can be a filename or a "file:" [URI].
//
// The [TRANSACTION] mode can be specified using "_txlock":
//
// sql.Open("sqlite3", "file:demo.db?_txlock=immediate")
//
// [PRAGMA] statements can be specified using "_pragma":
//
// sql.Open("sqlite3", "file:demo.db?_pragma=busy_timeout(10000)&_pragma=locking_mode(normal)")
//
// If no PRAGMAs are specifed, a busy timeout of 1 minute
// and normal locking mode are used.
//
// [URI]: https://www.sqlite.org/uri.html
// [PRAGMA]: https://www.sqlite.org/pragma.html
// [TRANSACTION]: https://www.sqlite.org/lang_transaction.html#deferred_immediate_and_exclusive_transactions
package driver
import (

View File

@@ -72,7 +72,7 @@ func Test_Open_pragma_invalid(t *testing.T) {
t.Errorf("got %d, want sqlite3.ERROR", rc)
}
if got := err.Error(); got != `sqlite3: invalid _pragma: sqlite3: SQL logic error: near "1000": syntax error` {
t.Error("got message: ", got)
t.Error("got message:", got)
}
}
@@ -124,7 +124,7 @@ func Test_Open_txLock_invalid(t *testing.T) {
t.Fatal("want error")
}
if got := err.Error(); got != `sqlite3: invalid _txlock: xclusive` {
t.Error("got message: ", got)
t.Error("got message:", got)
}
}
@@ -201,7 +201,7 @@ func Test_Prepare(t *testing.T) {
t.Errorf("got %d, want sqlite3.ERROR", rc)
}
if got := err.Error(); got != `sqlite3: SQL logic error: incomplete input` {
t.Error("got message: ", got)
t.Error("got message:", got)
}
_, err = db.Prepare(`SELECT 1; SELECT`)
@@ -215,7 +215,7 @@ func Test_Prepare(t *testing.T) {
t.Errorf("got %d, want sqlite3.ERROR", rc)
}
if got := err.Error(); got != `sqlite3: SQL logic error: incomplete input` {
t.Error("got message: ", got)
t.Error("got message:", got)
}
_, err = db.Prepare(`SELECT 1; SELECT 2`)