SQL/MP Version Management Guide
Version Compatibility for SQL Programs
Compaq NonStop™ SQL/MP Version Management Guide—429833-001
7-18
Program Invalidation in Mixed Version Network
problems encountered because of older version software. Automatic recompilation is not
attempted.
(For details of the features not supported by older version software, see the discussion of
query execution plans under SQL Compilation in a Mixed Version Network
on
page 7-7.)
Performance and Newer Version Software
If the SQL/MP software on a node is upgraded to a newer version, whether the node is
local or remote, the performance of SQL programs that access SQL objects on the node
can be affected. Query execution plans based on the older version software on nodes
where the objects reside become less than optimal, because the newer version SQL
compiler might generate a more optimal plan. Nevertheless, these older plans remain in
effect.
If the SQL program resides on a node running newer version SQL/MP software, the
solution is to recompile the program. If the SQL program remains on a node with older
version software, the-less-than optimal execution plan remains in effect.
Program Invalidation in Mixed Version Network
The general rule governing invalidation of SQL programs is that no program is
invalidated just because the version of SQL/MP software changes. In addition, DDL
operations that change the version of an object do not change the redefinition timestamp
of the object. Most DDL operations that change the version of an object do, however,
invalidate programs.
Upgrading a catalog from an older version to version 300 or newer does not invalidate
SQL programs, unless the programs query the upgraded catalog tables directly.
Similarly, downgrading a catalog from version 300 or newer to version 2 does not
invalidate SQL programs, unless the programs query the catalog tables directly. (A
catalog cannot be downgraded to version 1.)
Using the CREATE INDEX NO INVALIDATE statement on a node running version
300 or newer software in a mixed version network can cause a run-time version error.
For example, you can create a version 300 index with the CREATE INDEX NO
INVALIDATE statement on a version 2 table residing on a version 300 node. This
action raises the version of the table to 300 without invalidating programs that access the
table. As a result, a program on a remote node running version 2 SQL software that
attempts to access the version 300 table receives a version error.