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

skeema / skeema / 17991626755
92%

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2025 10:47PM 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

24 Sep 2025 10:42PM UTC coverage: 92.889% (-0.08%) from 92.969%
17991626755

push

github

evanelias
performance: improve connection reuse; refactor introspection

This commit reduces the number of discrete connection pools used by Skeema,
improving connection reuse, which is helpful for performance when nontrivial
network latency is present. Among the changes here:

* When `skeema push` executes DDL on the target database, the same connection
  is now used for more situations. Previously, different pools were used
  because query read timeouts were only ignored for certain DDL types and
  object types.

* When any command introspects multiple schemas on a database, the same
  connection pool is now reused. Previously, a separate pool (which selected
  the introspected schema as default database) was used for each. Instead,
  introspection SHOW queries now use schema name qualifiers before object
  names when appropriate.

* During integration testing, introspection connection pools are now fully
  maintained across multiple command handler invocations, and even across
  different tests. This improves test execution speed, while also massively
  cutting down on the TIME_WAIT pileup. This change was particularly essential
  for running multi-flavor integration tests on a fast machine, which
  previously could result in exhaustion of ephemeral ports if tests executed
  too quickly.

* Several additional code paths now reuse a connection pool with no default
  database selected; this is achieved by prefixing object names with the
  schema name.

* Schema introspection logic has been refactored substantially. This is mostly
  just an organizational change; future refactors are still needed to remove
  use of sqlx Select (struct-scanning) and reduce regex usage in fixup logic.

* During schema introspection, querying information_schema.views is now
  skipped if the earlier query to information_schema.tables already indicated
  that no views were present in the schema. (Skeema Premium only, but in the
  future this same mechanism will be useful for MariaDB... (continued)

326 of 361 new or added lines in 6 files covered. (90.3%)

22 existing lines in 3 files now uncovered.

10816 of 11644 relevant lines covered (92.89%)

1.11 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
86.98
-1.15% internal/tengo/instance.go
1
88.32
-0.3% internal/workspace/workspace.go
8
93.73
-0.32% internal/tengo/routine.go
12
93.01
0.31% internal/tengo/table_introspect.go
13
88.7
internal/tengo/introspector.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
93.73
-0.32% internal/tengo/routine.go
7
93.01
0.31% internal/tengo/table_introspect.go
13
86.98
-1.15% internal/tengo/instance.go
Jobs
ID Job ID Ran Files Coverage
1 17991626755.1 24 Sep 2025 10:47PM UTC 81
92.89
GitHub Action Run
Source Files on build 17991626755
  • Tree
  • List 81
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 49b79d1a on github
  • Prev Build on main (#17446769165)
  • Next Build on main (#18109448156)
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