Go SDK v0.12.0
·
5 commits
to main
since this release
go get github.com/joaoh82/rust_sqlite/sdk/go@v0.12.0package main
import (
"database/sql"
"fmt"
_ "github.com/joaoh82/rust_sqlite/sdk/go" // registers "sqlrite" driver
)
func main() {
db, _ := sql.Open("sqlrite", ":memory:")
defer db.Close()
_, _ = db.Exec("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
_, _ = db.Exec("INSERT INTO users (name) VALUES ('alice')")
rows, _ := db.Query("SELECT id, name FROM users")
defer rows.Close()
for rows.Next() {
var id int64
var name string
rows.Scan(&id, &name)
fmt.Printf("%d: %s\n", id, name)
}
}Prebuilt libsqlrite_c (cgo dependency)
The Go binding uses cgo against the libsqlrite_c shared library shipped by sqlrite-ffi. The tarballs attached below are the same ones from this release wave's C FFI release — provided here so Go users have a one-stop-shop:
sqlrite-ffi-v0.12.0-linux-x86_64.tar.gzsqlrite-ffi-v0.12.0-linux-aarch64.tar.gzsqlrite-ffi-v0.12.0-macos-aarch64.tar.gzsqlrite-ffi-v0.12.0-windows-x86_64.tar.gz
Extract for your platform, then point cgo at it:
tar xzf sqlrite-ffi-v0.12.0-<platform>.tar.gz
export CGO_CFLAGS="-I$(pwd)/sqlrite-ffi-v0.12.0-<platform>/include"
export CGO_LDFLAGS="-L$(pwd)/sqlrite-ffi-v0.12.0-<platform>/lib -lsqlrite_c"
export LD_LIBRARY_PATH="$(pwd)/sqlrite-ffi-v0.12.0-<platform>/lib"
go build ./...(On macOS use DYLD_LIBRARY_PATH instead of LD_LIBRARY_PATH. On Windows, place the .dll next to your binary or on %PATH%.)
See the umbrella release v0.12.0 for the full changelog.
What's Changed
- fix(release): scope sqlrite-engine crate with include allowlist (fixes crates.io 413) by @joaoh82 in #154
- docs(release): bump displayed version to 0.11.0 (site + install snippets) by @joaoh82 in #155
- SQLR-12 — make release.yml publish jobs idempotent (skip-if-already-published) by @joaoh82 in #156
- docs(release-secrets): document sqlrite-notes trusted publisher + Repository-field gotcha (SQLR-13) by @joaoh82 in #157
- feat(sql): JOIN ... USING / NATURAL / CROSS (SQLR-5) by @joaoh82 in #158
- release: v0.12.0 by @joaoh82 in #159
Full Changelog: sdk/go/v0.11.0...sdk/go/v0.12.0