SQL/MX Programming Manual for Java

SQL/MX Programming Considerations
HP NonStop SQL/MX Programming Manual for Java523726-003
4-15
System-Defined Module Name
Use of Dots and Trailing Spaces
Example of Dots
A MODULE directive that specifies a module named CAT.SCH."CLASS.SUBCLASS"
creates a module file named CAT.SCH.CLASS.SUBCLASS in the
/usr/tandem/sqlmx/USERMODULES/ directory. Another MODULE directive that
specifies CAT."SCH.CLASS".SUBCLASS creates a module file with the same name,
CAT.SCH.CLASS.SUBCLASS, in the /usr/tandem/sqlmx/USERMODULES/
directory. The second module file overwrites the first module file, causing the
application of the first module to fail to execute.
Example of Trailing Spaces and Truncation
A MODULE directive that specifies "CAT "."SCH "."MOD " creates a module file
with the same name as a MODULE directive that specifies "CAT"."SCH"."MOD".
The name of the module file in both cases would be CAT.SCH.MOD because the
trailing spaces are truncated.
System-Defined Module Name
If you do not specify a MODULE directive, the SQLJ customizer generates a system-
defined module name. The system-defined module name is based on the catalog,
schema, and the system-generated profile name. The system-generated profile name
includes the package name if the SQLJ source file contains a package statement, the
name of the SQLJ source file, and a number that corresponds to the connection
context class. For example:
MYGROUP.MYUSER.PKG_SUBPKG_MYPROG_SJPROFILE0
Caution. Avoid using delimited identifiers that contain dots (.) and trailing spaces in the
names of the catalog, schema, and module. Dots and trailing spaces in delimited identifiers
might cause the three-part module name to clash with an unrelated module name, which
causes the overwriting of the query execution plans of the unrelated module.