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.
39 lines
1.3 KiB
Go
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)) {}
|