diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 25c0cd7..0ba8f1b 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -31,3 +31,5 @@ jobs: run: go test -race -v -ldflags="-X github.com/mattn/go-sqlite3.driverName=sqlite.mattn -X github.com/dolmen-go/sqlar/sqlarfs_test.sqliteDriver=sqlite.mattn" ./... - name: Test modernc.org/sqlite run: go test -race -v -tags=modernc ./... + - name: Test github.com/ncruces/go-sqlite3 + run: go test -race -v -ldflags="-X github.com/ncruces/go-sqlite3/driver.driverName=sqlite.ncruces -X github.com/dolmen-go/sqlar/sqlarfs_test.sqliteDriver=sqlite.ncruces" -tags=sqlite.ncruces ./... diff --git a/go.mod b/go.mod index 5aaa20a..d0ecd9a 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.24.9 require ( github.com/mattn/go-sqlite3 v1.14.32 + github.com/ncruces/go-sqlite3 v0.29.1 modernc.org/sqlite v1.39.1 ) @@ -12,7 +13,9 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/ncruces/go-strftime v0.1.9 // indirect + github.com/ncruces/julianday v1.0.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/tetratelabs/wazero v1.9.0 // indirect golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect golang.org/x/sys v0.36.0 // indirect modernc.org/libc v1.66.10 // indirect diff --git a/go.sum b/go.sum index 2de0622..9924984 100644 --- a/go.sum +++ b/go.sum @@ -8,19 +8,27 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs= github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/ncruces/go-sqlite3 v0.29.1 h1:NIi8AISWBToRHyoz01FXiTNvU147Tqdibgj2tFzJCqM= +github.com/ncruces/go-sqlite3 v0.29.1/go.mod h1:PpccBNNhvjwUOwDQEn2gXQPFPTWdlromj0+fSkd5KSg= github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= +github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M= +github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I= +github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o= golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= modernc.org/cc/v4 v4.26.5 h1:xM3bX7Mve6G8K8b+T11ReenJOT+BmVqQj0FY5T4+5Y4= diff --git a/sqlarfs/driver_modernc_test.go b/sqlarfs/driver_modernc_test.go index 409c7e3..f5c2ef5 100644 --- a/sqlarfs/driver_modernc_test.go +++ b/sqlarfs/driver_modernc_test.go @@ -1,4 +1,4 @@ -//go:build !cgo || modernc +//go:build modernc || (!cgo && !sqlite.ncruces) package sqlarfs_test diff --git a/sqlarfs/driver_ncruces_test.go b/sqlarfs/driver_ncruces_test.go new file mode 100644 index 0000000..0324fff --- /dev/null +++ b/sqlarfs/driver_ncruces_test.go @@ -0,0 +1,15 @@ +//go:build sqlite.ncruces + +package sqlarfs_test + +import ( + _ "github.com/ncruces/go-sqlite3/driver" + _ "github.com/ncruces/go-sqlite3/embed" +) + +func init() { + // go test -v -ldflags="-X github.com/ncruces/go-sqlite3/driver.driverName=sqlite.ncruces -X github.com/dolmen-go/sqlar/sqlarfs_test.sqliteDriver=sqlite.ncruces" -tags=sqlite.ncruces + if sqliteDriver == "" { + sqliteDriver = "sqlite3" + } +} diff --git a/sqlarfs/driver_test.go b/sqlarfs/driver_test.go index 3bcc4fc..2e74490 100644 --- a/sqlarfs/driver_test.go +++ b/sqlarfs/driver_test.go @@ -1,4 +1,4 @@ -//go:build cgo && !modernc +//go:build cgo && !sqlite.no.mattn && !modernc && !sqlite.ncruces package sqlarfs_test