SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)
Program and Module Management
HP NonStop SQL/MX Programming Manual for C and COBOL—523627-004
17-3
Managing Program Files
Managing Program Files
You probably develop, test, and debug applications on a development or test system 
and then move the applications to a production system for actual use. On the 
development system, you would typically test and tune applications by using a 
database modeled after the database on the production system. 
On the production system, program management tasks include:
•
Moving programs from development to production
•
Distributing programs across nodes
•
Ensuring proper name resolution
•
Assigning permissions for running database applications
•
Maintaining query plan validity
•
Backing up and restoring programs
For more information, see the SQL/MX Installation and Management Guide. To migrate 
programs to NonStop SQL/MX Release 2.x, see the SQL/MX Database and 
Application Migration Guide.
Generating Locally or Globally Placed Modules
In previous releases of NonStop SQL/MX, all modules were globally placed modules in 
the /usr/tandem/sqlmx/USERMODULES directory. In SQL/MX Release 2.x, you can 
place modules globally or locally. A locally placed module resides in an OSS directory 
other than the /usr/tandem/sqlmx/USERMODULES directory and is co-located with 
its application executable. The format and contents of globally placed modules are 
identical to locally placed modules.
Generating locally placed modules is easier and provides more flexibility than 
generating globally placed modules with the grouping, targeting, and versioning 
options. Instead of generating globally placed modules in the /usr/tandem/
sqlmx/USERMODULES directory and relying on the grouping, targeting, and versioning 
attributes to distinguish between the modules of each application, you can co-locate 
locally placed modules in the same directory as the application.
For compatibility with applications created in prior releases, in SQL/MX Release 2.x the 
SQL/MX compiler produces a globally placed module unless instructed to produce a 
locally placed module.
You can specify that locally placed modules always be produced by setting the 
MXCMP_PLACES_LOCAL_MODULES attribute ON in the SYSTEM_DEFAULTS 
table. The system-defined default value for this attribute is OFF, which means that by 
default all modules are globally placed in the /usr/tandem/sqlmx/USERMODULES 
directory.
On a case-by-case basis, you specify locally and globally placed modules with these 
command-line options:










