Products > CobolCloud Embedded sql pre-compiler®

CobolCloud Embedded SQL Pre-compiler® (CLDSQL)

CLDSQL is a configurable pre-compilation engine that bridges COBOL and modern databases.
It can preserve existing ESQL applications or serve as the foundation for new ones — without requiring source code redesign.
Through customizable routines executed at pre-compilation or runtime, CLDSQL can reproduce the behavior of legacy databases or adapt to new environments, while keeping the COBOL SQL logic intact.

CLDSQL has two basic modules

An intelligent preprocessor that converts the original COBOL ESQL code, analyzes it, and generates code to be used by the CobolCloud compiler. In the pre-processing phase, there is an analysisphase and a translation phase, each of which can be adapted to exploit the capabilities of the database in use most efficiently.

A series of runtime libraries and tools that interface with the DBMS used by the client. The CLDSQL runtime component allows it to support the most widely used open-source and proprietary database solutions, while also being easily extensible to newly emerging database solutions.

Both modules are highly modular multi-directional APIs

CLDSQL is modular both during the preparation phase (parsing and generation of ESQL statements) and at runtime. The translator module in CLDSQL can apply transformation rules to rewrite statements (loops, cursor usage, etc.) with the aim of keeping performance intact when migrating from the mainframe environment to open systems.

The preprocessor in CLDSQL can point out features and potential problem areas in the code that might need particular attention when porting an application from the mainframe to open systems. CLDSQL can handle natively a plurality of databases at runtime, also simultaneously. Due to its modular nature, database support can be easily augmented or even replaced with custom-tailored modules, to better accommodate features used by the client’s application.

CLDSQL allows you to control its behaviors

CLDSQL provides a wide-ranging set of parameters that can be used to control its behavior during both the generation and the runtime phase. You can decide how character fields should be treated, for instance, or how SQL statement parameters should be generated. You can specify all the connection options supported by the DBMS of your choice. Decide to use the native cursor library provided by your DBMS or the emulated one in CLDSQL.
There are also options to control the COBOL syntax that will be used, or how the runtime libraries should be called.

Or you can simply use the defaults implemented in CLDSQL if they suit your process. You can choose to take control, or not!

The CLDSQL transformation engine reduces the need to change your code

Migrating from a mainframe environment to open systems does not just mean bringing it over or making it run. Radically different architectures also imply completely different assumptions about CPU and I/O speed, memory layout, etc. Subtle differences in how an SQL statement is interpreted and executed by each DBMS, can slow a perfectly-written program down to a crawl, or make it consume a huge quantity of resources. By using a CLDSQL transformation rule, it becomes possible to selectively target particular statements or situations within a program and adjust the software’s behavior to meet specific requirements. All avoiding the need for direct code modifications and minimizing the risk of regressions or undesired changes in functionality.

The transformation engine integrated in CLDSQL exposes SQL statements, cursors and variable definitions in your code as objects that can be manipulated with the included interpreter. You do not need to modify the COBOL SQL code directly; reusable rules or tasks can be directly applied to your programs during the preparation phase without modifying the original COBOL SQL code. Queries can be manipulated and enriched: you can do things like add or remove columns, modify the function names used by a statement to make them compatible with your DBMS of choice, and much more!

Every software has its own needs in terms of performance, portability, and customization: CLDSQL comes with a predefined set of transformation rules, but new ones can be written to support a given migration project or even for a specific program. Since you do not need to modify your original code, you can easily test the best strategy for your ESQL:

Integration

CLDSQL can use information generated by other tools of the CobolCloud suite (Profiler and Compiler) to analyze the code and generate the best possible data access strategy for each scenario.
The preparation components of CLDSQL (parser and transformation libraries) can output a wealth of information about the programs that goes well beyond a standard COBOL listing, ready to be automatically processed by other tools (other preprocessors, debuggers, profilers, etc.) or used to integrate COBOL programs with other business processes.

Extensible logging system

CLDSQL uses an advanced logging system that can be tailored and extended to support multiple logging targets and filters. When needed — whether for debugging purposes, or simply to keep tabs on the application — custom logging modules can be written and added to the CLDSQL runtime logging system.

Cross-platform

CLDSQL is natively available on Windows and Linux. Conformance tests are executed separately — before each release — in each environment to ensure a consistent and flawless experience.

Make your COBOL applications shine in the Cloud

Thanks to its extensible and pluggable architecture, CLDSQL enables applications to easily connect with databases residing in a shared or private cloud environment. Its low disk and memory footprint, together with low overhead and fast startup and connection time, make it ideal for containerized applications. CLDSQL supports the major databases on standard cloud architectures, including enhanced connection and service modes.

Explore Further

Talk to a CobolCloud expert. Learn how CLDSQL’s modular design lets you evolve COBOL ESQL applications and data access — no rewrites required.

Your form has been successfully submitted.

Thank you for contacting CobolCloud — our team will get back to you shortly.