Transpiling from one SQL dialect to another frees the enterprise from lock-in by database and data-warehouse vendors. CompilerWorks’ Transpiler Solution is designed from the ground up to facilitate SQL migration in the real world.
Our Transpiler produces pure output code for the target platform(s) of choice, with no ongoing dependencies on the CompilerWorks' products or technologies. This is designed to leave users in full control of their infrastructure with no additional risks to mission-critical systems and services, and with access to the full feature set and performance of the target platform(s).
When enterprises are contemplating a "lift and shift" project the transpiler turns estimating the project into a science. Rather than estimating the work required and discovering the reality during the project, the transpiler de-risks the estimates. It converts all the code provided in the first step. The transpiler will identify everything from code missed when defining the project, to functionality that cannot be emulated on the target platform.
SQL Languages and associated procedural languages supported include:
- Legacy SQL Languages: Teradata, Oracle PL/SQL, Netezza, Vertica
- Open Source: Postgres, MySQL, Hive, Presto, Splice Machine
- Cloud Platforms: BigQuery, RedShift, Snowflake
The transpiler is precise and accurate. It understands all the nuances of each SQL dialect. Unlike human conversion, the compiler does not make any assumptions. The compiler implements the exact semantics of each SQL dialect. It preserves these exact semantics when it converts the SQL code. Transpiled code from one dialect to another will produce the same results across both platforms.
The compiler is designed to be “fault tolerant.”
- It does NOT need the actual execution environment the query executes in.
- It does NOT fail when there is a missing relation definition or finds a construct it cannot convert.
- If the compiler has an issue it will convert what it can and place explanatory errors in the code.
The errors will explain assumptions the compiler made and/or the construct it is having problems with. A mature CompilerWorks compiler will handle 99%+ of the conversion automatically.