I contribute SQL engine enhancements to Apache ShardingSphere and build RouteContract, a Java library for catching execution regressions in CI.
11 merged upstream PRs · RouteContract on Maven Central
한국어
6 runtime code improvements, plus CI, regression tests, and documentation.
Index naming — compatibility enhancement · #38449
Scope: 36 changed files, covering implementation and tests across DDL rewriting, metadata refresh, and pipeline paths.
Result: 85 → 63 UTF-8 bytes in a PostgreSQL regression fixture, meeting the database identifier limit. Preserved legacy physical names when safe and enabled logical-name recovery.
HASH_MOD — new opt-in routing feature · #38327
3 numeric types: Integer, Long, and BigInteger. Added consistent routing for equal values in the signed 32-bit integer range, while keeping legacy routing as the default for upgrades.
Window aggregates — SQL correctness fix · #38659
2 SQL dialects · 1 incorrect NULL row → 0 rows. Preserved PostgreSQL/openGauss window semantics through parser and binder paths to restore correct empty-input results.
Also: correlated-query planner fix · CI archive: ~109 → 5.1 MB in a local comparison
All contributions, scope, and evidence — includes a merged four-type compatibility improvement in go-mysql-server.
Published Java library · v0.1.3 · Maven Central
- Regression detected: a real-MySQL fixture keeps the same business result while observed JDBC execution attempts increase 1 → 2. RouteContract rejects the change against the reviewed baseline in CI.
- Library features: operation capture, execution budgets, rewritten-SQL checks, and Markdown/JSON review reports.
- Verified results: 62 Java/MySQL tests passed at v0.1.3; 160 captures = 8 fixed cases × 20 repetitions with one structural signature per case.
Install · 2m 54s demo · Report example · Test conditions and evidence
Supported: Java 17 · exact ShardingSphere-JDBC 5.5.3 · synchronous, non-batch PreparedStatement. Execution counts are hook-reported attempts in controlled fixtures. Status checked: 2026-09-08.
