SQL/MX Programming Manual for Java

SQL/MX Programming Considerations
HP NonStop SQL/MX Programming Manual for Java523726-003
4-5
Causes of Dynamic Execution
SQL/MX Compiler Errors
The SQL/MX compiler (mxcmp) compiles the SQL statements in the module definition,
which is either an embedded module definition in the extended profile or a module
definition file (.m), and generates a compiled module that contains the execution plans
of the SQL statements. Sometimes SQL compilation might fail, you might forget to run
mxCompileUserModule or the SQL/MX compiler, or you might remove the module
accidentally.
Consider the case of a previously compiled SQLJ program that you modify and then
successfully translate and customize. However, you do not invoke
mxCompileUserModule or the SQL/MX compiler to SQL compile the module
definition.
If you successfully customize with the -missingSQLObject option set to false and
forget to SQL compile, the SQLJ run time uses the extended profile and tries to load
each statement from the previously compiled module when you run the SQLJ program.
When the SQLJ run time fails to load each statement from the previously compiled
module, it returns an SQL exception indicating that the module is missing or corrupted.
None of the SQL statements execute statically or dynamically.
If you successfully customize with the -missingSQLObject option set to true and
forget to SQL compile, the SQLJ run time uses the extended profile and tries to load
each statement from the previously compiled module when you run the SQLJ program.
When the SQLJ run time fails to load the statement from the previously compiled
module, it uses the default run time instead and executes each statement dynamically.
The static and dynamic behavior of specific SQL statements is discussed next.