Oninit® SQLMorph — SQL Dialect Matrix
SQLMorph translates stored-routine source from one SQL dialect to another. The matrix below shows the translation pairs supported today (✓) and the ones planned for future releases. Rows are source dialects; columns are target dialects. Cells on the diagonal are identity translations (kept for completeness).
| Source ↓ / Target → | Informix | MSSQL | MySQL | Oracle | DB2 LUW | ANSI SQL | |
|---|---|---|---|---|---|---|---|
| Native UDR (C) | Java UDR | T-SQL | Stored Routine | PL/SQL | SQL PL | (SQL/PSM) | |
| Informix SPL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | planned |
| MSSQL T-SQL | planned | planned | identity | planned | planned | planned | planned |
| MySQL Stored Routine | planned | planned | planned | identity | planned | planned | planned |
| Oracle PL/SQL | planned | planned | planned | planned | identity | planned | planned |
| DB2 LUW SQL PL | planned | planned | planned | planned | planned | identity | planned |
| ANSI SQL (SQL/PSM) | planned | planned | planned | planned | planned | planned | identity |
Validation status per target
Every supported translation pair carries a multi-layer validation contract. The table below summarises what's wired up today.
| Target | Conformance corpus | Real-engine harness | Notes |
|---|---|---|---|
| Informix Native UDR (C) | 20 / 20 | n/a (origin engine) | Validated end-to-end via the SPL parser + emitted C UDR install on Informix. |
| Informix Java UDR | 20 / 20 | planned | Java source + install SQL produced; J/Foundation real-engine harness pending. |
| MSSQL T-SQL | 20 / 20 | ✓ 7 / 7 | End-to-end validated against MSSQL 2022 (Docker container). |
| MySQL Stored Routine | 20 / 20 | ✓ 7 / 7 | End-to-end validated against MySQL 8.4. |
| Oracle PL/SQL | 20 / 20 | ✓ 7 / 7 | End-to-end validated against Oracle 23ai Free. |
| DB2 LUW SQL PL | 20 / 20 | planned | SQL PL emit verified by syntactic conformance; real-engine harness pending. |
| ANSI SQL (SQL/PSM) | n/a | n/a | Output emitter not yet shipped; placeholder for vendor-neutral export. |
The conformance corpus is 20 SPL fixtures (3 single-row scalar functions, 2 single-yield iterators, 5 multi-yield iterators, 2 multi-column-RETURN procedures, 8 mixed-shape examples drawn from real customer code). Every fixture passes through both the reference Python prototype and the production C engine; output is compared byte-for-byte.
The real-engine harnesses install the generated routines into a clean, disposable database and execute caller-side SELECT/CALL statements against captured expected output, byte-for-byte.