• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

joaoh82 / rust_sqlite / 25655926923
69%

Build:
DEFAULT BRANCH: main
Ran 11 May 2026 07:21AM UTC
Jobs 1
Files 60
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 May 2026 07:16AM UTC coverage: 68.239% (-0.09%) from 68.331%
25655926923

push

github

web-flow
feat(sdk): Phase 11.8 multi-handle SDK shape (SQLR-22) (#129)

Closes the end-to-end gap from 11.7. The retry-error machinery
(BusyError / errorKind / ErrBusy) was reachable through every
SDK after 11.7 — but each `sqlrite.connect()` / `new Database()`
/ `sql.Open()` built an *isolated* backing DB, so the retry
idioms were untriggerable. This slice exposes the engine's
`Connection::connect()` through the public SDK surfaces so apps
can finally mint sibling handles that share state.

Picked ahead of plan-doc 11.5 (durability) for the same reason
11.5–11.7 jumped the queue: visible user value first. After
this PR, the canonical `BEGIN CONCURRENT` retry loop pattern
works end-to-end through Python and Node.

C FFI ([`sqlrite-ffi/src/lib.rs`]):
- new `sqlrite_connect_sibling(existing, out)` function. Thin
  wrapper around the engine's `Connection::connect`. Sibling has
  its own pointer + lifecycle but shares Database state.
- header regenerated via build.rs.
- 2 new tests: connect_sibling_mints_a_handle_that_shares_state
  (real cross-handle BEGIN CONCURRENT conflict through the public
  API) and connect_sibling_rejects_null_inputs.

Python SDK ([`sdk/python/src/lib.rs`]):
- new `Connection.connect()` instance method. Acquires the
  inner Mutex<RustConnection>, calls `inner.connect()`, wraps
  result in a fresh pyclass with its own Mutex. Inherits the
  parent's ask_config.
- 4 new tests: sibling sharing, outliving closed parent, raise on
  closed connect, and the headline busy-round-trip-via-siblings.

Node.js SDK ([`sdk/nodejs/src/lib.rs`]):
- new `Database.connect()` method on the napi-rs class. Same
  shape — sibling Database with its own RefCell + ask_config clone.
- 4 new tests including the cross-sibling BusyError round trip
  using 11.7's errorKind classifier.

Go SDK: deliberately skipped. database/sql's pool model already
gives sibling-like behavior across `db.Conn(ctx)` calls within a
single `sql.Open`, but exposing a *cross-pool* sibling shap... (continued)

0 of 21 new or added lines in 2 files covered. (0.0%)

10577 of 15500 relevant lines covered (68.24%)

1.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
12
0.0
0.0% sdk/python/src/lib.rs
9
0.0
0.0% sdk/nodejs/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 25655926923.1 11 May 2026 07:21AM UTC 60
68.24
GitHub Action Run
Source Files on build 25655926923
  • Tree
  • List 60
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • e84801e7 on github
  • Prev Build on main (#25655045701)
  • Next Build on main (#25661129376)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc