Update dependencies

This commit is contained in:
TwinProduction
2021-10-03 22:15:20 -04:00
parent 2d3fe9795f
commit 154bc7dbc6
1204 changed files with 373532 additions and 50576 deletions

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

@ -12,6 +12,7 @@ Dan Peterson <danp@danp.net>
Davsk Ltd Co <skinner.david@gmail.com>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Logan Snow <logansnow@protonmail.com>
Ross Light <ross@zombiezen.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Saed SayedAhmed <saadmtsa@gmail.com>

View File

@ -11,6 +11,7 @@ Dan Peterson <danp@danp.net>
David Skinner <skinner.david@gmail.com>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Logan Snow <logansnow@protonmail.com>
Ross Light <ross@zombiezen.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Yaacov Akiba Slama <ya@slamail.org>

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

@ -37,6 +37,7 @@ all: editor
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 ./...
@ -54,6 +55,10 @@ 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 ./...
@ -143,7 +148,7 @@ edit:
editor:
gofmt -l -s -w *.go
GO111MODULE=off go install -v ./...
go install -v ./...
internalError:
egrep -ho '"internal error.*"' *.go | sort | cat -n

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

@ -7,6 +7,27 @@
// SQLite is an in-process implementation of a self-contained, serverless,
// zero-configuration, transactional SQL database engine.
//
// 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
//
// Builders
//
// Builder results available at
@ -15,6 +36,12 @@
//
// Changelog
//
// 2021-09-07 v1.13.0:
//
// Support freebsd/amd64.
//
// Changelog
//
// 2021-06-23 v1.11.0:
//
// Upgrade to use sqlite 3.36.0, release notes at https://www.sqlite.org/releaselog/3_36_0.html.
@ -119,26 +146,6 @@
//
// ...
//
// Supported platforms and architectures
//
// These combinations of GOOS and GOARCH are currently supported
//
// darwin amd64
// darwin arm64
// 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
//
// Debug and development versions
//
// A comma separated list of options can be passed to `go generate` via the

View File

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build generator
// +build generator
package main
@ -161,6 +162,7 @@ var (
"-DSQLITE_ENABLE_PREUPDATE_HOOK",
"-DSQLITE_ENABLE_RBU",
"-DSQLITE_ENABLE_RTREE",
"-DSQLITE_ENABLE_SESSION",
"-DSQLITE_ENABLE_SNAPSHOT",
"-DSQLITE_ENABLE_STAT4",
"-DSQLITE_ENABLE_UNLOCK_NOTIFY", // Adds sqlite3_unlock_notify().
@ -170,7 +172,6 @@ var (
"-DSQLITE_THREADSAFE=1",
//DONT "-DNDEBUG", // To enable GO_GENERATE=-DSQLITE_DEBUG
//DONT "-DSQLITE_DQS=0", // testfixture
//DONT "-DSQLITE_ENABLE_SESSION", // Needs UTF16
//DONT "-DSQLITE_NO_SYNC=1",
//DONT "-DSQLITE_OMIT_DECLTYPE", // testfixture
//DONT "-DSQLITE_OMIT_DEPRECATED", // mptest
@ -212,6 +213,7 @@ var (
"-DSQLITE_ENABLE_PREUPDATE_HOOK",
"-DSQLITE_ENABLE_RBU",
"-DSQLITE_ENABLE_RTREE",
"-DSQLITE_ENABLE_SESSION",
"-DSQLITE_ENABLE_SNAPSHOT",
"-DSQLITE_ENABLE_STAT4",
"-DSQLITE_ENABLE_STMTVTAB", // testfixture
@ -225,7 +227,6 @@ var (
"-DSQLITE_THREADSAFE=1",
//DONT "-DNDEBUG", // To enable GO_GENERATE=-DSQLITE_DEBUG
//DONT "-DSQLITE_DQS=0", // testfixture
//DONT "-DSQLITE_ENABLE_SESSION", // Needs UTF16
//DONT "-DSQLITE_NO_SYNC=1",
//DONT "-DSQLITE_OMIT_DECLTYPE", // testfixture
//DONT "-DSQLITE_OMIT_DEPRECATED", // mptest
@ -398,7 +399,7 @@ func main() {
configTest = append(configTest, "-DSQLITE_MUTEX_NOOP")
}
switch goos {
case "linux":
case "linux", "freebsd":
configProduction = append(configProduction, "-DSQLITE_OS_UNIX=1")
case "darwin":
configProduction = append(configProduction,
@ -446,7 +447,7 @@ func configure(goos, goarch string) {
cmd.Run()
var args []string
switch goos {
case "linux":
case "linux", "freebsd":
// nop
case "darwin":
args = append(args, "--with-tcl=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework")
@ -520,7 +521,7 @@ func makeTestfixture(goos, goarch string, more []string) {
"ext/misc/wholenumber.c",
"ext/misc/zipfile.c",
"ext/rbu/test_rbu.c",
// "ext/session/test_session.c", // Needs UTF16
"ext/session/test_session.c",
"ext/userauth/userauth.c",
"src/tclsqlite.c",
"src/test1.c",

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_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_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 -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.
package sqlite3
@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1255,4 +1281,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": {},
}

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_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_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 -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.
package sqlite3
@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1255,4 +1281,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": {},
}

1305
vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go generated vendored Normal file

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_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_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 -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.
package sqlite3
@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1255,4 +1281,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": {},
}

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_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_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 -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.
package sqlite3
@ -1243,6 +1243,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1256,4 +1282,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": {},
}

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_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_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 -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.
package sqlite3
@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1255,4 +1281,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": {},
}

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_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_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 -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.
package sqlite3
@ -1242,6 +1242,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1255,4 +1281,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": {},
}

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_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 -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.
package sqlite3
@ -1259,6 +1259,32 @@ var CAPI = map[string]struct{}{
"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": {},
"sqlite3rbu_bp_progress": {},
"sqlite3rbu_close": {},
"sqlite3rbu_create_vfs": {},
@ -1272,6 +1298,27 @@ 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": {},
"timezone": {},
"tzname": {},
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

189969
vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go generated vendored Normal file

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

10
vendor/modernc.org/sqlite/rlimit.go generated vendored Normal file
View File

@ -0,0 +1,10 @@
// 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.
//go:build !freebsd
// +build !freebsd
package sqlite // import "modernc.org/sqlite"
func setMaxOpenFiles(n int) error { return nil }

16
vendor/modernc.org/sqlite/rlimit_freebsd.go generated vendored Normal file
View File

@ -0,0 +1,16 @@
// 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)
}

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

@ -11,12 +11,16 @@ import (
"context"
"database/sql"
"database/sql/driver"
"errors"
"fmt"
"io"
"math"
"net/url"
"reflect"
"strconv"
"strings"
"sync"
"sync/atomic"
"time"
"unsafe"
@ -471,14 +475,14 @@ func toNamedValues(vals []driver.Value) (r []driver.NamedValue) {
func (s *stmt) exec(ctx context.Context, args []driver.NamedValue) (r driver.Result, err error) {
var pstmt uintptr
done := false
var done int32
if ctx != nil && ctx.Done() != nil {
donech := make(chan struct{})
go func() {
select {
case <-ctx.Done():
done = true
atomic.AddInt32(&done, 1)
s.c.interrupt(s.c.db)
case <-donech:
}
@ -489,7 +493,7 @@ func (s *stmt) exec(ctx context.Context, args []driver.NamedValue) (r driver.Res
}()
}
for psql := s.psql; *(*byte)(unsafe.Pointer(psql)) != 0 && !done; {
for psql := s.psql; *(*byte)(unsafe.Pointer(psql)) != 0 && atomic.LoadInt32(&done) == 0; {
if pstmt, err = s.c.prepareV2(&psql); err != nil {
return nil, err
}
@ -568,15 +572,14 @@ func (s *stmt) Query(args []driver.Value) (driver.Rows, error) { //TODO StmtQuer
func (s *stmt) query(ctx context.Context, args []driver.NamedValue) (r driver.Rows, err error) {
var pstmt uintptr
done := false
var done int32
if ctx != nil && ctx.Done() != nil {
donech := make(chan struct{})
go func() {
select {
case <-ctx.Done():
done = true
atomic.AddInt32(&done, 1)
s.c.interrupt(s.c.db)
case <-donech:
}
@ -588,7 +591,7 @@ func (s *stmt) query(ctx context.Context, args []driver.NamedValue) (r driver.Ro
}
var allocs []uintptr
for psql := s.psql; *(*byte)(unsafe.Pointer(psql)) != 0 && !done; {
for psql := s.psql; *(*byte)(unsafe.Pointer(psql)) != 0 && atomic.LoadInt32(&done) == 0; {
if pstmt, err = s.c.prepareV2(&psql); err != nil {
return nil, err
}
@ -720,12 +723,29 @@ func (t *tx) exec(ctx context.Context, sql string) (err error) {
type conn struct {
db uintptr // *sqlite3.Xsqlite3
tls *libc.TLS
// Context handling can cause conn.Close and conn.interrupt to be invoked
// concurrently.
sync.Mutex
}
func newConn(name string) (*conn, error) {
func newConn(dsn string) (*conn, error) {
var query string
// Parse the query parameters from the dsn and them from the dsn if not prefixed by file:
// https://github.com/mattn/go-sqlite3/blob/3392062c729d77820afc1f5cae3427f0de39e954/sqlite3.go#L1046
// https://github.com/mattn/go-sqlite3/blob/3392062c729d77820afc1f5cae3427f0de39e954/sqlite3.go#L1383
pos := strings.IndexRune(dsn, '?')
if pos >= 1 {
query = dsn[pos+1:]
if !strings.HasPrefix(dsn, "file:") {
dsn = dsn[:pos]
}
}
c := &conn{tls: libc.NewTLS()}
db, err := c.openV2(
name,
dsn,
sqlite3.SQLITE_OPEN_READWRITE|sqlite3.SQLITE_OPEN_CREATE|
sqlite3.SQLITE_OPEN_FULLMUTEX|
sqlite3.SQLITE_OPEN_URI,
@ -740,9 +760,29 @@ func newConn(name string) (*conn, error) {
return nil, err
}
if err = applyPragmas(c, query); err != nil {
c.Close()
return nil, err
}
return c, nil
}
func applyPragmas(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)
if err != nil {
return err
}
}
return nil
}
// const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);
func (c *conn) columnBlob(pstmt uintptr, iCol int) (v []byte, err error) {
p := sqlite3.Xsqlite3_column_blob(c.tls, pstmt, int32(iCol))
@ -833,12 +873,17 @@ func (c *conn) changes() (int, error) {
func (c *conn) step(pstmt uintptr) (int, error) {
for {
switch rc := sqlite3.Xsqlite3_step(c.tls, pstmt); rc {
case sqliteLockedSharedcache, sqlite3.SQLITE_BUSY:
case sqliteLockedSharedcache:
if err := c.retry(pstmt); err != nil {
return sqlite3.SQLITE_LOCKED, err
}
default:
case
sqlite3.SQLITE_DONE,
sqlite3.SQLITE_ROW:
return int(rc), nil
default:
return int(rc), errors.New(ErrorCodeString[int(rc)])
}
}
}
@ -1096,7 +1141,7 @@ func (c *conn) prepareV2(zSQL *uintptr) (pstmt uintptr, err error) {
case sqlite3.SQLITE_OK:
*zSQL = *(*uintptr)(unsafe.Pointer(pptail))
return *(*uintptr)(unsafe.Pointer(ppstmt)), nil
case sqliteLockedSharedcache, sqlite3.SQLITE_BUSY:
case sqliteLockedSharedcache:
if err := c.retry(0); err != nil {
return 0, err
}
@ -1108,7 +1153,13 @@ func (c *conn) prepareV2(zSQL *uintptr) (pstmt uintptr, err error) {
// void sqlite3_interrupt(sqlite3*);
func (c *conn) interrupt(pdb uintptr) (err error) {
sqlite3.Xsqlite3_interrupt(c.tls, pdb)
c.Lock() // Defend against race with .Close invoked by context handling.
defer c.Unlock()
if c.tls != nil {
sqlite3.Xsqlite3_interrupt(c.tls, pdb)
}
return nil
}
@ -1200,6 +1251,10 @@ func (c *conn) begin(ctx context.Context, opts driver.TxOptions) (t driver.Tx, e
// Close when there's a surplus of idle connections, it shouldn't be necessary
// for drivers to do their own connection caching.
func (c *conn) Close() error {
c.Lock() // Defend against race with .interrupt invoked by context handling.
defer c.Unlock()
if c.db != 0 {
if err := c.closeV2(c.db); err != nil {
return err

View File

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build go1.8
// +build go1.8
package sqlite // import "modernc.org/sqlite"