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: