Side-effect package that registers sqlite-vec with ncruces/go-sqlite3.
To register sqlite-vec automatically, import this package before opening any SQLite connections:
import (
"database/sql"
_ "github.com/luist18/sqlite-vec-go"
_ "github.com/ncruces/go-sqlite3/driver"
)
func open() (*sql.DB, error) {
return sql.Open("sqlite3", ":memory:")
}Every new go-sqlite3 connection automatically loads sqlite-vec.
For manual registration, use the bindings package:
import (
"github.com/luist18/sqlite-vec-go/bindings"
"github.com/ncruces/go-sqlite3"
)
func open() (*sqlite3.Conn, error) {
db, err := sqlite3.Open(":memory:")
if err != nil {
return nil, err
}
if err := bindings.Register(db); err != nil {
db.Close()
return nil, err
}
return db, nil
}