Skip to content

Bump modernc.org/sqlite to 1.55.0 (SQLite 3.53.3) - #188

Open
davidpavlovschi wants to merge 5 commits into
masterfrom
deps/modernc-sqlite-current
Open

Bump modernc.org/sqlite to 1.55.0 (SQLite 3.53.3)#188
davidpavlovschi wants to merge 5 commits into
masterfrom
deps/modernc-sqlite-current

Conversation

@davidpavlovschi

Copy link
Copy Markdown
Collaborator

Bumps modernc.org/sqlite from 1.31.0 to 1.55.0, plus libc, mathutil, memory, x/sys, pprof and go-strftime to match. The embedded SQLite engine goes from 3.46.0 to 3.53.3.

The go directive moves from 1.20 to 1.25.0. I did not choose that: modernc.org/sqlite 1.55.0 declares go 1.25.0, so go get raised it. The CI matrix was 1.19/1.20/1.21, none of which can build the module now, so I set it to 1.25 and 1.26 and bumped the badge workflow off 1.21 for the same reason.

Two things needed fixing.

First, a real bug. bindBlob handed malloc(0) straight to sqlite3_bind_blob for a nil []byte and relied on that returning NULL to get SQL NULL. libc now returns a unique pointer for malloc(0), so a nil slice started binding an empty blob and TestIssue100 failed. I made the nil case call sqlite3_bind_null explicitly, which is what upstream modernc already does. Note this was only ever correct on darwin: on linux the musl allocator already returned a non-NULL pointer for size 0, so the bug was live there before this bump.

Second, the test file stopped compiling. sqlite3.MutexCounters and sqlite3.MutexEnterCallers were removed upstream. I dropped the same lines from the same function that upstream dropped them from. No benchmark behavior changes.

Test counts, go test -v ./... on darwin/arm64: 42 pass and 1 fail before, 42 pass and 1 fail after. The one failure is TestConcurrentProcesses, which is already red on master. It builds modernc.org/sqlite/internal/mptest, and that package is not importable from outside modernc's own module. I left it alone. go test -race ./... is clean apart from that same failure.

@davidpavlovschi

Copy link
Copy Markdown
Collaborator Author

@glebarez same review window as glebarez/sqlite#153: open until Aug 3, then I merge and tag unless you object. This one moves the embedded engine from SQLite 3.46.0 to 3.53.3 and fixes a nil-blob binding bug that was already live on linux.

@davidpavlovschi

Copy link
Copy Markdown
Collaborator Author

Pushed one more commit: TestConcurrentProcesses is now skipped with the reason in the code. It builds modernc.org/sqlite/internal/mptest, which is not importable from outside modernc's module, so it has been red since the fork was cut and can never pass here. With the skip this branch should give the repo its first fully green run on the new matrix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant