SQL/MP Version Management Guide

Database Versions
Compaq NonStop™ SQL/MP Version Management Guide429833-001
3-18
Object-Version Dependencies
ALTER TABLE can alter the table’s version and the version of any objects whose
version depends on that table. For example, suppose you alter a version 2 table to
add a column that refers to a collation. Because collations were introduced in
version 300, this alteration raises the version of the table and of any dependent
views to version 300.
ALTER INDEX can alter the version of the index, its base table, and any objects
whose version depends on the version of the base table. For example, suppose you
add the NOAUDITCOMPRESS attribute (a version 2 feature) to a version 1 index
defined on a version 1 table with a version 1 view. In this case, the version of the
index, table, and view are all raised to version 2.
ALTER VIEW can alter the version of the view and the version of any objects
whose version depends on the view. For example, suppose you add a HEADING
clause to the description of a version 1 view. HEADING clauses are a version 2
feature, so adding a HEADING clause causes the version of the view to be raised to
version 2. The versions of any views dependent on the altered view are also raised to
version 2.
CLEANUP Utility and Object Versions
The CLEANUP utility can remove corrupted objects from a database. But CLEANUP,
unlike DROP, can leave objects in an unusable state. Use CLEANUP only as a last
choice, not as a substitute for DROP.
If you use CLEANUP to drop an index, CLEANUP does not drop the base table or any
other objects whose version depends on the version of the index. If the version of the
base table or of any other version-dependent object changes as a result of dropping the
index, CLEANUP does not update the object version in the catalog or file label.
As a result of using CLEANUP to drop an index, the recorded version of an object can
be different from its actual version. For example, if you create a version 300 index on a
version 2 base table, the version of the table is raised to 300. If you then use CLEANUP
to drop the index, the version of the dependent table is not lowered to 2. CLEANUP
does not cause this particular problem when it drops objects other than an index; for
such objects, no version-dependent objects remain on the local node after a successful
CLEANUP.