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

block / mysql / 34064854076
85%
master: 85%

Build:
Build:
LAST BUILD BRANCH: codex/readme-fork-table
DEFAULT BRANCH: master
Ran 06 Sep 2026 10:45PM UTC
Jobs 5
Files 21
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

06 Sep 2026 10:43PM UTC coverage: 84.767% (+0.08%) from 84.688%
34064854076

push

github

morgo
readonly: test the exemption lifecycle, log the discarded error

Three fixes from review.

The exemption flag had no test driving it. TestReadOnlyTxIsExempt proved
handleErrorPacket reads it, but set the field itself, so three mutations
survived the full suite: begin setting it unconditionally, and either of
Commit or Rollback failing to clear it. The first is the worst — every
transaction exempt means any connection that has ever run a BeginTx stops
rejecting read-only errors for the rest of its life in the pool, the feature
silently off. TestReadOnlyTxLifecycle drives begin/Commit/Rollback against a
mock server and kills all three.

ResetSession now clears the flag too. Every sql.Tx ends in Commit or Rollback
so this should be unreachable, but the stuck direction is the unsafe one and
a pooled connection's assumptions belong there.

The server's error was discarded with nothing logged. For the failover this
is written for that is fine — database/sql retries and the caller sees
nothing. For a target that stays read-only it is not: the retry budget burns,
the caller gets a bare driver.ErrBadConn, and the one string that named the
problem was assembled nowhere. Log it before closing.

README: name the 1290s that are not failover (secure_file_priv,
super_read_only, innodb_read_only, --skip-grant-tables), and say plainly what
a deliberately read-only deployment should do now that the option is gone.

16 of 16 new or added lines in 2 files covered. (100.0%)

127 existing lines in 4 files now uncovered.

3617 of 4267 relevant lines covered (84.77%)

328348.85 hits per line

Coverage Regressions

Lines Coverage ∆ File
74
87.15
0.0% packets.go
49
85.92
0.06% dsn.go
2
79.56
-1.73% compress.go
2
78.96
0.0% connection.go
Jobs
ID Job ID Ran Files Coverage
1 Linux-Go-1.26-DB-9.7 - 34064854076.1 06 Sep 2026 10:45PM UTC 21
82.98
GitHub Action Run
2 Linux-Go-1.27-DB-9.7 - 34064854076.2 06 Sep 2026 10:45PM UTC 21
81.85
GitHub Action Run
3 Linux-Go-1.27-DB-8.0 - 34064854076.3 06 Sep 2026 10:45PM UTC 21
81.88
GitHub Action Run
4 Linux-Go-1.27-DB-8.4 - 34064854076.4 06 Sep 2026 10:45PM UTC 21
81.77
GitHub Action Run
5 Linux-Go-1.25-DB-9.7 - 34064854076.5 06 Sep 2026 10:45PM UTC 21
83.08
GitHub Action Run
Source Files on build 34064854076
  • Tree
  • List 21
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • adddf85e on github
  • Prev Build on feat/always-reject-read-only (#34064724971)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc