No pre-processor needed
As used on the mainframe, SQL and CICS are not supported by pre-processors, but directly by the compiler. The extended statements are thus recognized as native statements. This approach provides several advantages:
- It simplifies the compilation procedure by eliminating an intermediate step
- It simplifies error reporting, since line numbers, as understood by users, are not altered by a pre-compilation process
- It simplifies debugging because the code compiled and debugged is the code as maintained by the developer, not an altered and preprocessed version of it
- The CICS and SQL front-ends are independent of the target database and TP monitor at hand. They produce calls to the Raincode Runtime, which can then redirect to different plugged-in implementations. Adding support for another database or another TP monitor is much easier than when an ad hoc precompiler must be provided.
The CICS and SQL front-ends are independent of the target database and TP monitor at hand. They produce calls to the Raincode Runtime, which can then redirect to different plugged-in implementations.
Adding support for another database or another TP monitor is merely a matter of writing a connector between Raincode’s Runtime and the database or TP monitor at hand. All the work required to analyze these syntactical extensions is performed by the compiler itself, reducing the effort required by full orders of magnitude when compared to writing the appropriate precompiler.
SQL and CICS Support:
Transparent conversion from DB2 to SQL Server
Raincode Legacy Compilers go even further in their transparent support of different databases. They provide the ability to recognize statements using DB2 idiosyncrasies and convert them to equivalent SQL Server code at compile time. Your legacy applications can then be moved off the mainframe, requiring even fewer changes to your programs.
Since this is a compile-time transformation, it has no runtime performance impact whatsoever. The resulting code is as fast as if it had been adjusted manually for SQL dialect differences.