Repository navigation
refactor(dbkit/sqlite): wait for a lock through modernc.org/sqlite v1.61.0's busy handler - #108
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 41 minutes. View limit details
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
[Medium impact] No outstanding findings block merging the reviewed changes.
|
There was a problem hiding this comment.
Gates Passed
4 Quality Gates Passed
See analysis details in CodeScene
Quality Gate Profile: Clean Code Collective
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
Closes #107
What
modernc.org/sqlitev1.61.0 andmodernc.org/libcv1.79.0.LibcVersionis v1.79.0.BusyTimeoutafterPRAGMA optimize, as 0.1.0 did.PRAGMA busy_timeoutreadsBusyTimeoutagain.sql.Conn.Rawhands out the driver's own connection again.BeginTxerror after its context ends now matches only the context error. It still matchesdbkit.ErrBusywhen opening its connection answered busy.BusyTimeout, not with the query's context.BusyPollnow only paces opening a connection.Why
modernc.org/sqlitev1.61.0 now ends a busy wait with the call's context by itself. dbkit no longer needs its own handler, or the private field read that any driver release could break. dbkit/sqlite 0.2.0 already misbehaves on v1.61.0:sqlitetest.CheckLibcfails, and theBeginTxerror changes from run to run. So a downstream application that pulls v1.61.0 through another dependency breaks today.Testing Instructions
Run the testing toolchain in
dbkit/sqlite.Summary by CodeRabbit
Bug Fixes
sql.Conn.Rawnow provides access to the underlying driver connection as expected.Documentation