envoid/vendor/github.com/glebarez/go-sqlite
Sagi Dayan 2ca1e7826a
Some checks failed
Codespell / Check for spelling errors (push) Failing after 1m35s
Initial commit
Signed-off-by: Sagi Dayan <sagidayan@gmail.com>
2024-12-12 19:53:28 +02:00
..
AUTHORS Initial commit 2024-12-12 19:53:28 +02:00
CONTRIBUTORS Initial commit 2024-12-12 19:53:28 +02:00
embed.db Initial commit 2024-12-12 19:53:28 +02:00
embed2.db Initial commit 2024-12-12 19:53:28 +02:00
LICENSE Initial commit 2024-12-12 19:53:28 +02:00
mutex.go Initial commit 2024-12-12 19:53:28 +02:00
norlimit.go Initial commit 2024-12-12 19:53:28 +02:00
README.md Initial commit 2024-12-12 19:53:28 +02:00
rlimit.go Initial commit 2024-12-12 19:53:28 +02:00
rulimit.go Initial commit 2024-12-12 19:53:28 +02:00
SQLITE-LICENSE Initial commit 2024-12-12 19:53:28 +02:00
sqlite.go Initial commit 2024-12-12 19:53:28 +02:00
sqlite_go18.go Initial commit 2024-12-12 19:53:28 +02:00

Tests badge

go-sqlite

This is a pure-Go SQLite driver for Golang's native database/sql package. The driver has Go-based implementation of SQLite embedded in itself (so, you don't need to install SQLite separately)

Usage

Example

package main

import (
	"database/sql"
	"log"

	_ "github.com/glebarez/go-sqlite"
)

func main() {
	// connect
	db, err := sql.Open("sqlite", ":memory:")
	if err != nil {
		log.Fatal(err)
	}

	// get SQLite version
	_ := db.QueryRow("select sqlite_version()")
}

Connection string examples

  • in-memory SQLite: ":memory:"
  • on-disk SQLite: "path/to/some.db"
  • Foreign-key constraint activation: ":memory:?_pragma=foreign_keys(1)"

Settings PRAGMAs in connection string

Any SQLIte pragma can be preset for a Database connection using _pragma query parameter. Examples:

Multiple PRAGMAs can be specified, e.g.:
path/to/some.db?_pragma=busy_timeout(5000)&_pragma=journal_mode(WAL)