diff --git a/.github/workflows/cross.yml b/.github/workflows/cross.yml index af78918..682a69f 100644 --- a/.github/workflows/cross.yml +++ b/.github/workflows/cross.yml @@ -13,4 +13,4 @@ jobs: with: { go-version: stable } - name: Build - run: .github/workflows/cross.sh + run: .github/workflows/cross.sh \ No newline at end of file diff --git a/.github/workflows/repro.sh b/.github/workflows/repro.sh index 94477ba..b2b32cb 100755 --- a/.github/workflows/repro.sh +++ b/.github/workflows/repro.sh @@ -31,4 +31,4 @@ util/vtabutil/parse/download.sh util/vtabutil/parse/build.sh # Check diffs -git diff --exit-code \ No newline at end of file +git diff --exit-code \ No newline at end of file diff --git a/embed/README.md b/embed/README.md index 1ddb985..fc56933 100644 --- a/embed/README.md +++ b/embed/README.md @@ -1,6 +1,6 @@ # Embeddable Wasm build of SQLite -This folder includes an embeddable Wasm build of SQLite 3.46.0 for use with +This folder includes an embeddable Wasm build of SQLite 3.46.1 for use with [`github.com/ncruces/go-sqlite3`](https://pkg.go.dev/github.com/ncruces/go-sqlite3). The following optional features are compiled in: diff --git a/embed/bcw2/README.md b/embed/bcw2/README.md index f8b3167..df9b2a7 100644 --- a/embed/bcw2/README.md +++ b/embed/bcw2/README.md @@ -1,6 +1,6 @@ # Embeddable Wasm build of SQLite -This folder includes an embeddable Wasm build of SQLite 3.46.0, including the experimental +This folder includes an embeddable Wasm build of SQLite 3.46.1, including the experimental [`BEGIN CONCURRENT`](https://sqlite.org/src/doc/begin-concurrent/doc/begin_concurrent.md) and [Wal2](https://www.sqlite.org/cgi/src/doc/wal2/doc/wal2.md) patches. diff --git a/embed/bcw2/bcw2.wasm b/embed/bcw2/bcw2.wasm index 914f1a1..4d4439c 100755 Binary files a/embed/bcw2/bcw2.wasm and b/embed/bcw2/bcw2.wasm differ diff --git a/embed/bcw2/bcw2_test.go b/embed/bcw2/bcw2_test.go index 1c77222..89c86c7 100644 --- a/embed/bcw2/bcw2_test.go +++ b/embed/bcw2/bcw2_test.go @@ -1,11 +1,10 @@ -package bcw2_test +package bcw2 import ( "path/filepath" "testing" "github.com/ncruces/go-sqlite3/driver" - _ "github.com/ncruces/go-sqlite3/embed/bcw2" "github.com/ncruces/go-sqlite3/vfs" ) @@ -37,4 +36,13 @@ func Test_bcw2(t *testing.T) { if err != nil { t.Fatal(err) } + + var version string + err = db.QueryRow(`SELECT sqlite_version()`).Scan(&version) + if err != nil { + t.Fatal(err) + } + if version != "3.46.1" { + t.Error(version) + } } diff --git a/embed/init_test.go b/embed/init_test.go new file mode 100644 index 0000000..b7ecaa4 --- /dev/null +++ b/embed/init_test.go @@ -0,0 +1,25 @@ +package embed + +import ( + "testing" + + "github.com/ncruces/go-sqlite3/driver" + _ "github.com/ncruces/go-sqlite3/vfs/memdb" +) + +func Test_init(t *testing.T) { + db, err := driver.Open("file:/test.db?vfs=memdb") + if err != nil { + t.Fatal(err) + } + defer db.Close() + + var version string + err = db.QueryRow(`SELECT sqlite_version()`).Scan(&version) + if err != nil { + t.Fatal(err) + } + if version != "3.46.1" { + t.Error(version) + } +} diff --git a/embed/sqlite3.wasm b/embed/sqlite3.wasm index fba2049..5f4b64a 100755 Binary files a/embed/sqlite3.wasm and b/embed/sqlite3.wasm differ diff --git a/sqlite3/column.c b/sqlite3/column.c index b8fceda..c876f07 100644 --- a/sqlite3/column.c +++ b/sqlite3/column.c @@ -48,4 +48,4 @@ static_assert(offsetof(union sqlite3_data, i) == 0, "Unexpected offset"); static_assert(offsetof(union sqlite3_data, d) == 0, "Unexpected offset"); static_assert(offsetof(union sqlite3_data, ptr) == 0, "Unexpected offset"); static_assert(offsetof(union sqlite3_data, len) == 4, "Unexpected offset"); -static_assert(sizeof(union sqlite3_data) == 8, "Unexpected size"); +static_assert(sizeof(union sqlite3_data) == 8, "Unexpected size"); \ No newline at end of file diff --git a/sqlite3/download.sh b/sqlite3/download.sh index 1c2e35c..3acadb7 100755 --- a/sqlite3/download.sh +++ b/sqlite3/download.sh @@ -3,7 +3,7 @@ set -euo pipefail cd -P -- "$(dirname -- "$0")" -curl -#OL "https://sqlite.org/2024/sqlite-amalgamation-3460000.zip" +curl -#OL "https://sqlite.org/2024/sqlite-amalgamation-3460100.zip" unzip -d . sqlite-amalgamation-*.zip mv sqlite-amalgamation-*/sqlite3* . rm -rf sqlite-amalgamation-* @@ -12,24 +12,24 @@ cat *.patch | patch --no-backup-if-mismatch mkdir -p ext/ cd ext/ -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/anycollseq.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/base64.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/decimal.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/ieee754.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/regexp.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/series.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/ext/misc/uint.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/anycollseq.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/base64.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/decimal.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/ieee754.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/regexp.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/series.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/ext/misc/uint.c" cd ~- cd ../vfs/tests/mptest/testdata/ -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/mptest/mptest.c" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/mptest/config01.test" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/mptest/config02.test" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/mptest/crash01.test" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/mptest/crash02.subtest" -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/mptest/multiwrite01.test" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/mptest/mptest.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/mptest/config01.test" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/mptest/config02.test" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/mptest/crash01.test" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/mptest/crash02.subtest" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/mptest/multiwrite01.test" cd ~- cd ../vfs/tests/speedtest1/testdata/ -curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.0/test/speedtest1.c" +curl -#OL "https://github.com/sqlite/sqlite/raw/version-3.46.1/test/speedtest1.c" cd ~- \ No newline at end of file diff --git a/vfs/tests/mptest/testdata/mptest.wasm.bz2 b/vfs/tests/mptest/testdata/mptest.wasm.bz2 index f5aeb80..ed2538c 100644 --- a/vfs/tests/mptest/testdata/mptest.wasm.bz2 +++ b/vfs/tests/mptest/testdata/mptest.wasm.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8d77ab19944f6f5193b63bc4876936e3442c8e4176d70acc429eb3a3f33cc47 -size 475768 +oid sha256:4d58c92d45fb60dc2eea461b0e7c1d512cb1dd00deafdfaab3e24b943f714f69 +size 475960 diff --git a/vfs/tests/speedtest1/testdata/speedtest1.wasm.bz2 b/vfs/tests/speedtest1/testdata/speedtest1.wasm.bz2 index 263179d..210d099 100644 --- a/vfs/tests/speedtest1/testdata/speedtest1.wasm.bz2 +++ b/vfs/tests/speedtest1/testdata/speedtest1.wasm.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7f57ff476182b6ab760bf46271b9a8c92816edd05dfe153c5d744d3939344b4 -size 488408 +oid sha256:90eb053e2a17bd73d8fb17f82c60e595b71018a7880c7b04d7f4b6aae187f5a5 +size 489132