Loading
Commits on Source 4
-
cznic authored
Limit type-switched on the driver's own *conn, so a driver.Connector that wraps the connections NewConnector opens, as its documentation suggests, could not use it: "unexpected driverConn type". Limit now unwraps the value Conn.Raw hands it for as long as it implements interface{ Unwrap() driver.Conn }, the convention wrappers in the wild use since Go declined one in the standard library; a wrapper without the method fails as before, with the same text. It was the only helper in the package to type-switch on the concrete connection. The NewConnector documentation now also lists the optional interfaces a wrapper must forward, since one that only embeds driver.Conn hides them and database/sql then falls back to the context-free methods. Verified: go test -run 'TestLimit|TestConnector', go vet -unsafeptr=false, staticcheck and golint add no findings. Reported in https://github.com/modernc-org/sqlite/issues/11. Co-Authored-By:Claude Fable 5.1 <noreply@anthropic.com>
-
cznic authored
Re-vendor lib/ from modernc.org/libsqlite3 v1.16.0 and vec/ from modernc.org/libsqlite_vec v0.8.0, both generated with ccgo/v4 v4.38.1 against libc v1.80.1, which go.mod now pins. SQLite stays 3.54.1 and sqlite-vec v0.1.9. lib/ now also carries the modernc_fdatasync() switch. illumos/amd64 joins the vendor tool's target lists, make build_all_targets, builder.json's test set, doc.go's platform table and the GOOS build lines of rulimit.go, vec_test.go and vec/patches.go. vfs/vfs_illumos_amd64.go is a native transpile of vfs/c/vfs.c, made on the OmniOS builder per vfs/Makefile's editor recipe against the SQLite 3.54.1 headers. ccgo/v4 v4.38.1 prefixes struct fields with F by default, but vfs/patches.go uses the unprefixed names, so the recipe now passes --prefix-field "" (an empty value given as "--prefix-field=" is rejected). vfs/c/vfs.c: sqlite3_fsFS allocated the VFS with sqlite3_malloc, but vfs/patches.go frees it with libc.Xfree. Every earlier transpile had been adjusted to libc.Xmalloc by hand, so the faithful illumos one crashed in FS.Close (TestVFS). The C source now calls malloc, matching both. make sbom for the dependency change. CLAUDE.md and IRP.md count 21 targets. CHANGELOG: the open section becomes v1.62.0. Updates #210 Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>
-
cznic authored
Fdatasync(on) selects which system call the library commits with, through modernc_fdatasync() in the transpiled library; FdatasyncEnabled reports the setting; ErrFdatasyncUnavailable covers macOS and Windows, where the library never calls fdatasync. Off by default, so nothing changes without opting in. Updates https://github.com/modernc-org/sqlite/issues/10. lib/ carries modernc_fdatasync() since the previous commit re-vendored it from modernc.org/libsqlite3 v1.16.0; the switch is honored on illumos too. Co-Authored-By:
Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LSAmjiAYJDMEs8WahbpBmN Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>
-
cznic authored
The section header carries the release date. Co-Authored-By:Claude Opus 5.5 <noreply@anthropic.com>