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

skeema / skeema / 20321764706
93%
main: 92%

Build:
Build:
LAST BUILD BRANCH: remove-sqlx-callsites
DEFAULT BRANCH: main
Ran 18 Dec 2025 12:34AM UTC
Jobs 1
Files 81
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

18 Dec 2025 12:26AM UTC coverage: 92.627% (-0.3%) from 92.898%
20321764706

push

github

evanelias
internal: move more queries away from sqlx struct/slice scanning

This commit refactors a number of Skeema's query code paths to use traditional
Go database/sql (standard library) row scanning, instead of sqlx (external
third-party dependency) methods for scanning directly into a struct or slice.

Although sqlx reduces boilerplate in some cases (especially SHOW commands), it
frequently doesn't help much for many of Skeema's information_schema queries,
which required using special-purpose intermediate structs to handle edge cases
such as NULL values or differences between DB server flavors/versions.

A total of 13 call sites have been converted in this commit. The remaining 4
call sites will be refactored in a subsequent commit in the near future,
followed by one more commit to remove the sqlx dependency.

Two additional minor changes were made in the course of this refactor:

* If two goroutines attempt to simultaneously run the SHOW GRANTS code path on
  the same server, these are now coalesced into a single query.

* We now assume all MySQL 8.0 servers support column default value
  expressions. Technically this isn't true for the first two GA releases from
  mid 2018, MySQL 8.0.11 and 8.0.12. But given 8.0 is reaching Oracle's EOL
  in four months, we can reasonably assume there is no real-world use of such
  early 8.0 point-releases anymore. (Skeema will continue to support 8.0 for
  many years, but we will no longer ensure compatibility with extremely
  ancient point releases.)

217 of 258 new or added lines in 3 files covered. (84.11%)

5 existing lines in 3 files now uncovered.

10854 of 11718 relevant lines covered (92.63%)

1.11 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
8
92.04
-1.7% internal/tengo/routine.go
9
92.2
-0.81% internal/tengo/table_introspect.go
24
84.62
-2.12% internal/tengo/instance.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
84.62
-2.12% internal/tengo/instance.go
1
92.04
-1.7% internal/tengo/routine.go
3
92.2
-0.81% internal/tengo/table_introspect.go
Jobs
ID Job ID Ran Files Coverage
1 20321764706.1 18 Dec 2025 12:34AM UTC 81
92.63
GitHub Action Run
Source Files on build 20321764706
  • Tree
  • List 81
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 32770765 on github
  • Prev Build on main (#19977663011)
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