chore(deps): Update sqlite dependencies

This commit is contained in:
TwiN
2022-12-01 20:19:56 -05:00
parent 080563bd4f
commit cdec353744
564 changed files with 583632 additions and 1166555 deletions

6
vendor/modernc.org/sqlite/AUTHORS generated vendored
View File

@ -8,11 +8,15 @@
#
# Please keep the list sorted.
Artyom Pervukhin <github@artyom.dev>
Dan Peterson <danp@danp.net>
David Walton <david@davidwalton.com>
Davsk Ltd Co <skinner.david@gmail.com>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Logan Snow <logansnow@protonmail.com>
Michael Hoffmann <mhoffm@posteo.de>
Ross Light <ross@zombiezen.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Saed SayedAhmed <saadmtsa@gmail.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Michael Rykov <mrykov@gmail.com>

View File

@ -7,12 +7,19 @@
# Please keep the list sorted.
Alexander Menzhinsky <amenzhinsky@gmail.com>
Artyom Pervukhin <github@artyom.dev>
Dan Peterson <danp@danp.net>
David Skinner <skinner.david@gmail.com>
David Walton <david@davidwalton.com>
FlyingOnion <731677080@qq.com>
Gleb Sakhnov <gleb.sakhnov@gmail.com>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Logan Snow <logansnow@protonmail.com>
Matthew Gabeler-Lee <fastcat@gmail.com>
Michael Hoffmann <mhoffm@posteo.de>
Ross Light <ross@zombiezen.com>
Saed SayedAhmed <saadmtsa@gmail.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Yaacov Akiba Slama <ya@slamail.org>
Saed SayedAhmed <saadmtsa@gmail.com>
Michael Rykov <mrykov@gmail.com>

245
vendor/modernc.org/sqlite/Makefile generated vendored
View File

@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
.PHONY: all clean cover cpu editor internalError later mem nuke todo edit tcl extraquick full
.PHONY: all clean cover cpu editor internalError later mem nuke todo edit tcl extraquick full tidy uncomment unconvert
grep=--include=*.go --include=*.l --include=*.y --include=*.yy
ngrep='TODOOK\|internal\/vfs\|internal\/bin\|internal\/mptest\|.*stringer.*\.go'
@ -17,14 +17,6 @@ all: editor
go test -i
go test -v 2>&1 -timeout 24h | tee -a log
go run speedtest1/main_$(shell go env GOOS)_$(shell go env GOARCH).go
GOOS=linux GOARCH=386 go build -v ./...
GOOS=linux GOARCH=386 go build -v ./...
GOOS=linux GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=arm go build -v ./...
GOOS=linux GOARCH=arm64 go build -v ./...
GOOS=windows GOARCH=386 go build -v ./...
GOOS=windows GOARCH=amd64 go build -v ./...
golint 2>&1 | grep -v $(ngrep) || true
misspell *.go
staticcheck || true
@ -34,97 +26,162 @@ all: editor
go version
date 2>&1 | tee -a log
# $ go install modernc.org/uncomment@latest
uncomment:
uncomment -v -gofmt libtest/sqlite*.go internal/mptest/main*.go internal/testfixture/testfixture*.go speedtest1/main*.go vfs/vfs*.go
uncomment -v -gofmt -keep-godoc lib/sqlite*.go
# $ go install github.com/mdempsky/unconvert@latest
unconvert:
./unconvert.sh && echo ok || echo fail
tidy: uncomment unconvert
gofmt -l -s -w .
build_all_targets:
GOOS=darwin GOARCH=amd64 go build -v ./...
GOOS=darwin GOARCH=arm64 go build -v ./...
GOOS=freebsd GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=386 go build -v ./...
GOOS=linux GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=arm go build -v ./...
GOOS=linux GOARCH=arm64 go build -v ./...
#TODO GOOS=linux GOARCH=s390x go build -v ./...
GOOS=windows GOARCH=386 go build -v ./...
GOOS=windows GOARCH=amd64 go build -v ./...
GOOS=darwin GOARCH=amd64 go test -c -o /dev/null
GOOS=darwin GOARCH=arm64 go test -c -o /dev/null
GOOS=freebsd GOARCH=amd64 go test -c -o /dev/null
GOOS=freebsd GOARCH=386 go test -c -o /dev/null
GOOS=freebsd GOARCH=arm go test -c -o /dev/null
GOOS=freebsd GOARCH=arm64 go test -c -o /dev/null
GOOS=linux GOARCH=386 go test -c -o /dev/null
GOOS=linux GOARCH=amd64 go test -c -o /dev/null
GOOS=linux GOARCH=arm go test -c -o /dev/null
GOOS=linux GOARCH=arm64 go test -c -o /dev/null
GOOS=linux GOARCH=ppc64le go test -c -o /dev/null
GOOS=linux GOARCH=riscv64 go test -c -o /dev/null
GOOS=linux GOARCH=s390x go test -c -o /dev/null
GOOS=netbsd GOARCH=amd64 go test -c -o /dev/null
GOOS=openbsd GOARCH=amd64 go test -c -o /dev/null
GOOS=openbsd GOARCH=arm64 go test -c -o /dev/null
# GOOS=windows GOARCH=386 go test -c -o /dev/null
GOOS=windows GOARCH=amd64 go test -c -o /dev/null
GOOS=windows GOARCH=arm64 go test -c -o /dev/null
echo done
darwin_amd64:
TARGET_GOOS=darwin TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-darwin-amd64
GOOS=darwin GOARCH=amd64 go build -v ./...
darwin_arm64:
TARGET_GOOS=darwin TARGET_GOARCH=arm64 go generate 2>&1 | tee /tmp/log-generate-sqlite-darwin-arm64
GOOS=darwin GOARCH=arm64 go build -v ./...
freebsd_amd64:
TARGET_GOOS=freebsd TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-freebsd-amd64
GOOS=freebsd GOARCH=amd64 go build -v ./...
linux_amd64:
TARGET_GOOS=linux TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-amd64
GOOS=linux GOARCH=amd64 go build -v ./...
linux_386:
CCGO_CPP=i686-linux-gnu-cpp TARGET_GOARCH=386 TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-386
GOOS=linux GOARCH=386 go build -v ./...
linux_arm:
CCGO_CPP=arm-linux-gnueabi-cpp-8 TARGET_GOARCH=arm TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-arm
GOOS=linux GOARCH=arm go build -v ./...
linux_arm64:
CCGO_CPP=aarch64-linux-gnu-cpp-8 TARGET_GOARCH=arm64 TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-arm64
GOOS=linux GOARCH=arm64 go build -v ./...
linux_s390x:
CCGO_CPP=s390x-linux-gnu-cpp TARGET_GOARCH=s390x TARGET_GOOS=linux go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-s390x
GOOS=linux GOARCH=s390x go build -v ./...
# 3900x
windows_amd64:
CCGO_CPP=x86_64-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-windows-amd64
GOOS=windows GOARCH=amd64 go build -v ./...
@echo "Should be executed only on linux/amd64."
CCGO_CPP=x86_64-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=amd64 go generate 2>&1 | tee log-generate
GOOS=windows GOARCH=amd64 go test -c -o /dev/null
windows_arm64:
go run addport.go windows_amd64 windows_arm64
GOOS=windows GOARCH=arm64 go test -c -o /dev/null
# 3900x
windows_386:
CCGO_CPP=i686-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=386 go generate 2>&1 | tee /tmp/log-generate-sqlite-windows-386
GOOS=windows GOARCH=386 go build -v ./...
@echo "Should be executed only on linux/amd64."
CCGO_CPP=i686-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=386 go generate 2>&1 | tee log-generate
GOOS=windows GOARCH=386 go test -c -o /dev/null
all_targets: linux_amd64 linux_386 linux_arm linux_arm64 linux_s390x windows_amd64 windows_386
# 3900x/qemu
darwin_amd64:
@echo "Should be executed only on darwin/amd64."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# 3900x/qemu
netbsd_amd64:
@echo "Should be executed only on netbsd/amd64."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# darwin-m1
darwin_arm64:
@echo "Should be executed only on darwin/arm64."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# 3900x/qemu
freebsd_amd64:
@echo "Should be executed only on freebsd/amd64."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
freebsd_arm64:
go run addport.go freebsd_amd64 freebsd_arm64
GOOS=freebsd GOARCH=arm64 go test -c -o /dev/null
# 3900x/qemu
freebsd_386:
@echo "Should be executed only on freebsd/386."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# 3900x/qemu
freebsd_arm:
@echo "Should be executed only on freebsd/arm."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# 3900x
linux_amd64:
@echo "Should be executed only on linux/amd64."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# 3900x
linux_386:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=i686-linux-gnu-cpp TARGET_GOARCH=386 TARGET_GOOS=linux go generate 2>&1 | tee log-generate
GOOS=linux GOARCH=386 go test -c -o /dev/null
# 3900x
linux_arm:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=arm-linux-gnueabi-cpp TARGET_GOARCH=arm TARGET_GOOS=linux go generate 2>&1 | tee log-generate
GOOS=linux GOARCH=arm go test -c -o /dev/null
# 3900x
linux_arm64:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=aarch64-linux-gnu-cpp TARGET_GOARCH=arm64 TARGET_GOOS=linux go generate 2>&1 | tee log-generate
GOOS=linux GOARCH=arm64 go test -c -o /dev/null
# 3900x
linux_ppc64le:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=powerpc64le-linux-gnu-cpp TARGET_GOARCH=ppc64le TARGET_GOOS=linux go generate 2>&1 | tee log-generate
GOOS=linux GOARCH=ppc64le go test -c -o /dev/null
# linux/riscv64
linux_riscv64:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=riscv64-linux-gnu-cpp TARGET_GOARCH=riscv64 TARGET_GOOS=linux go generate 2>&1 | tee log-generate
GOOS=linux GOARCH=riscv64 go test -c -o /dev/null
# 3900x
linux_s390x:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=s390x-linux-gnu-cpp TARGET_GOARCH=s390x TARGET_GOOS=linux go generate 2>&1 | tee log-generate
GOOS=linux GOARCH=s390x go test -c -o /dev/null
# 3900x/qemu
openbsd_amd64:
@echo "Should be executed only on openbsd/amd64."
go generate 2>&1 | tee log-generate
go test -c -o /dev/null
# 3900x/qemu
openbsd_arm64:
@echo "Should be executed only on openbsd/arm64."
GOGC=10 GOMEMLIMIT=6GiB go generate 2>&1 | tee log-generate
go test -c -o /dev/null
generate_all_targets_on_linux_amd64: linux_amd64 linux_386 linux_arm linux_arm64 linux_s390x linux_ppc64le linux_riscv64 windows_amd64 windows_arm64 #TODO windows_386
gofmt -l -s -w .
echo done
test:
go version | tee $(testlog)
uname -a | tee -a $(testlog)
go test -v -timeout 24h | tee -a $(testlog)
grep -ni fail $(testlog) | tee -a $(testlog) || true
LC_ALL=C date | tee -a $(testlog)
grep -ni --color=always fail $(testlog) || true
tcl_test_wine:
GOOS=windows GOARCH=amd64 go build -o testfixture.exe modernc.org/sqlite/internal/testfixture
test_darwin_amd64:
GOOS=darwin GOARCH=amd64 make test
test_darwin_arm64:
GOOS=darwin GOARCH=arm64 make test
test_linux_amd64:
GOOS=linux GOARCH=amd64 make test
test_linux_386:
GOOS=linux GOARCH=386 make test
test_linux_386_hosted:
GOOS=linux GOARCH=386 SQLITE_TEST_SUFFIX=-hosted-$(host) make test
test_linux_arm:
GOOS=linux GOARCH=arm make test
test_linux_arm64:
GOOS=linux GOARCH=arm64 make test
test_linux_s390x:
GOOS=linux GOARCH=s390x make test
run_tcl_test_wine:
TCL_LIBRARY=Z:/home/jnml/src/modernc.org/tcl/assets wine testfixture.exe ./testdata/tcl/zipfile.test
extraquick:
go test -timeout 24h -v -run Tcl -suite extraquick -maxerror 1 2>&1 | tee log-extraquick
go test -timeout 24h -v -failfast -suite extraquick -maxerror 1 2>&1 | tee log-extraquick
date
full:
@ -182,17 +239,3 @@ todo:
@grep -nr $(grep) TODO * | grep -v $(ngrep) || true
@grep -nr $(grep) BUG * | grep -v $(ngrep) || true
@grep -nr $(grep) [^[:alpha:]]println * | grep -v $(ngrep) || true
tcl:
cp log log-0
go test -run Tcl$$ 2>&1 -timeout 24h -trc | tee log
grep -c '\.\.\. \?Ok' log || true
grep -c '^!' log || true
# grep -c 'Error:' log || true
tclshort:
cp log log-0
go test -run Tcl$$ -short 2>&1 -timeout 24h -trc | tee log
grep -c '\.\.\. \?Ok' log || true
grep -c '^!' log || true
# grep -c 'Error:' log || true

17
vendor/modernc.org/sqlite/README.md generated vendored
View File

@ -1,14 +1,23 @@
# sqlite
Package sqlite is a CGo-free port of SQLite.
Package sqlite is a cgo-free port of SQLite. Although you could see mattn's driver (`github.com/mattn/go-sqlite3`) in go.mod file, we import it for tests only.
SQLite is an in-process implementation of a self-contained, serverless,
zero-configuration, transactional SQL database engine.
Installation
## Thanks
This project is sponsored by Schleibinger Geräte Teubert u. Greim GmbH by
allowing one of the maintainers to work on it also in office hours.
## Installation
$ go get modernc.org/sqlite
Documentation: [godoc.org/modernc.org/sqlite](http://godoc.org/modernc.org/sqlite)
## Documentation
Builders: [modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite](https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite)
[godoc.org/modernc.org/sqlite](http://godoc.org/modernc.org/sqlite)
## Builders
[modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite](https://modern-c.appspot.com/-/builder/?importpath=modernc.org%2fsqlite)

65
vendor/modernc.org/sqlite/doc.go generated vendored
View File

@ -2,31 +2,34 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package sqlite is a CGo-free port of SQLite.
// Package sqlite is a sql/database driver using a CGo-free port of the C
// SQLite3 library.
//
// SQLite is an in-process implementation of a self-contained, serverless,
// zero-configuration, transactional SQL database engine.
//
// Thanks
//
// This project is sponsored by Schleibinger Geräte Teubert u. Greim GmbH by
// allowing one of the maintainers to work on it also in office hours.
//
// Supported platforms and architectures
//
// These combinations of GOOS and GOARCH are currently supported
//
// darwin amd64
// darwin arm64
// freebsd amd64
// linux 386
// linux amd64
// linux arm
// linux arm64
// windows amd64
//
// The windows/amd64 has currently experimental/preview status. Tcl tests
// report an unresolved yet memory leak, see
// https://gitlab.com/cznic/sqlite/-/issues/23 for more details.
//
// Planned platforms and architectures
//
// windows 386
// OS Arch SQLite version
// ------------------------------
// darwin amd64 3.39.4
// darwin arm64 3.39.4
// freebsd amd64 3.39.4
// freebsd arm64 3.39.4
// linux 386 3.39.4
// linux amd64 3.39.4
// linux arm 3.39.4
// linux arm64 3.39.4
// linux riscv64 3.39.4
// windows amd64 3.39.4
// windows arm64 3.39.4
//
// Builders
//
@ -36,6 +39,34 @@
//
// Changelog
//
// 2022-09-16 v1.19.0:
//
// Support frebsd/arm64.
//
// 2022-07-26 v1.18.0:
//
// Adds support for Go fs.FS based SQLite virtual filesystems, see function New
// in modernc.org/sqlite/vfs and/or TestVFS in all_test.go
//
// 2022-04-24 v1.17.0:
//
// Support windows/arm64.
//
// 2022-04-04 v1.16.0:
//
// Support scalar application defined functions written in Go.
//
// https://www.sqlite.org/appfunc.html
//
// 2022-03-13 v1.15.0:
//
// Support linux/riscv64.
//
// 2021-11-13 v1.14.0:
//
// Support windows/amd64. This target had previously only experimental status
// because of a now resolved memory leak.
//
// 2021-09-07 v1.13.0:
//
// Support freebsd/amd64.

View File

@ -10,14 +10,16 @@ package main
import (
"archive/zip"
"bufio"
"bytes"
"flag"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"
"os/exec"
"path/filepath"
"runtime"
"sort"
"strings"
"modernc.org/ccgo/v3/lib"
@ -145,7 +147,7 @@ import (
// -lpthread
const (
volatiles = "-volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt"
volatiles = "-volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid"
)
var (
@ -156,7 +158,7 @@ var (
"-DSQLITE_ENABLE_COLUMN_METADATA",
"-DSQLITE_ENABLE_FTS5",
"-DSQLITE_ENABLE_GEOPOLY",
"-DSQLITE_ENABLE_JSON1",
"-DSQLITE_ENABLE_MATH_FUNCTIONS",
"-DSQLITE_ENABLE_MEMORY_MANAGEMENT",
"-DSQLITE_ENABLE_OFFSET_SQL_FUNC",
"-DSQLITE_ENABLE_PREUPDATE_HOOK",
@ -168,6 +170,7 @@ var (
"-DSQLITE_ENABLE_UNLOCK_NOTIFY", // Adds sqlite3_unlock_notify().
"-DSQLITE_LIKE_DOESNT_MATCH_BLOBS",
"-DSQLITE_MUTEX_APPDEF=1",
"-DSQLITE_MUTEX_NOOP",
"-DSQLITE_SOUNDEX",
"-DSQLITE_THREADSAFE=1",
//DONT "-DNDEBUG", // To enable GO_GENERATE=-DSQLITE_DEBUG
@ -207,7 +210,7 @@ var (
"-DSQLITE_ENABLE_EXPLAIN_COMMENTS",
"-DSQLITE_ENABLE_FTS5",
"-DSQLITE_ENABLE_GEOPOLY",
"-DSQLITE_ENABLE_JSON1",
"-DSQLITE_ENABLE_MATH_FUNCTIONS",
"-DSQLITE_ENABLE_MEMORY_MANAGEMENT",
"-DSQLITE_ENABLE_OFFSET_SQL_FUNC",
"-DSQLITE_ENABLE_PREUPDATE_HOOK",
@ -218,9 +221,9 @@ var (
"-DSQLITE_ENABLE_STAT4",
"-DSQLITE_ENABLE_STMTVTAB", // testfixture
"-DSQLITE_ENABLE_UNLOCK_NOTIFY", // Adds sqlite3_unlock_notify().
"-DSQLITE_HAVE_ZLIB=1", // testfixture
"-DSQLITE_LIKE_DOESNT_MATCH_BLOBS",
"-DSQLITE_MUTEX_APPDEF=1",
"-DSQLITE_MUTEX_NOOP",
"-DSQLITE_SOUNDEX",
"-DSQLITE_TEMP_STORE=1", // testfixture
"-DSQLITE_TEST",
@ -252,16 +255,16 @@ var (
sz int
dev bool
}{
{sqliteDir, "https://www.sqlite.org/2021/sqlite-amalgamation-3360000.zip", 2457, false},
{sqliteSrcDir, "https://www.sqlite.org/2021/sqlite-src-3360000.zip", 12814, false},
{sqliteDir, "https://www.sqlite.org/2022/sqlite-amalgamation-3390400.zip", 2457, false},
{sqliteSrcDir, "https://www.sqlite.org/2022/sqlite-src-3390400.zip", 12814, false},
}
sqliteDir = filepath.FromSlash("testdata/sqlite-amalgamation-3360000")
sqliteSrcDir = filepath.FromSlash("testdata/sqlite-src-3360000")
sqliteDir = filepath.FromSlash("testdata/sqlite-amalgamation-3390400")
sqliteSrcDir = filepath.FromSlash("testdata/sqlite-src-3390400")
)
func download() {
tmp, err := ioutil.TempDir("", "")
tmp, err := os.MkdirTemp("", "")
if err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err)
return
@ -371,7 +374,13 @@ func fail(s string, args ...interface{}) {
os.Exit(1)
}
var (
oFullPathComments = flag.Bool("full-path-comments", false, "")
)
func main() {
flag.Parse()
fmt.Printf("Running on %s/%s.\n", runtime.GOOS, runtime.GOARCH)
env := os.Getenv("GO_GENERATE")
goarch := runtime.GOARCH
goos := runtime.GOOS
@ -393,14 +402,27 @@ func main() {
}
more = append(more, ndebug...)
download()
// experimental pthreads support currently only on linux/amd64
if goos != "linux" || goarch != "amd64" {
configProduction = append(configProduction, "-DSQLITE_MUTEX_NOOP")
configTest = append(configTest, "-DSQLITE_MUTEX_NOOP")
}
switch goos {
case "linux", "freebsd":
case "linux", "freebsd", "openbsd":
configProduction = append(configProduction, "-DSQLITE_OS_UNIX=1")
case "netbsd":
configProduction = append(configProduction, []string{
"-DSQLITE_OS_UNIX=1",
"-D__libc_cond_broadcast=pthread_cond_broadcast",
"-D__libc_cond_destroy=pthread_cond_destroy",
"-D__libc_cond_init=pthread_cond_init",
"-D__libc_cond_signal=pthread_cond_signal",
"-D__libc_cond_wait=pthread_cond_wait",
"-D__libc_mutex_destroy=pthread_mutex_destroy",
"-D__libc_mutex_init=pthread_mutex_init",
"-D__libc_mutex_lock=pthread_mutex_lock",
"-D__libc_mutex_trylock=pthread_mutex_trylock",
"-D__libc_mutex_unlock=pthread_mutex_unlock",
"-D__libc_mutexattr_destroy=pthread_mutexattr_destroy",
"-D__libc_mutexattr_init=pthread_mutexattr_init",
"-D__libc_mutexattr_settype=pthread_mutexattr_settype",
"-D__libc_thr_yield=sched_yield",
}...)
case "darwin":
configProduction = append(configProduction,
"-DSQLITE_OS_UNIX=1",
@ -447,7 +469,7 @@ func configure(goos, goarch string) {
cmd.Run()
var args []string
switch goos {
case "linux", "freebsd":
case "linux", "freebsd", "netbsd", "openbsd":
// nop
case "darwin":
args = append(args, "--with-tcl=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework")
@ -512,6 +534,7 @@ func makeTestfixture(goos, goarch string, more []string) {
"ext/misc/normalize.c",
"ext/misc/percentile.c",
"ext/misc/prefixes.c",
"ext/misc/qpvtab.c",
"ext/misc/regexp.c",
"ext/misc/remember.c",
"ext/misc/series.c",
@ -519,8 +542,8 @@ func makeTestfixture(goos, goarch string, more []string) {
"ext/misc/totype.c",
"ext/misc/unionvtab.c",
"ext/misc/wholenumber.c",
"ext/misc/zipfile.c",
"ext/rbu/test_rbu.c",
"ext/rtree/test_rtreedoc.c",
"ext/session/test_session.c",
"ext/userauth/userauth.c",
"src/tclsqlite.c",
@ -576,6 +599,34 @@ func makeTestfixture(goos, goarch string, more []string) {
}
configure(goos, goarch)
var defines, includes []string
switch goos {
case "freebsd", "openbsd":
includes = []string{"-I/usr/local/include/tcl8.6"}
case "linux":
includes = []string{"-I/usr/include/tcl8.6"}
case "windows":
includes = []string{"-I/usr/include/tcl8.6"}
case "netbsd":
includes = []string{"-I/usr/pkg/include"}
defines = []string{
"-D__libc_cond_broadcast=pthread_cond_broadcast",
"-D__libc_cond_destroy=pthread_cond_destroy",
"-D__libc_cond_init=pthread_cond_init",
"-D__libc_cond_signal=pthread_cond_signal",
"-D__libc_cond_wait=pthread_cond_wait",
"-D__libc_mutex_destroy=pthread_mutex_destroy",
"-D__libc_mutex_init=pthread_mutex_init",
"-D__libc_mutex_lock=pthread_mutex_lock",
"-D__libc_mutex_trylock=pthread_mutex_trylock",
"-D__libc_mutex_unlock=pthread_mutex_unlock",
"-D__libc_mutexattr_destroy=pthread_mutexattr_destroy",
"-D__libc_mutexattr_init=pthread_mutexattr_init",
"-D__libc_mutexattr_settype=pthread_mutexattr_settype",
"-D__libc_thr_yield=sched_yield",
}
}
args := join(
[]string{
"ccgo",
@ -584,9 +635,13 @@ func makeTestfixture(goos, goarch string, more []string) {
"-DSQLITE_SERVER=1",
"-DTCLSH_INIT_PROC=sqlite3TestInit",
"-D_HAVE_SQLITE_CONFIG_H",
"-I/usr/include/tcl8.6", //TODO should not be hardcoded
},
defines,
includes,
[]string{
"-export-defines", "",
"-export-fields", "F",
"-ignore-unsupported-alignment",
"-trace-translation-units",
volatiles,
"-lmodernc.org/sqlite/libtest",
@ -603,32 +658,38 @@ func makeTestfixture(goos, goarch string, more []string) {
fmt.Sprintf("-I%s", sqliteDir),
fmt.Sprintf("-I%s", sqliteSrcDir),
},
otherOpts(),
files,
more,
configTest,
)
// experimental pthreads support currently only on linux/amd64
if goos != "linux" || goarch != "amd64" {
args = append(args, "-lmodernc.org/sqlite/internal/libc2")
}
task := ccgo.NewTask(args, nil, nil)
if err := task.Main(); err != nil {
fail("%s\n", err)
}
}
func otherOpts() (r []string) {
if *oFullPathComments {
r = append(r, "-full-path-comments")
}
return r
}
func makeSpeedTest(goos, goarch string, more []string) {
task := ccgo.NewTask(
join(
[]string{
"ccgo",
"-export-defines", "",
"-ignore-unsupported-alignment",
"-o", filepath.FromSlash(fmt.Sprintf("speedtest1/main_%s_%s.go", goos, goarch)),
"-trace-translation-units",
filepath.Join(sqliteSrcDir, "test", "speedtest1.c"),
fmt.Sprintf("-I%s", sqliteDir),
"-l", "modernc.org/sqlite/lib",
},
otherOpts(),
more,
configProduction,
),
@ -646,12 +707,15 @@ func makeMpTest(goos, goarch string, more []string) {
[]string{
"ccgo",
"-export-defines", "",
"-ignore-unsupported-alignment",
"-o", filepath.FromSlash(fmt.Sprintf("internal/mptest/main_%s_%s.go", goos, goarch)),
"-trace-translation-units",
filepath.Join(sqliteSrcDir, "mptest", "mptest.c"),
// filepath.Join(sqliteSrcDir, "mptest", "mptest.c"),
filepath.Join("testdata", "mptest.c"),
fmt.Sprintf("-I%s", sqliteDir),
"-l", "modernc.org/sqlite/lib",
},
otherOpts(),
more,
configProduction,
),
@ -664,6 +728,7 @@ func makeMpTest(goos, goarch string, more []string) {
}
func makeSqliteProduction(goos, goarch string, more []string) {
fn := filepath.FromSlash(fmt.Sprintf("lib/sqlite_%s_%s.go", goos, goarch))
task := ccgo.NewTask(
join(
[]string{
@ -674,11 +739,14 @@ func makeSqliteProduction(goos, goarch string, more []string) {
"-export-externs", "X",
"-export-fields", "F",
"-export-typedefs", "",
"-ignore-unsupported-alignment",
"-pkgname", "sqlite3",
"-o", filepath.FromSlash(fmt.Sprintf("lib/sqlite_%s_%s.go", goos, goarch)),
volatiles,
"-o", fn,
"-trace-translation-units",
filepath.Join(sqliteDir, "sqlite3.c"),
},
otherOpts(),
more,
configProduction,
),
@ -688,9 +756,14 @@ func makeSqliteProduction(goos, goarch string, more []string) {
if err := task.Main(); err != nil {
fail("%s\n", err)
}
if err := patchXsqlite3_initialize(fn); err != nil {
fail("%s\n", err)
}
}
func makeSqliteTest(goos, goarch string, more []string) {
fn := filepath.FromSlash(fmt.Sprintf("libtest/sqlite_%s_%s.go", goos, goarch))
task := ccgo.NewTask(
join(
[]string{
@ -701,12 +774,15 @@ func makeSqliteTest(goos, goarch string, more []string) {
"-export-externs", "X",
"-export-fields", "F",
"-export-typedefs", "",
"-ignore-unsupported-alignment",
"-pkgname", "sqlite3",
"-o", filepath.FromSlash(fmt.Sprintf("libtest/sqlite_%s_%s.go", goos, goarch)),
volatiles,
"-o", fn,
"-trace-translation-units",
volatiles,
filepath.Join(sqliteDir, "sqlite3.c"),
},
otherOpts(),
more,
configTest,
),
@ -716,6 +792,10 @@ func makeSqliteTest(goos, goarch string, more []string) {
if err := task.Main(); err != nil {
fail("%s\n", err)
}
if err := patchXsqlite3_initialize(fn); err != nil {
fail("%s\n", err)
}
}
func join(a ...[]string) (r []string) {
@ -729,3 +809,47 @@ func join(a ...[]string) (r []string) {
}
return r
}
func patchXsqlite3_initialize(fn string) error {
const s = "func Xsqlite3_initialize(tls *libc.TLS) int32 {"
return patch(fn, func(b []byte) []diff {
x := bytes.Index(b, []byte(s))
return []diff{{x, x + len(s), `
var mu mutex
func init() { mu.recursive = true }
func Xsqlite3_initialize(tls *libc.TLS) int32 {
mu.enter(tls.ID)
defer mu.leave(tls.ID)
`}}
})
}
type diff struct {
from, to int // byte offsets
replace string // replaces b[from:to]
}
func patch(fn string, f func([]byte) []diff) error {
b, err := os.ReadFile(fn)
if err != nil {
return err
}
diffs := f(b)
sort.Slice(diffs, func(i, j int) bool { return diffs[i].from < diffs[j].from })
var patched [][]byte
off := 0
for _, diff := range diffs {
from := diff.from - off
to := diff.to - off
patched = append(patched, b[:from])
patched = append(patched, []byte(diff.replace))
b = b[to:]
off += to
}
patched = append(patched, b)
return os.WriteFile(fn, bytes.Join(patched, nil), 0660)
}

View File

@ -1,9 +1,32 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"__darwin_check_fd_set": {},
"__darwin_check_fd_set_overflow": {},
"__darwin_fd_clr": {},
"__darwin_fd_isset": {},
"__darwin_fd_set": {},
"__inline_isfinited": {},
"__inline_isfinitef": {},
"__inline_isfinitel": {},
"__inline_isinfd": {},
"__inline_isinff": {},
"__inline_isinfl": {},
"__inline_isnand": {},
"__inline_isnanf": {},
"__inline_isnanl": {},
"__inline_isnormald": {},
"__inline_isnormalf": {},
"__inline_isnormall": {},
"__inline_signbitd": {},
"__inline_signbitf": {},
"__inline_signbitl": {},
"__sincos": {},
"__sincosf": {},
"__sincospi": {},
"__sincospif": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +121,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +135,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +160,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +171,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +184,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +235,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +302,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +316,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +345,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +355,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +399,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +414,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +437,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -534,13 +569,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -573,17 +609,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -605,6 +647,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -634,7 +677,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -642,6 +684,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -662,10 +706,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -683,6 +733,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -745,12 +796,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -772,10 +821,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -807,6 +858,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -836,7 +888,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -916,6 +967,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -923,6 +975,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -933,10 +986,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -965,6 +1021,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -996,6 +1053,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1047,6 +1105,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1058,6 +1117,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1196,6 +1256,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1233,8 +1294,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,32 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"__darwin_check_fd_set": {},
"__darwin_check_fd_set_overflow": {},
"__darwin_fd_clr": {},
"__darwin_fd_isset": {},
"__darwin_fd_set": {},
"__inline_isfinited": {},
"__inline_isfinitef": {},
"__inline_isfinitel": {},
"__inline_isinfd": {},
"__inline_isinff": {},
"__inline_isinfl": {},
"__inline_isnand": {},
"__inline_isnanf": {},
"__inline_isnanl": {},
"__inline_isnormald": {},
"__inline_isnormalf": {},
"__inline_isnormall": {},
"__inline_signbitd": {},
"__inline_signbitf": {},
"__inline_signbitl": {},
"__sincos": {},
"__sincosf": {},
"__sincospi": {},
"__sincospif": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +121,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +135,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +160,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +171,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +184,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +235,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +302,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +316,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +345,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +355,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +399,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +414,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +437,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -534,13 +569,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -573,17 +609,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -605,6 +647,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -634,7 +677,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -642,6 +684,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -662,10 +706,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -683,6 +733,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -745,12 +796,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -772,10 +821,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -807,6 +858,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -836,7 +888,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -916,6 +967,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -923,6 +975,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -933,10 +986,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -965,6 +1021,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -996,6 +1053,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1047,6 +1105,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1058,6 +1117,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1196,6 +1256,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1233,8 +1294,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,8 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +97,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +111,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +136,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +147,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +160,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +211,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +278,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +292,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +321,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +331,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +375,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +390,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +413,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -534,13 +545,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -573,17 +585,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -605,6 +623,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -634,7 +653,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -642,6 +660,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -662,10 +682,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -683,6 +709,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -745,12 +772,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -772,10 +797,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -807,6 +834,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -836,7 +864,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -916,6 +943,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -923,6 +951,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -933,10 +962,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -965,6 +997,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -996,6 +1029,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1047,6 +1081,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1058,6 +1093,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1196,6 +1232,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1233,8 +1270,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,8 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +97,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +111,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +136,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +147,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +160,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +211,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +278,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +292,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +321,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +331,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +375,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +390,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +413,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -534,13 +545,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -573,17 +585,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -605,6 +623,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -634,7 +653,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -642,6 +660,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -662,10 +682,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -683,6 +709,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -745,12 +772,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -772,10 +797,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -807,6 +834,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -836,7 +864,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -916,6 +943,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -923,6 +951,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -933,10 +962,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -965,6 +997,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -996,6 +1029,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1047,6 +1081,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1058,6 +1093,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1196,6 +1232,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1233,8 +1270,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,8 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +97,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +111,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +136,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +147,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +160,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +211,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +278,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +292,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +321,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +331,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +375,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +390,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +413,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -410,7 +421,6 @@ var CAPI = map[string]struct{}{
"sqlite3MemJournalOpen": {},
"sqlite3MemSetDefault": {},
"sqlite3MemdbInit": {},
"sqlite3MemoryBarrier": {},
"sqlite3MisuseError": {},
"sqlite3MulInt64": {},
"sqlite3MultiWrite": {},
@ -535,13 +545,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -574,17 +585,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -606,6 +623,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -635,7 +653,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -643,6 +660,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -663,10 +682,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -684,6 +709,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -746,12 +772,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -773,10 +797,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -808,6 +834,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -837,7 +864,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -917,6 +943,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -924,6 +951,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -934,10 +962,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -966,6 +997,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -997,6 +1029,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1048,6 +1081,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1059,6 +1093,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1197,6 +1232,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1234,8 +1270,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,8 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +97,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +111,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +136,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +147,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +160,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +211,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +278,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +292,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +321,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +331,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +375,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +390,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +413,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -534,13 +545,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -573,17 +585,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -605,6 +623,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -634,7 +653,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -642,6 +660,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -662,10 +682,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -683,6 +709,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -745,12 +772,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -772,10 +797,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -807,6 +834,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -836,7 +864,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -916,6 +943,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -923,6 +951,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -933,10 +962,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -965,6 +997,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -996,6 +1029,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1047,6 +1081,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1058,6 +1093,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1196,6 +1232,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1233,8 +1270,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,8 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +97,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +111,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +136,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +147,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +160,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +211,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,6 +278,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -284,6 +292,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -312,6 +321,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -321,7 +331,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -366,6 +375,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -380,7 +390,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -403,6 +413,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -534,13 +545,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -573,17 +585,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -605,6 +623,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -634,7 +653,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -642,6 +660,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -662,10 +682,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -683,6 +709,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -745,12 +772,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -772,10 +797,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -807,6 +834,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -836,7 +864,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -916,6 +943,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -923,6 +951,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -933,10 +962,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -965,6 +997,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -996,6 +1029,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1047,6 +1081,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1058,6 +1093,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1196,6 +1232,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1233,8 +1270,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -1,9 +1,8 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3350500/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_UNIX=1', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
package sqlite3
var CAPI = map[string]struct{}{
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -98,6 +97,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -111,7 +111,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -137,6 +136,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -147,9 +147,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -158,8 +160,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -205,6 +211,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -271,8 +278,11 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
"sqlite3ExprListAppendNew": {},
"sqlite3ExprListAppendVector": {},
"sqlite3ExprListCheckLength": {},
"sqlite3ExprListCompare": {},
@ -282,6 +292,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -310,6 +321,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -319,7 +331,7 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
"sqlite3GenerateRowDelete": {},
@ -363,6 +375,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -377,7 +390,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -400,12 +413,14 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
"sqlite3MemCompare": {},
"sqlite3MemJournalOpen": {},
"sqlite3MemSetDefault": {},
"sqlite3MemdbInit": {},
"sqlite3MisuseError": {},
"sqlite3MulInt64": {},
"sqlite3MultiWrite": {},
@ -530,13 +545,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -569,17 +585,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -601,6 +623,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -628,8 +651,8 @@ var CAPI = map[string]struct{}{
"sqlite3SelectExprHeight": {},
"sqlite3SelectNew": {},
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -637,6 +660,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -657,10 +682,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -678,6 +709,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -740,12 +772,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -767,10 +797,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -802,6 +834,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -831,7 +864,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -908,8 +940,10 @@ var CAPI = map[string]struct{}{
"sqlite3WalkSelect": {},
"sqlite3WalkSelectExpr": {},
"sqlite3WalkSelectFrom": {},
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -917,6 +951,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -927,10 +962,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -953,11 +991,13 @@ var CAPI = map[string]struct{}{
"sqlite3WindowUpdate": {},
"sqlite3WithAdd": {},
"sqlite3WithDelete": {},
"sqlite3WithDup": {},
"sqlite3WithPush": {},
"sqlite3WritableSchema": {},
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -989,6 +1029,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1040,16 +1081,19 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
"sqlite3_declare_vtab": {},
"sqlite3_deserialize": {},
"sqlite3_drop_modules": {},
"sqlite3_enable_load_extension": {},
"sqlite3_enable_shared_cache": {},
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1064,7 +1108,6 @@ var CAPI = map[string]struct{}{
"sqlite3_free": {},
"sqlite3_free_filename": {},
"sqlite3_free_table": {},
"sqlite3_fts5_may_be_corrupt": {},
"sqlite3_get_autocommit": {},
"sqlite3_get_auxdata": {},
"sqlite3_get_table": {},
@ -1106,6 +1149,7 @@ var CAPI = map[string]struct{}{
"sqlite3_prepare16_v3": {},
"sqlite3_prepare_v2": {},
"sqlite3_prepare_v3": {},
"sqlite3_preupdate_blobwrite": {},
"sqlite3_preupdate_count": {},
"sqlite3_preupdate_depth": {},
"sqlite3_preupdate_hook": {},
@ -1143,6 +1187,7 @@ var CAPI = map[string]struct{}{
"sqlite3_rollback_hook": {},
"sqlite3_rtree_geometry_callback": {},
"sqlite3_rtree_query_callback": {},
"sqlite3_serialize": {},
"sqlite3_set_authorizer": {},
"sqlite3_set_auxdata": {},
"sqlite3_set_last_insert_rowid": {},
@ -1187,6 +1232,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1224,12 +1270,46 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},
"sqlite3_wal_hook": {},
"sqlite3aEQb": {},
"sqlite3aGTb": {},
"sqlite3aLTb": {},
"sqlite3changegroup_add": {},
"sqlite3changegroup_add_strm": {},
"sqlite3changegroup_delete": {},
"sqlite3changegroup_new": {},
"sqlite3changegroup_output": {},
"sqlite3changegroup_output_strm": {},
"sqlite3changeset_apply": {},
"sqlite3changeset_apply_strm": {},
"sqlite3changeset_apply_v2": {},
"sqlite3changeset_apply_v2_strm": {},
"sqlite3changeset_concat": {},
"sqlite3changeset_concat_strm": {},
"sqlite3changeset_conflict": {},
"sqlite3changeset_finalize": {},
"sqlite3changeset_fk_conflicts": {},
"sqlite3changeset_invert": {},
"sqlite3changeset_invert_strm": {},
"sqlite3changeset_new": {},
"sqlite3changeset_next": {},
"sqlite3changeset_old": {},
"sqlite3changeset_op": {},
"sqlite3changeset_pk": {},
"sqlite3changeset_start": {},
"sqlite3changeset_start_strm": {},
"sqlite3changeset_start_v2": {},
"sqlite3changeset_start_v2_strm": {},
"sqlite3one": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
@ -1244,4 +1324,25 @@ var CAPI = map[string]struct{}{
"sqlite3rbu_temp_size": {},
"sqlite3rbu_temp_size_limit": {},
"sqlite3rbu_vacuum": {},
"sqlite3rebaser_configure": {},
"sqlite3rebaser_create": {},
"sqlite3rebaser_delete": {},
"sqlite3rebaser_rebase": {},
"sqlite3rebaser_rebase_strm": {},
"sqlite3session_attach": {},
"sqlite3session_changeset": {},
"sqlite3session_changeset_size": {},
"sqlite3session_changeset_strm": {},
"sqlite3session_config": {},
"sqlite3session_create": {},
"sqlite3session_delete": {},
"sqlite3session_diff": {},
"sqlite3session_enable": {},
"sqlite3session_indirect": {},
"sqlite3session_isempty": {},
"sqlite3session_memory_used": {},
"sqlite3session_object_config": {},
"sqlite3session_patchset": {},
"sqlite3session_patchset_strm": {},
"sqlite3session_table_filter": {},
}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -pkgname sqlite3 -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3360000/sqlite3.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_MUTEX_NOOP -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines -export-enums -export-externs X -export-fields F -export-typedefs -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3390400/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
package sqlite3
@ -7,7 +7,6 @@ var CAPI = map[string]struct{}{
"g_rgSCardRawPci": {},
"g_rgSCardT0Pci": {},
"g_rgSCardT1Pci": {},
"rbuVacuumIndexStart": {},
"sqlite3AbsInt32": {},
"sqlite3AddCheckConstraint": {},
"sqlite3AddCollateType": {},
@ -102,6 +101,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeGetReserveNoMutex": {},
"sqlite3BtreeIncrVacuum": {},
"sqlite3BtreeIncrblobCursor": {},
"sqlite3BtreeIndexMoveto": {},
"sqlite3BtreeInsert": {},
"sqlite3BtreeIntegerKey": {},
"sqlite3BtreeIntegrityCheck": {},
@ -115,7 +115,6 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeLockTable": {},
"sqlite3BtreeMaxPageCount": {},
"sqlite3BtreeMaxRecordSize": {},
"sqlite3BtreeMovetoUnpacked": {},
"sqlite3BtreeNewDb": {},
"sqlite3BtreeNext": {},
"sqlite3BtreeOffset": {},
@ -141,6 +140,7 @@ var CAPI = map[string]struct{}{
"sqlite3BtreeSetSpillSize": {},
"sqlite3BtreeSetVersion": {},
"sqlite3BtreeSharable": {},
"sqlite3BtreeTableMoveto": {},
"sqlite3BtreeTransferRow": {},
"sqlite3BtreeTripAllCursors": {},
"sqlite3BtreeTxnState": {},
@ -151,9 +151,11 @@ var CAPI = map[string]struct{}{
"sqlite3CheckCollSeq": {},
"sqlite3CheckObjectName": {},
"sqlite3Checkpoint": {},
"sqlite3ClearOnOrUsing": {},
"sqlite3ClearTempRegCache": {},
"sqlite3CloseExtensions": {},
"sqlite3CloseSavepoints": {},
"sqlite3CodeChangeCount": {},
"sqlite3CodeDropTable": {},
"sqlite3CodeRhsOfIN": {},
"sqlite3CodeRowTrigger": {},
@ -162,8 +164,12 @@ var CAPI = map[string]struct{}{
"sqlite3CodeVerifyNamedSchema": {},
"sqlite3CodeVerifySchema": {},
"sqlite3CollapseDatabaseArray": {},
"sqlite3ColumnColl": {},
"sqlite3ColumnDefault": {},
"sqlite3ColumnExpr": {},
"sqlite3ColumnIndex": {},
"sqlite3ColumnSetColl": {},
"sqlite3ColumnSetExpr": {},
"sqlite3ColumnType": {},
"sqlite3ColumnsFromExprList": {},
"sqlite3CommitInternalChanges": {},
@ -209,6 +215,7 @@ var CAPI = map[string]struct{}{
"sqlite3DeleteTriggerStep": {},
"sqlite3Dequote": {},
"sqlite3DequoteExpr": {},
"sqlite3DequoteToken": {},
"sqlite3Detach": {},
"sqlite3DropIndex": {},
"sqlite3DropTable": {},
@ -275,6 +282,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprIsConstantOrGroupBy": {},
"sqlite3ExprIsInteger": {},
"sqlite3ExprIsTableConstant": {},
"sqlite3ExprIsTableConstraint": {},
"sqlite3ExprIsVector": {},
"sqlite3ExprListAppend": {},
"sqlite3ExprListAppendGrow": {},
@ -288,6 +296,7 @@ var CAPI = map[string]struct{}{
"sqlite3ExprListSetName": {},
"sqlite3ExprListSetSortOrder": {},
"sqlite3ExprListSetSpan": {},
"sqlite3ExprListToValues": {},
"sqlite3ExprNNCollSeq": {},
"sqlite3ExprNeedsNoAffinityChange": {},
"sqlite3ExprReferencesUpdatedColumn": {},
@ -316,6 +325,7 @@ var CAPI = map[string]struct{}{
"sqlite3FixTriggerStep": {},
"sqlite3FkActions": {},
"sqlite3FkCheck": {},
"sqlite3FkClearTriggerCache": {},
"sqlite3FkDelete": {},
"sqlite3FkDropTable": {},
"sqlite3FkLocateIndex": {},
@ -325,7 +335,6 @@ var CAPI = map[string]struct{}{
"sqlite3FreeIndex": {},
"sqlite3Fts5Init": {},
"sqlite3FunctionSearch": {},
"sqlite3FunctionUsesThisSrc": {},
"sqlite3GenerateColumnNames": {},
"sqlite3GenerateConstraintChecks": {},
"sqlite3GenerateIndexKey": {},
@ -370,6 +379,7 @@ var CAPI = map[string]struct{}{
"sqlite3Insert": {},
"sqlite3InsertBuiltinFuncs": {},
"sqlite3Int64ToText": {},
"sqlite3IntFloatCompare": {},
"sqlite3InvokeBusyHandler": {},
"sqlite3IsBinary": {},
"sqlite3IsIdChar": {},
@ -384,7 +394,7 @@ var CAPI = map[string]struct{}{
"sqlite3JournalModename": {},
"sqlite3JournalOpen": {},
"sqlite3JournalSize": {},
"sqlite3Json1Init": {},
"sqlite3JsonTableFunctions": {},
"sqlite3KeyInfoAlloc": {},
"sqlite3KeyInfoFromExprList": {},
"sqlite3KeyInfoOfIndex": {},
@ -407,6 +417,7 @@ var CAPI = map[string]struct{}{
"sqlite3MallocMutex": {},
"sqlite3MallocSize": {},
"sqlite3MallocZero": {},
"sqlite3MarkAllShadowTablesOf": {},
"sqlite3MatchEName": {},
"sqlite3MaterializeView": {},
"sqlite3MayAbort": {},
@ -538,13 +549,14 @@ var CAPI = map[string]struct{}{
"sqlite3PagerWalCallback": {},
"sqlite3PagerWalSupported": {},
"sqlite3PagerWrite": {},
"sqlite3ParseObjectInit": {},
"sqlite3ParseObjectReset": {},
"sqlite3ParseUri": {},
"sqlite3Parser": {},
"sqlite3ParserAddCleanup": {},
"sqlite3ParserFallback": {},
"sqlite3ParserFinalize": {},
"sqlite3ParserInit": {},
"sqlite3ParserReset": {},
"sqlite3Pcache1Mutex": {},
"sqlite3PcacheCleanAll": {},
"sqlite3PcacheClear": {},
@ -577,17 +589,23 @@ var CAPI = map[string]struct{}{
"sqlite3PendingByte": {},
"sqlite3Pragma": {},
"sqlite3PragmaVtabRegister": {},
"sqlite3PreferredTableName": {},
"sqlite3PrimaryKeyIndex": {},
"sqlite3PrngRestoreState": {},
"sqlite3PrngSaveState": {},
"sqlite3Put4byte": {},
"sqlite3PutVarint": {},
"sqlite3QuoteValue": {},
"sqlite3ReadOnlyShadowTables": {},
"sqlite3ReadSchema": {},
"sqlite3RealSameAsInt": {},
"sqlite3Realloc": {},
"sqlite3RecordErrorByteOffset": {},
"sqlite3RecordErrorOffsetOfExpr": {},
"sqlite3ReferencesSrcList": {},
"sqlite3RegisterBuiltinFunctions": {},
"sqlite3RegisterDateTimeFunctions": {},
"sqlite3RegisterJsonFunctions": {},
"sqlite3RegisterLikeFunctions": {},
"sqlite3RegisterPerConnectionBuiltinFunctions": {},
"sqlite3Reindex": {},
@ -609,6 +627,7 @@ var CAPI = map[string]struct{}{
"sqlite3ResolveSelfReference": {},
"sqlite3ResultIntReal": {},
"sqlite3ResultSetOfSelect": {},
"sqlite3ResultStrAccum": {},
"sqlite3RollbackAll": {},
"sqlite3RootPageMoved": {},
"sqlite3RowSetClear": {},
@ -638,7 +657,6 @@ var CAPI = map[string]struct{}{
"sqlite3SelectOpName": {},
"sqlite3SelectPopWith": {},
"sqlite3SelectPrep": {},
"sqlite3SelectTrace": {},
"sqlite3SelectWalkFail": {},
"sqlite3SelectWalkNoop": {},
"sqlite3SelectWrongNumTermsError": {},
@ -646,6 +664,8 @@ var CAPI = map[string]struct{}{
"sqlite3SetString": {},
"sqlite3SetTextEncoding": {},
"sqlite3ShadowTableName": {},
"sqlite3SmallTypeSizes": {},
"sqlite3SrcItemColumnUsed": {},
"sqlite3SrcListAppend": {},
"sqlite3SrcListAppendFromTerm": {},
"sqlite3SrcListAppendList": {},
@ -666,10 +686,16 @@ var CAPI = map[string]struct{}{
"sqlite3StatusHighwater": {},
"sqlite3StatusUp": {},
"sqlite3StatusValue": {},
"sqlite3StdType": {},
"sqlite3StdTypeAffinity": {},
"sqlite3StdTypeLen": {},
"sqlite3StdTypeMap": {},
"sqlite3StmtCurrentTime": {},
"sqlite3StorageColumnToTable": {},
"sqlite3StrAccumEnlarge": {},
"sqlite3StrAccumFinish": {},
"sqlite3StrAccumInit": {},
"sqlite3StrAccumSetError": {},
"sqlite3StrBINARY": {},
"sqlite3StrICmp": {},
"sqlite3StrIHash": {},
@ -687,6 +713,7 @@ var CAPI = map[string]struct{}{
"sqlite3ThreadJoin": {},
"sqlite3TokenInit": {},
"sqlite3TransferBindings": {},
"sqlite3TreeTrace": {},
"sqlite3TriggerColmask": {},
"sqlite3TriggerDeleteStep": {},
"sqlite3TriggerInsertStep": {},
@ -749,12 +776,10 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeChangeP5": {},
"sqlite3VdbeChangeToNoop": {},
"sqlite3VdbeCheckFk": {},
"sqlite3VdbeClearObject": {},
"sqlite3VdbeCloseStatement": {},
"sqlite3VdbeCountChanges": {},
"sqlite3VdbeCreate": {},
"sqlite3VdbeCurrentAddr": {},
"sqlite3VdbeCursorMoveto": {},
"sqlite3VdbeCursorRestore": {},
"sqlite3VdbeDb": {},
"sqlite3VdbeDelete": {},
@ -776,10 +801,12 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeFrameMemDel": {},
"sqlite3VdbeFrameRestore": {},
"sqlite3VdbeFreeCursor": {},
"sqlite3VdbeFreeCursorNN": {},
"sqlite3VdbeGetBoundValue": {},
"sqlite3VdbeGetOp": {},
"sqlite3VdbeGoto": {},
"sqlite3VdbeHalt": {},
"sqlite3VdbeHandleMovedCursor": {},
"sqlite3VdbeHasSubProgram": {},
"sqlite3VdbeIdxKeyCompare": {},
"sqlite3VdbeIdxRowid": {},
@ -811,6 +838,7 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeMemNumerify": {},
"sqlite3VdbeMemRealify": {},
"sqlite3VdbeMemRelease": {},
"sqlite3VdbeMemReleaseMalloc": {},
"sqlite3VdbeMemSetDouble": {},
"sqlite3VdbeMemSetInt64": {},
"sqlite3VdbeMemSetNull": {},
@ -840,7 +868,6 @@ var CAPI = map[string]struct{}{
"sqlite3VdbeRewind": {},
"sqlite3VdbeRunOnlyOnce": {},
"sqlite3VdbeSerialGet": {},
"sqlite3VdbeSerialPut": {},
"sqlite3VdbeSerialTypeLen": {},
"sqlite3VdbeSetChanges": {},
"sqlite3VdbeSetColName": {},
@ -920,6 +947,7 @@ var CAPI = map[string]struct{}{
"sqlite3WalkWinDefnDummyCallback": {},
"sqlite3WalkerDepthDecrease": {},
"sqlite3WalkerDepthIncrease": {},
"sqlite3WhereAddLimit": {},
"sqlite3WhereBegin": {},
"sqlite3WhereBreakLabel": {},
"sqlite3WhereClauseClear": {},
@ -927,6 +955,7 @@ var CAPI = map[string]struct{}{
"sqlite3WhereCodeOneLoopStart": {},
"sqlite3WhereContinueLabel": {},
"sqlite3WhereEnd": {},
"sqlite3WhereExplainBloomFilter": {},
"sqlite3WhereExplainOneScan": {},
"sqlite3WhereExprAnalyze": {},
"sqlite3WhereExprListUsage": {},
@ -937,10 +966,13 @@ var CAPI = map[string]struct{}{
"sqlite3WhereIsDistinct": {},
"sqlite3WhereIsOrdered": {},
"sqlite3WhereIsSorted": {},
"sqlite3WhereMalloc": {},
"sqlite3WhereMinMaxOptEarlyOut": {},
"sqlite3WhereOkOnePass": {},
"sqlite3WhereOrderByLimitOptLabel": {},
"sqlite3WhereOutputRowCount": {},
"sqlite3WhereRealloc": {},
"sqlite3WhereRightJoinLoop": {},
"sqlite3WhereSplit": {},
"sqlite3WhereTabFuncArgs": {},
"sqlite3WhereTrace": {},
@ -970,6 +1002,7 @@ var CAPI = map[string]struct{}{
"sqlite3_aggregate_context": {},
"sqlite3_aggregate_count": {},
"sqlite3_auto_extension": {},
"sqlite3_autovacuum_pages": {},
"sqlite3_backup_finish": {},
"sqlite3_backup_init": {},
"sqlite3_backup_pagecount": {},
@ -1001,6 +1034,7 @@ var CAPI = map[string]struct{}{
"sqlite3_busy_timeout": {},
"sqlite3_cancel_auto_extension": {},
"sqlite3_changes": {},
"sqlite3_changes64": {},
"sqlite3_clear_bindings": {},
"sqlite3_close": {},
"sqlite3_close_v2": {},
@ -1052,6 +1086,7 @@ var CAPI = map[string]struct{}{
"sqlite3_db_filename": {},
"sqlite3_db_handle": {},
"sqlite3_db_mutex": {},
"sqlite3_db_name": {},
"sqlite3_db_readonly": {},
"sqlite3_db_release_memory": {},
"sqlite3_db_status": {},
@ -1063,6 +1098,7 @@ var CAPI = map[string]struct{}{
"sqlite3_errcode": {},
"sqlite3_errmsg": {},
"sqlite3_errmsg16": {},
"sqlite3_error_offset": {},
"sqlite3_errstr": {},
"sqlite3_exec": {},
"sqlite3_expanded_sql": {},
@ -1201,6 +1237,7 @@ var CAPI = map[string]struct{}{
"sqlite3_thread_cleanup": {},
"sqlite3_threadsafe": {},
"sqlite3_total_changes": {},
"sqlite3_total_changes64": {},
"sqlite3_trace": {},
"sqlite3_trace_v2": {},
"sqlite3_transfer_bindings": {},
@ -1238,8 +1275,13 @@ var CAPI = map[string]struct{}{
"sqlite3_vsnprintf": {},
"sqlite3_vtab_collation": {},
"sqlite3_vtab_config": {},
"sqlite3_vtab_distinct": {},
"sqlite3_vtab_in": {},
"sqlite3_vtab_in_first": {},
"sqlite3_vtab_in_next": {},
"sqlite3_vtab_nochange": {},
"sqlite3_vtab_on_conflict": {},
"sqlite3_vtab_rhs_value": {},
"sqlite3_wal_autocheckpoint": {},
"sqlite3_wal_checkpoint": {},
"sqlite3_wal_checkpoint_v2": {},

View File

@ -6,7 +6,6 @@ package sqlite3
import (
"fmt"
"runtime"
"sync"
"sync/atomic"
"unsafe"
@ -26,14 +25,11 @@ func init() {
panic(fmt.Errorf("cannot allocate memory"))
}
// experimental pthreads support currently only on linux/amd64
if runtime.GOOS != "linux" || runtime.GOARCH != "amd64" {
// int sqlite3_config(int, ...);
if rc := Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(varArgs, uintptr(unsafe.Pointer(&mutexMethods)))); rc != SQLITE_OK {
p := Xsqlite3_errstr(tls, rc)
str := libc.GoString(p)
panic(fmt.Errorf("sqlite: failed to configure mutex methods: %v", str))
}
// int sqlite3_config(int, ...);
if rc := Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(varArgs, uintptr(unsafe.Pointer(&mutexMethods)))); rc != SQLITE_OK {
p := Xsqlite3_errstr(tls, rc)
str := libc.GoString(p)
panic(fmt.Errorf("sqlite: failed to configure mutex methods: %v", str))
}
libc.Xfree(tls, varArgs)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

15
vendor/modernc.org/sqlite/rlimit.go generated vendored
View File

@ -2,9 +2,18 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !freebsd
// +build !freebsd
//go:build freebsd
// +build freebsd
package sqlite // import "modernc.org/sqlite"
func setMaxOpenFiles(n int) error { return nil }
import (
"golang.org/x/sys/unix"
)
func setMaxOpenFiles(n int64) error {
var rLimit unix.Rlimit
rLimit.Max = n
rLimit.Cur = n
return unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimit)
}

View File

@ -1,16 +0,0 @@
// Copyright 2021 The Sqlite Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sqlite // import "modernc.org/sqlite"
import (
"golang.org/x/sys/unix"
)
func setMaxOpenFiles(n int64) error {
var rLimit unix.Rlimit
rLimit.Max = n
rLimit.Cur = n
return unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimit)
}

389
vendor/modernc.org/sqlite/sqlite.go generated vendored
View File

@ -2,8 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:generate go run generator.go
//go:generate go fmt ./...
//go:generate go run generator.go -full-path-comments
package sqlite // import "modernc.org/sqlite"
@ -11,7 +10,6 @@ import (
"context"
"database/sql"
"database/sql/driver"
"errors"
"fmt"
"io"
"math"
@ -337,6 +335,22 @@ func (c *conn) parseTimeString(s0 string, x int) (interface{}, bool) {
return s0, false
}
// writeTimeFormats are the names and formats supported
// by the `_time_format` DSN query param.
var writeTimeFormats = map[string]string{
"sqlite": parseTimeFormats[0],
}
func (c *conn) formatTime(t time.Time) string {
// Before configurable write time formats were supported,
// time.Time.String was used. Maintain that default to
// keep existing driver users formatting times the same.
if c.writeTimeFormat == "" {
return t.String()
}
return t.Format(c.writeTimeFormat)
}
// RowsColumnTypeDatabaseTypeName may be implemented by Rows. It should return
// the database system type name without the length. Type names should be
// uppercase. Examples of returned types: "VARCHAR", "NVARCHAR", "VARCHAR2",
@ -477,20 +491,7 @@ func (s *stmt) exec(ctx context.Context, args []driver.NamedValue) (r driver.Res
var pstmt uintptr
var done int32
if ctx != nil && ctx.Done() != nil {
donech := make(chan struct{})
go func() {
select {
case <-ctx.Done():
atomic.AddInt32(&done, 1)
s.c.interrupt(s.c.db)
case <-donech:
}
}()
defer func() {
close(donech)
}()
defer interruptOnDone(ctx, s.c, &done)()
}
for psql := s.psql; *(*byte)(unsafe.Pointer(psql)) != 0 && atomic.LoadInt32(&done) == 0; {
@ -574,20 +575,7 @@ func (s *stmt) query(ctx context.Context, args []driver.NamedValue) (r driver.Ro
var pstmt uintptr
var done int32
if ctx != nil && ctx.Done() != nil {
donech := make(chan struct{})
go func() {
select {
case <-ctx.Done():
atomic.AddInt32(&done, 1)
s.c.interrupt(s.c.db)
case <-donech:
}
}()
defer func() {
close(donech)
}()
defer interruptOnDone(ctx, s.c, &done)()
}
var allocs []uintptr
@ -671,7 +659,13 @@ type tx struct {
func newTx(c *conn) (*tx, error) {
r := &tx{c: c}
if err := r.exec(context.Background(), "begin"); err != nil {
var sql string
if c.beginMode != "" {
sql = "begin " + c.beginMode
} else {
sql = "begin"
}
if err := r.exec(context.Background(), sql); err != nil {
return nil, err
}
@ -698,19 +692,7 @@ func (t *tx) exec(ctx context.Context, sql string) (err error) {
//TODO use t.conn.ExecContext() instead
if ctx != nil && ctx.Done() != nil {
donech := make(chan struct{})
go func() {
select {
case <-ctx.Done():
t.c.interrupt(t.c.db)
case <-donech:
}
}()
defer func() {
close(donech)
}()
defer interruptOnDone(ctx, t.c, nil)()
}
if rc := sqlite3.Xsqlite3_exec(t.c.tls, t.c.db, psql, 0, 0, 0); rc != sqlite3.SQLITE_OK {
@ -720,6 +702,43 @@ func (t *tx) exec(ctx context.Context, sql string) (err error) {
return nil
}
// interruptOnDone sets up a goroutine to interrupt the provided db when the
// context is canceled, and returns a function the caller must defer so it
// doesn't interrupt after the caller finishes.
func interruptOnDone(
ctx context.Context,
c *conn,
done *int32,
) func() {
if done == nil {
var d int32
done = &d
}
donech := make(chan struct{})
go func() {
select {
case <-ctx.Done():
// don't call interrupt if we were already done: it indicates that this
// call to exec is no longer running and we would be interrupting
// nothing, or even possibly an unrelated later call to exec.
if atomic.AddInt32(done, 1) == 1 {
c.interrupt(c.db)
}
case <-donech:
}
}()
// the caller is expected to defer this function
return func() {
// set the done flag so that a context cancellation right after the caller
// returns doesn't trigger a call to interrupt for some other statement.
atomic.AddInt32(done, 1)
close(donech)
}
}
type conn struct {
db uintptr // *sqlite3.Xsqlite3
tls *libc.TLS
@ -727,6 +746,9 @@ type conn struct {
// Context handling can cause conn.Close and conn.interrupt to be invoked
// concurrently.
sync.Mutex
writeTimeFormat string
beginMode string
}
func newConn(dsn string) (*conn, error) {
@ -760,7 +782,7 @@ func newConn(dsn string) (*conn, error) {
return nil, err
}
if err = applyPragmas(c, query); err != nil {
if err = applyQueryParams(c, query); err != nil {
c.Close()
return nil, err
}
@ -768,11 +790,12 @@ func newConn(dsn string) (*conn, error) {
return c, nil
}
func applyPragmas(c *conn, query string) error {
func applyQueryParams(c *conn, query string) error {
q, err := url.ParseQuery(query)
if err != nil {
return err
}
for _, v := range q["_pragma"] {
cmd := "pragma " + v
_, err := c.exec(context.Background(), cmd, nil)
@ -780,6 +803,24 @@ func applyPragmas(c *conn, query string) error {
return err
}
}
if v := q.Get("_time_format"); v != "" {
f, ok := writeTimeFormats[v]
if !ok {
return fmt.Errorf("unknown _time_format %q", v)
}
c.writeTimeFormat = f
return nil
}
if v := q.Get("_txlock"); v != "" {
lower := strings.ToLower(v)
if lower != "deferred" && lower != "immediate" && lower != "exclusive" {
return fmt.Errorf("unknown _txlock %q", v)
}
c.beginMode = v
}
return nil
}
@ -883,7 +924,7 @@ func (c *conn) step(pstmt uintptr) (int, error) {
return int(rc), nil
default:
return int(rc), errors.New(ErrorCodeString[int(rc)])
return int(rc), c.errstr(rc)
}
}
}
@ -1006,7 +1047,7 @@ func (c *conn) bind(pstmt uintptr, n int, args []driver.NamedValue) (allocs []ui
return allocs, err
}
case time.Time:
if p, err = c.bindText(pstmt, i, x.String()); err != nil {
if p, err = c.bindText(pstmt, i, c.formatTime(x)); err != nil {
return allocs, err
}
case nil:
@ -1049,11 +1090,17 @@ func (c *conn) bindText(pstmt uintptr, idx1 int, value string) (uintptr, error)
// int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
func (c *conn) bindBlob(pstmt uintptr, idx1 int, value []byte) (uintptr, error) {
if value != nil && len(value) == 0 {
if rc := sqlite3.Xsqlite3_bind_zeroblob(c.tls, pstmt, int32(idx1), 0); rc != sqlite3.SQLITE_OK {
return 0, c.errstr(rc)
}
return 0, nil
}
p, err := c.malloc(len(value))
if err != nil {
return 0, err
}
if len(value) != 0 {
copy((*libc.RawMem)(unsafe.Pointer(p))[:len(value):len(value)], value)
}
@ -1225,11 +1272,15 @@ func (c *conn) errstr(rc int32) error {
p := sqlite3.Xsqlite3_errstr(c.tls, rc)
str := libc.GoString(p)
p = sqlite3.Xsqlite3_errmsg(c.tls, c.db)
var s string
if rc == sqlite3.SQLITE_BUSY {
s = " (SQLITE_BUSY)"
}
switch msg := libc.GoString(p); {
case msg == str:
return &Error{msg: fmt.Sprintf("%s (%v)", str, rc), code: int(rc)}
return &Error{msg: fmt.Sprintf("%s (%v)%s", str, rc, s), code: int(rc)}
default:
return &Error{msg: fmt.Sprintf("%s: %s (%v)", str, msg, rc), code: int(rc)}
return &Error{msg: fmt.Sprintf("%s: %s (%v)%s", str, msg, rc, s), code: int(rc)}
}
}
@ -1262,6 +1313,7 @@ func (c *conn) Close() error {
c.db = 0
}
if c.tls != nil {
c.tls.Close()
c.tls = nil
@ -1278,6 +1330,32 @@ func (c *conn) closeV2(db uintptr) error {
return nil
}
type userDefinedFunction struct {
zFuncName uintptr
nArg int32
eTextRep int32
xFunc func(*libc.TLS, uintptr, int32, uintptr)
freeOnce sync.Once
}
func (c *conn) createFunctionInternal(fun *userDefinedFunction) error {
if rc := sqlite3.Xsqlite3_create_function(
c.tls,
c.db,
fun.zFuncName,
fun.nArg,
fun.eTextRep,
0,
*(*uintptr)(unsafe.Pointer(&fun.xFunc)),
0,
0,
); rc != sqlite3.SQLITE_OK {
return c.errstr(rc)
}
return nil
}
// Execer is an optional interface that may be implemented by a Conn.
//
// If a Conn does not implement Execer, the sql package's DB.Exec will first
@ -1343,9 +1421,14 @@ func (c *conn) query(ctx context.Context, query string, args []driver.NamedValue
}
// Driver implements database/sql/driver.Driver.
type Driver struct{}
type Driver struct {
// user defined functions that are added to every new connection on Open
udfs map[string]*userDefinedFunction
}
func newDriver() *Driver { return &Driver{} }
var d = &Driver{udfs: make(map[string]*userDefinedFunction)}
func newDriver() *Driver { return d }
// Open returns a new connection to the database. The name is a string in a
// driver-specific format.
@ -1355,6 +1438,202 @@ func newDriver() *Driver { return &Driver{} }
// efficient re-use.
//
// The returned connection is only used by one goroutine at a time.
//
// If name contains a '?', what follows is treated as a query string. This
// driver supports the following query parameters:
//
// _pragma: Each value will be run as a "PRAGMA ..." statement (with the PRAGMA
// keyword added for you). May be specified more than once. Example:
// "_pragma=foreign_keys(1)" will enable foreign key enforcement. More
// information on supported PRAGMAs is available from the SQLite documentation:
// https://www.sqlite.org/pragma.html
//
// _time_format: The name of a format to use when writing time values to the
// database. Currently the only supported value is "sqlite", which corresponds
// to format 7 from https://www.sqlite.org/lang_datefunc.html#time_values,
// including the timezone specifier. If this parameter is not specified, then
// the default String() format will be used.
//
// _txlock: The locking behavior to use when beginning a transaction. May be
// "deferred", "immediate", or "exclusive" (case insensitive). The default is to
// not specify one, which SQLite maps to "deferred". More information is
// available at
// https://www.sqlite.org/lang_transaction.html#deferred_immediate_and_exclusive_transactions
func (d *Driver) Open(name string) (driver.Conn, error) {
return newConn(name)
c, err := newConn(name)
if err != nil {
return nil, err
}
for _, udf := range d.udfs {
if err = c.createFunctionInternal(udf); err != nil {
c.Close()
return nil, err
}
}
return c, nil
}
// FunctionContext represents the context user defined functions execute in.
// Fields and/or methods of this type may get addedd in the future.
type FunctionContext struct{}
const sqliteValPtrSize = unsafe.Sizeof(&sqlite3.Sqlite3_value{})
// RegisterScalarFunction registers a scalar function named zFuncName with nArg
// arguments. Passing -1 for nArg indicates the function is variadic.
//
// The new function will be available to all new connections opened after
// executing RegisterScalarFunction.
func RegisterScalarFunction(
zFuncName string,
nArg int32,
xFunc func(ctx *FunctionContext, args []driver.Value) (driver.Value, error),
) error {
return registerScalarFunction(zFuncName, nArg, sqlite3.SQLITE_UTF8, xFunc)
}
// MustRegisterScalarFunction is like RegisterScalarFunction but panics on
// error.
func MustRegisterScalarFunction(
zFuncName string,
nArg int32,
xFunc func(ctx *FunctionContext, args []driver.Value) (driver.Value, error),
) {
if err := RegisterScalarFunction(zFuncName, nArg, xFunc); err != nil {
panic(err)
}
}
// MustRegisterDeterministicScalarFunction is like
// RegisterDeterministicScalarFunction but panics on error.
func MustRegisterDeterministicScalarFunction(
zFuncName string,
nArg int32,
xFunc func(ctx *FunctionContext, args []driver.Value) (driver.Value, error),
) {
if err := RegisterDeterministicScalarFunction(zFuncName, nArg, xFunc); err != nil {
panic(err)
}
}
// RegisterDeterministicScalarFunction registers a deterministic scalar
// function named zFuncName with nArg arguments. Passing -1 for nArg indicates
// the function is variadic. A deterministic function means that the function
// always gives the same output when the input parameters are the same.
//
// The new function will be available to all new connections opened after
// executing RegisterDeterministicScalarFunction.
func RegisterDeterministicScalarFunction(
zFuncName string,
nArg int32,
xFunc func(ctx *FunctionContext, args []driver.Value) (driver.Value, error),
) error {
return registerScalarFunction(zFuncName, nArg, sqlite3.SQLITE_UTF8|sqlite3.SQLITE_DETERMINISTIC, xFunc)
}
func registerScalarFunction(
zFuncName string,
nArg int32,
eTextRep int32,
xFunc func(ctx *FunctionContext, args []driver.Value) (driver.Value, error),
) error {
if _, ok := d.udfs[zFuncName]; ok {
return fmt.Errorf("a function named %q is already registered", zFuncName)
}
// dont free, functions registered on the driver live as long as the program
name, err := libc.CString(zFuncName)
if err != nil {
return err
}
udf := &userDefinedFunction{
zFuncName: name,
nArg: nArg,
eTextRep: eTextRep,
xFunc: func(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
setErrorResult := func(res error) {
errmsg, cerr := libc.CString(res.Error())
if cerr != nil {
panic(cerr)
}
defer libc.Xfree(tls, errmsg)
sqlite3.Xsqlite3_result_error(tls, ctx, errmsg, -1)
sqlite3.Xsqlite3_result_error_code(tls, ctx, sqlite3.SQLITE_ERROR)
}
args := make([]driver.Value, argc)
for i := int32(0); i < argc; i++ {
valPtr := *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*sqliteValPtrSize))
switch valType := sqlite3.Xsqlite3_value_type(tls, valPtr); valType {
case sqlite3.SQLITE_TEXT:
args[i] = libc.GoString(sqlite3.Xsqlite3_value_text(tls, valPtr))
case sqlite3.SQLITE_INTEGER:
args[i] = sqlite3.Xsqlite3_value_int64(tls, valPtr)
case sqlite3.SQLITE_FLOAT:
args[i] = sqlite3.Xsqlite3_value_double(tls, valPtr)
case sqlite3.SQLITE_NULL:
args[i] = nil
case sqlite3.SQLITE_BLOB:
size := sqlite3.Xsqlite3_value_bytes(tls, valPtr)
blobPtr := sqlite3.Xsqlite3_value_blob(tls, valPtr)
v := make([]byte, size)
copy(v, (*libc.RawMem)(unsafe.Pointer(blobPtr))[:size:size])
args[i] = v
default:
panic(fmt.Sprintf("unexpected argument type %q passed by sqlite", valType))
}
}
res, err := xFunc(&FunctionContext{}, args)
if err != nil {
setErrorResult(err)
return
}
switch resTyped := res.(type) {
case nil:
sqlite3.Xsqlite3_result_null(tls, ctx)
case int64:
sqlite3.Xsqlite3_result_int64(tls, ctx, resTyped)
case float64:
sqlite3.Xsqlite3_result_double(tls, ctx, resTyped)
case bool:
sqlite3.Xsqlite3_result_int(tls, ctx, libc.Bool32(resTyped))
case time.Time:
sqlite3.Xsqlite3_result_int64(tls, ctx, resTyped.Unix())
case string:
size := int32(len(resTyped))
cstr, err := libc.CString(resTyped)
if err != nil {
panic(err)
}
defer libc.Xfree(tls, cstr)
sqlite3.Xsqlite3_result_text(tls, ctx, cstr, size, sqlite3.SQLITE_TRANSIENT)
case []byte:
size := int32(len(resTyped))
if size == 0 {
sqlite3.Xsqlite3_result_zeroblob(tls, ctx, 0)
return
}
p := libc.Xmalloc(tls, types.Size_t(size))
if p == 0 {
panic(fmt.Sprintf("unable to allocate space for blob: %d", size))
}
defer libc.Xfree(tls, p)
copy((*libc.RawMem)(unsafe.Pointer(p))[:size:size], resTyped)
sqlite3.Xsqlite3_result_blob(tls, ctx, p, size, sqlite3.SQLITE_TRANSIENT)
default:
setErrorResult(fmt.Errorf("function did not return a valid driver.Value: %T", resTyped))
return
}
},
}
d.udfs[zFuncName] = udf
return nil
}

View File

@ -1,4 +1,5 @@
until unconvert -fastmath . &> /dev/null
set -evx
until unconvert -fastmath -all ./...
do
unconvert -fastmath -apply . &> /dev/null
unconvert -fastmath -apply -all ./...
done