SQL/MP Programming Manual for C
Explicit Program Compilation
HP NonStop SQL/MP Programming Manual for C—429847-008
6-16
Running the SQL Compiler in the Guardian
Environment
[ EXPLAIN ]
[ [ PLAN ] ]
[ [ DEFINES [ file-name ] [, OBEYFORM ] ] ]
[ ]
[ NOEXPLAIN ]
controls whether the SQL compiler invokes the EXPLAIN utility.
EXPLAIN PLAN
invokes the EXPLAIN utility to generate an EXPLAIN listing of the optimized
execution plans determined by the SQL compiler for the DML statements in the
program. EXPLAIN PLAN is the default EXPLAIN option.
EXPLAIN DEFINES [ file-name ] [, OBEYFORM ]
invokes the EXPLAIN utility to generate a listing of the TACL DEFINEs that the
SQL compiler uses to compile the SQL statements. (The SQL compiler uses
these DEFINEs to recompile the program if you specify the STOREDDEFINES
option.)
file-name is an optional file where the SQL compiler writes the DEFINE
listing. file-name is an external-file as described for the OUT
list-file parameter.
OBEYFORM directs the SQL compiler to write the DEFINE listing in an OBEY
command file format so that you can use an OBEY command to later set the
DEFINEs. If you omit OBEYFORM, the SQL compiler uses the format
displayed by the TACL INFO DEFINE command. If you omit DEFINES, the
SQL compiler does not generate a DEFINE listing.
NOEXPLAIN (the default) suppresses the EXPLAIN utility.
FORCE | NOFORCE
controls how syntax errors affect SQL compilation.
FORCE directs the SQL compiler to produce a valid, executable object file
regardless of syntax errors. The SQL compiler writes the SQL source statements
to the program file so that the statements can automatically be recompiled if run at
run time. Use the FORCE option to debug a program if you do not need to run the
SQL statements that generate errors.
NOFORCE (the default) directs the SQL compiler to produce the SQL object code
only if there are no syntax errors.
OBJECT | NOOBJECT
controls whether the SQL compiler produces an SQL program file.
OBJECT (the default) directs the compiler to generate an SQL object code,
depending on whether errors occur and whether the FORCE or NOFORCE option
is in effect.