About sluice
sluice is an open-source database migration and continuous-sync (CDC) tool covering MySQL and Postgres in all four directions.
Open-source MySQL <-> Postgres database migration and continuous-sync (CDC) tool
sluice is an open-source database migration and continuous-sync (CDC) tool covering MySQL and Postgres in all four directions.
A one-line fix for a diagnostic regression v0.137.0 introduced. If you run MySQL sync behind Vitess or PlanetScale, ProxySQL, or a tracing-instrumented client, a SLUICE-E-CDC-STATEMENT-DML refusal from v0.137.0 may have quoted your SQL comment instead of your statement — naming neither the verb nor the table. Values were never at risk. Plus the correction of a compatibility claim v0.137.0 over-stated. Drop-in from v0.137.0.
Fixed
A comment-prefixed statement keeps its diagnostic in the STATEMENT-DML refusal. v0.137.0 taught the refusal's redaction to skip a leading SQL comment, and moved the *end* of the quoted fragment without moving its *start* — so the comment was still echoed, and a long one crowded out everything worth reading. An sqlcommenter or traceparent prefix runs to about 110 bytes against an 80-byte cap, so the entire quoted fragment could be comment text with no verb and no table:exactly the diagnostic loss v0.137.0 set out to fix, one step further along.
Short comments still showed a verb, which is why v0.137.0's own tests passed it — "the verb survives" and "the comment is echoed" are both true for a short comment, so a test asserting only the first cannot tell them apart. The test now asserts the comment text is *absent* too, and exercises a real sqlcommenter prefix rather than a short contrived one.
Values were never at risk through that defect, in either version. The comment skip only ever moved the cut earlier, never later, so no literal could reach the refusal through it. What was lost was the ability to tell which statement tripped it.
A /*! versioned comment carrying a quote no longer leaks a value fragment. Separately, and found while reviewing the above:MySQL lexes a /*! … */ *executable* comment's contents as SQL, so a */ inside a string literal does not terminate it — unlike a plain /* … */, where MySQL is quote-blind exactly as sluice's scan is. A versioned comment carrying */ inside a quoted value therefore stopped the scan mid-value, and the remainder of that value was echoed into a refusal whose own text promises values are withheld. Ground-truthed against real MySQL 8.0.46. Such a comment is now not trusted as a comment at all: the refusal falls back to quoting nothing, which costs a diagnostic and never a value. Quote-free versioned comments — what mysqldump and Vitess actually emit — are unaffected.
…
| Publisher | sluicesync |
|---|---|
| Version | 0.137.1 |
| Release date | 2026-09-01 |
| License | Apache-2.0 |
| Installer type | zip |
| Architecture | arm64, x64 |
| Package ID | sluicesync.sluice |
winget install --id=sluicesync.sluice -ewinget upgrade --id=sluicesync.sluice -ewinget uninstall --id=sluicesync.sluice -eYes. sluice is free and open-source software released under the Apache-2.0 license.
The latest version is 0.137.1, released on Sep 1, 2026.
The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 03dd91aa1defd4a1ceb3c06cde8605fb1e4b484b06a9059ae7d11155c131aba0.
sluice runs on Windows and is available for ARM64, 64-bit (x64) systems.
Open Settings › Apps › Installed apps, find sluice and select Uninstall. From the command line, run winget uninstall --id=sluicesync.sluice -e.