diff --git a/.github/workflows/test-sqlite.yml b/.github/workflows/test-sqlite.yml index c4f95ee..a79dcf1 100644 --- a/.github/workflows/test-sqlite.yml +++ b/.github/workflows/test-sqlite.yml @@ -27,4 +27,7 @@ jobs: run: go test -v ./... - name: Race - run: go test -v -race ./... \ No newline at end of file + run: go test -v -race ./... + + - name: No CGO build + run: CGO_ENABLED=0 go install ./... diff --git a/sqlite.go b/sqlite.go index c939821..126e9c8 100644 --- a/sqlite.go +++ b/sqlite.go @@ -1131,3 +1131,6 @@ type ConnLogger interface { // Rollback is called after a rollback statement. Rollback() } + +// LogCallback receives SQLite log messages. +type LogCallback func(code sqliteh.Code, msg string) diff --git a/sqlite_cgo.go b/sqlite_cgo.go index 876a751..b4e903d 100644 --- a/sqlite_cgo.go +++ b/sqlite_cgo.go @@ -1,20 +1,15 @@ //go:build cgo -// +build cgo package sqlite import ( "github.com/tailscale/sqlite/cgosqlite" - "github.com/tailscale/sqlite/sqliteh" ) func init() { Open = cgosqlite.Open } -// LogCallback receives SQLite log messages. -type LogCallback func(code sqliteh.Code, msg string) - // SetLogCallback sets the global SQLite log callback. // If callback is nil, logs are discarded. func SetLogCallback(callback LogCallback) error { diff --git a/sqlite_cgo_test.go b/sqlite_cgo_test.go index 7ee3ef0..bb6651e 100644 --- a/sqlite_cgo_test.go +++ b/sqlite_cgo_test.go @@ -1,5 +1,4 @@ //go:build cgo -// +build cgo package sqlite diff --git a/sqlite_nocgo.go b/sqlite_nocgo.go new file mode 100644 index 0000000..a073176 --- /dev/null +++ b/sqlite_nocgo.go @@ -0,0 +1,9 @@ +//go:build !cgo + +package sqlite + +// SetLogCallback sets the global SQLite log callback. +// If callback is nil, logs are discarded. +func SetLogCallback(callback LogCallback) error { + return nil +} diff --git a/sqlitepool/queryglue.go b/sqlitepool/queryglue.go index 37f35ce..4a84e80 100644 --- a/sqlitepool/queryglue.go +++ b/sqlitepool/queryglue.go @@ -1,3 +1,5 @@ +//go:build cgo + package sqlitepool // This file contains bridging functions designed to let users of diff --git a/sqlitepool/queryglue_test.go b/sqlitepool/queryglue_test.go index 7aed5e4..e29f798 100644 --- a/sqlitepool/queryglue_test.go +++ b/sqlitepool/queryglue_test.go @@ -1,3 +1,5 @@ +//go:build cgo + package sqlitepool import ( diff --git a/sqlitepool/sqlitepool.go b/sqlitepool/sqlitepool.go index 5f49430..d699be6 100644 --- a/sqlitepool/sqlitepool.go +++ b/sqlitepool/sqlitepool.go @@ -1,3 +1,5 @@ +//go:build cgo + // Package sqlitepool implements a pool of SQLite database connections. package sqlitepool diff --git a/sqlitepool/sqlitepool_test.go b/sqlitepool/sqlitepool_test.go index 079954c..f476d66 100644 --- a/sqlitepool/sqlitepool_test.go +++ b/sqlitepool/sqlitepool_test.go @@ -1,3 +1,5 @@ +//go:build cgo + package sqlitepool import ( diff --git a/sqlitepool/util.go b/sqlitepool/util.go index b9cc4ce..d17c370 100644 --- a/sqlitepool/util.go +++ b/sqlitepool/util.go @@ -1,3 +1,5 @@ +//go:build cgo + package sqlitepool import (