Fork of github.com/mattn/go-sqlite3 v1.14.47, rebranded to package csqlite and vendored in-tree (SQLite amalgamation sqlite3-binding.c/.h + cgo driver + callback trampolines + optional-feature files) so the Hanzo stack depends on no external go-sqlite3 module. Registers the "sqlite3" database/sql driver name from this repo. SQLCipher at-rest encryption unchanged: link system libsqlcipher via -tags libsqlite3. Preserves upstream MIT license (LICENSE) with Hanzo-first NOTICE attribution. Verified: CGO_ENABLED=1 build+test (amalgamation) green; -tags libsqlite3 + libsqlcipher build+test green; CGO_ENABLED=0 build green; zero mattn in deps.
31 lines
567 B
Go
31 lines
567 B
Go
//go:build sqlite_math_functions
|
|
// +build sqlite_math_functions
|
|
|
|
package csqlite
|
|
|
|
import (
|
|
"database/sql"
|
|
"testing"
|
|
)
|
|
|
|
func TestMathFunctions(t *testing.T) {
|
|
db, err := sql.Open("sqlite3", ":memory:")
|
|
if err != nil {
|
|
t.Fatal("Failed to open database:", err)
|
|
}
|
|
defer db.Close()
|
|
|
|
queries := []string{
|
|
`SELECT acos(1)`,
|
|
`SELECT log(10, 100)`,
|
|
`SELECT power(2, 2)`,
|
|
}
|
|
|
|
for _, query := range queries {
|
|
var result float64
|
|
if err := db.QueryRow(query).Scan(&result); err != nil {
|
|
t.Errorf("invoking math function query %q: %v", query, err)
|
|
}
|
|
}
|
|
}
|