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

skeema / skeema / 11240224818
92%

Build:
DEFAULT BRANCH: main
Ran 08 Oct 2024 05:09PM UTC
Jobs 1
Files 76
Run time 3min
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

08 Oct 2024 05:01PM UTC coverage: 93.266% (+0.03%) from 93.234%
11240224818

push

github

evanelias
diff/push: ignore CHECK constraint name changes unless --exact-match

In MySQL, check constraints have a schema-wide namespace. Since online schema
change tools use a "shadow table" matching the new requested table definition,
these tools manipulate the check constraint name in order to avoid a name
collision between the old table and the shadow table. (pt-osc does this
explicitly, similar to how it handles foreign key constraints; meanwhile
gh-ost and spirit do it automatically by virtue of using CREATE TABLE ... LIKE
to create the shadow table, which reverts check constraints to their server-
default naming scheme.)

However, as a side-effect of this CHECK constraint renaming, subsequent calls
to `skeema diff` or `skeema push` could previously result in spurious diffs to
return any named check constraints back to their original names from the *.sql
file definitions.

This commit changes Skeema's table diff logic to ignore check constraint name
changes by default, just like how foreign key constraint name changes are also
already ignored for the same reason. To override this behavior, the existing
option --exact-match can be used if needed.

Note that in MariaDB, check constraints have a per-table namespace instead of
a schema-wide namespace, and CREATE TABLE ... LIKE retains check constraint
names as-is, which means gh-ost won't rename check constraints. However,
gh-ost does not officially support MariaDB anyway. Meanwhile pt-osc still
renames check constraints on MariaDB even though it is not necessary. So the
changes in this commit are applied equally to both MySQL and MariaDB, since
some MariaDB users may be running pt-osc.

54 of 54 new or added lines in 4 files covered. (100.0%)

10027 of 10751 relevant lines covered (93.27%)

1.11 hits per line

Jobs
ID Job ID Ran Files Coverage
1 11240224818.1 08 Oct 2024 05:09PM UTC 0
93.27
GitHub Action Run
Source Files on build 11240224818
Detailed source file information is not available for this build.
  • Back to Repo
  • f0006163 on github
  • Prev Build on main (#11061867043)
  • Next Build on main (#11392760333)
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