gotosocial/vendor/github.com/ncruces/go-sqlite3
dependabot[bot] 0e2e8e54ab
[chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862)
Bumps [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/ncruces/go-sqlite3/releases)
- [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: github.com/ncruces/go-sqlite3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-03 09:51:42 +00:00
..
driver [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
embed [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
internal [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
util [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
vfs [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
.gitignore [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
backup.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
blob.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
config.go [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
conn.go [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
const.go [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
context.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
error.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
func.go [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
json.go [chore] Upgrade wasm-sqlite to v0.16.2 (#2997) 2024-06-12 13:21:34 +01:00
LICENSE [experiment] add alternative wasm sqlite3 implementation available via build-tag (#2863) 2024-05-27 17:46:15 +02:00
pointer.go [chore] Upgrade wasm-sqlite to v0.16.2 (#2997) 2024-06-12 13:21:34 +01:00
quote.go [chore] update go-sqlite3 to v0.19.0 (#3406) 2024-10-08 11:15:09 +02:00
README.md [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
registry.go [chore] Bump ncruces/go-sqlite3 to 0.17.1 (#3085) 2024-07-08 22:03:00 +02:00
sqlite.go [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00
stmt.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
time.go [chore] update go-sqlite3 to v0.19.0 (#3406) 2024-10-08 11:15:09 +02:00
txn.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
value.go [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) 2025-02-13 09:53:40 +01:00
vtab.go [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) 2025-03-03 09:51:42 +00:00

Go bindings to SQLite using wazero

Go Reference Go Report Go Coverage

Go module github.com/ncruces/go-sqlite3 is a cgo-free SQLite wrapper.
It provides a database/sql compatible driver, as well as direct access to most of the C SQLite API.

It wraps a Wasm build of SQLite, and uses wazero as the runtime.
Go, wazero and x/sys are the only direct dependencies.

Getting started

Using the database/sql driver:


import "database/sql"
import _ "github.com/ncruces/go-sqlite3/driver"
import _ "github.com/ncruces/go-sqlite3/embed"

var version string
db, _ := sql.Open("sqlite3", "file:demo.db")
db.QueryRow(`SELECT sqlite_version()`).Scan(&version)

Packages

Advanced features

Caveats

This module replaces the SQLite OS Interface (aka VFS) with a pure Go implementation, which has advantages and disadvantages.

Read more about the Go VFS design here.

Testing

This project aims for high test coverage. It also benefits greatly from SQLite's and wazero's thorough testing.

Every commit is tested on Linux (amd64/arm64/386/riscv64/ppc64le/s390x), macOS (amd64/arm64), Windows (amd64), FreeBSD (amd64/arm64), OpenBSD (amd64), NetBSD (amd64/arm64), DragonFly BSD (amd64), illumos (amd64), and Solaris (amd64).

The Go VFS is tested by running SQLite's mptest.

Performance

Perfomance of the database/sql driver is competitive with alternatives.

The Wasm and VFS layers are also tested by running SQLite's speedtest1.

FAQ, issues, new features

For questions, please see Discussions.

Also, post there if you used this driver for something interesting ("Show and tell"), have an idea

The Issue tracker is for bugs, and features we're working on, planning to work on, or asking for help with.

Alternatives