Files
csqlite/static_mock.go
z b201154d17 csqlite: self-contained cgo SQLite bindings (fork of go-sqlite3)
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.
2026-07-12 19:23:13 -07:00

39 lines
1.3 KiB
Go

// Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>.
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file.
//go:build !cgo
// +build !cgo
package csqlite
import (
"database/sql"
"database/sql/driver"
"errors"
)
var errorMsg = errors.New("Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub")
func init() {
sql.Register("sqlite3", &SQLiteDriver{})
}
type (
SQLiteDriver struct {
Extensions []string
ConnectHook func(*SQLiteConn) error
}
SQLiteConn struct{}
)
func (SQLiteDriver) Open(s string) (driver.Conn, error) { return nil, errorMsg }
func (c *SQLiteConn) RegisterAggregator(string, any, bool) error { return errorMsg }
func (c *SQLiteConn) RegisterAuthorizer(func(int, string, string, string) int) {}
func (c *SQLiteConn) RegisterCollation(string, func(string, string) int) error { return errorMsg }
func (c *SQLiteConn) RegisterCommitHook(func() int) {}
func (c *SQLiteConn) RegisterFunc(string, any, bool) error { return errorMsg }
func (c *SQLiteConn) RegisterRollbackHook(func()) {}
func (c *SQLiteConn) RegisterUpdateHook(func(int, string, string, int64)) {}