Files
sqlite3/vfs/mvcc/example_test.go
Nuno Cruces 23aad5f62f MVCC API.
2025-09-29 12:52:01 +01:00

51 lines
852 B
Go

package mvcc_test
import (
"database/sql"
_ "embed"
"fmt"
"log"
_ "github.com/ncruces/go-sqlite3/driver"
_ "github.com/ncruces/go-sqlite3/embed"
"github.com/ncruces/go-sqlite3/vfs/mvcc"
)
//go:embed testdata/test.db
var testDB string
func Example() {
mvcc.Create("test.db", mvcc.NewSnapshot(testDB))
db, err := sql.Open("sqlite3", "file:/test.db?vfs=mvcc")
if err != nil {
log.Fatal(err)
}
defer db.Close()
_, err = db.Exec(`INSERT INTO users (id, name) VALUES (3, 'rust')`)
if err != nil {
log.Fatal(err)
}
rows, err := db.Query(`SELECT id, name FROM users`)
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id, name string
err = rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s %s\n", id, name)
}
// Output:
// 0 go
// 1 zig
// 2 whatever
// 3 rust
}