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

joaoh82 / rust_sqlite / 26721426700
69%

Build:
DEFAULT BRANCH: main
Ran 31 May 2026 06:57PM UTC
Jobs 1
Files 62
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

31 May 2026 06:53PM UTC coverage: 68.739%. Remained the same
26721426700

push

github

web-flow
SQLR-43 — Go edge/IoT event collector (concurrent writes showcase) (#150)

A Go HTTP collector that buffers telemetry from many concurrent
producers into a local .sqlrite file while a background uploader
goroutine drains it to a pluggable sink — both writing the same
database via BEGIN CONCURRENT (Phase 11 MVCC). The fifth and final
app under the SQLR-38 example-apps umbrella.

What it exercises:
- Go SDK (cgo via sqlrite-ffi) + the process-level sibling-handle
  registry, so the HTTP path and the uploader each hold their own
  BEGIN CONCURRENT transaction against one engine.
- Row-level conflict detection + the canonical retry-on-ErrBusy loop.
- A durable-buffer-for-unreliable-networks shape: survives reboots,
  stays queryable on-device, optional read-only sqlrite-mcp sidecar.

Honest, measured framing: on the v0 engine, BEGIN CONCURRENT is ~0.9x
the throughput of a single mutex and ~2x worse tail latency (global
engine mutex + per-tx table clone + per-commit O(N) B-tree rebuild —
all documented v0 limitations). The win demonstrated here is the
capability + correctness (independent in-process writers, zero dropped
events under load), not raw speed. The README ships all three measured
tables (throughput / latency-under-contention / disjoint-row) and
explains why, with reproduce commands.

Designs around the verified v0 engine sharp edges, each found by
testing: no Go-SDK param binding (inlined+escaped SQL via a single
chokepoint); CREATE TABLE IF NOT EXISTS not honored + sqlrite_master
not queryable (SELECT-probe for fresh-vs-reopen); CREATE INDEX
rejected under MVCC (DDL before the journal_mode switch); the 4 KiB
MVCC commit-record cap (payloads bounded at ingest so any single row
commits, plus an adaptive checkpoint writer that halves the chunk on a
cap error down to one-per-commit); and AUTOINCREMENT collisions under
MVCC (app-assigned ids seeded off MAX(id)).

Includes: backpressure (503) + /healthz + /stats, a load generator
that asserts no drop... (continued)

11190 of 16279 relevant lines covered (68.74%)

1.24 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26721426700.1 31 May 2026 06:57PM UTC 62
68.74
GitHub Action Run
Source Files on build 26721426700
  • Tree
  • List 62
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • aa40fc8b on github
  • Prev Build on main (#26715083418)
  • Next Build on main (#26737133294)
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