SQL/MP Installation and Management Guide
Managing Database Applications
HP NonStop SQL/MP Installation and Management Guide—523353-004
10-3
Operations That Do Not Invalidate a Program
catalog to register the program, and has marked the object file label as SQL-
sensitive and valid, but before the compiler normally terminates
If a compilation terminates abnormally, the TMF subsystem backs out the updates 
to the catalog but cannot undo the changes to the object file label because the 
label for an SQL object file is always nonaudited. In such a case, a seemingly valid 
object file exists on disk, but no entry for this file exists in the PROGRAMS table of 
the catalog.
You can sometimes recover from this condition by running SQLCOMP again to 
reenter the information in the catalog. If this strategy does not resolve the problem, 
use the CLEANUP utility or the GOAWAY utility to remove the object file, and 
recompile the program. (For more information about using the CLEANUP and 
GOAWAY utilities, see the SQL/MP Reference Manual.)
Operations That Do Not Invalidate a Program
Not all changes to the program or database invalidate a program. These operations do 
not invalidate a program:
•
Altering the security or owner of the program or SQL objects
•
Creating new views on a table
•
Altering file attributes, including the AUDIT flag
•
Adding or dropping comments on a table or view
•
Adding a column or partition if the CHECK INOPERABLE PLANS option is used 
and referenced tables and protection views have the similarity check enabled
•
Adding an index with the NO INVALIDATE option in the CREATE INDEX statement 
or if the CHECK INOPERABLE PLANS option is used and referenced tables and 
protection views have the similarity check enabled
•
For the source object, duplicating a program or SQL object
•
Executing the UPDATE STATISTICS statement with the NORECOMPILE option on 
tables used by the program; however, the new statistics might enable the SQL 
compiler to determine a better access path for the programs.
Although changing the AUDIT attribute of a table referred to by an SQL statement does 
not invalidate the statement, this change does cause automatic SQL recompilation (if it 
is specifically allowed) in these cases:
•
If a statement performs a DELETE or UPDATE set operation on a nonaudited table 
that has a SYNCDEPTH of 1, the SQL executor returns SQL error 8203 and forces 
automatic recompilation of the statement.
•
If a statement is executed in parallel on a table whose AUDIT attribute has 
changed since the last explicit SQL compilation, the SQL executor returns SQL 
error 8207 and forces automatic recompilation of the statement.










