diff --git a/examples/simple-go-ncruces/Makefile b/examples/simple-go-ncruces/Makefile index c0e8ac8..9dca3e3 100644 --- a/examples/simple-go-ncruces/Makefile +++ b/examples/simple-go-ncruces/Makefile @@ -1,6 +1,13 @@ -demo: demo.go +VERSION=0.0.1-alpha.27 + +demo: demo.go sqlite3.vec.wasm go build -o $@ $< sqlite3.vec.wasm: - exit 1 + curl -L -o $@ https://github.com/asg017/sqlite-vec/releases/download/v$(VERSION)/sqlite-vec-$(VERSION)-ncruces-go.wasm + +clean: + rm demo sqlite3.vec.wasm + +.PHONY: clean diff --git a/examples/simple-go-ncruces/demo.go b/examples/simple-go-ncruces/demo.go index cd158c8..82ae7a1 100644 --- a/examples/simple-go-ncruces/demo.go +++ b/examples/simple-go-ncruces/demo.go @@ -10,6 +10,9 @@ import ( "github.com/ncruces/go-sqlite3" ) +//go:embed sqlite3.vec.wasm +var sqliteWithVecWasm []byte + func serializeFloat32(vector []float32) ([]byte, error) { buf := new(bytes.Buffer) err := binary.Write(buf, binary.LittleEndian, vector) @@ -19,15 +22,11 @@ func serializeFloat32(vector []float32) ([]byte, error) { return buf.Bytes(), nil } -const memory = ":memory:" - -//go:embed sqlite3.vec.wasm -var sqliteWithVecWasm []byte func main() { sqlite3.Binary = sqliteWithVecWasm - db, err := sqlite3.Open(memory) + db, err := sqlite3.Open(":memory:") if err != nil { log.Fatal(err) } @@ -37,6 +36,10 @@ func main() { log.Fatal(err) } + stmt.Step() + + fmt.Printf("sqlite_version=%s, vec_version=%s\n", stmt.ColumnText(0), stmt.ColumnText(1)) + err = db.Exec("CREATE VIRTUAL TABLE vec_items USING vec0(embedding float[4])") if err != nil {