MVCC Restrictions
When using MVCC, the database and table must adhere to the same requirements as for Ingres row locking; therefore, MVCC is not supported for:
• Non-fast commit
• iidbdb
• Clusters (DMCM)
• 2K tables
• Temporary tables (no locking used)
• R-tree tables
• Core system catalogs (which use short-term physical page locks)
• Gateway tables
• Rows that span pages
NOLOGGING is only compatible with MVCC read-only queries.
Note: Catalog tables are exempt from these checks and require special handling.
If the requested lock level is MVCC and these requirements are not met, an error or warning is issued when the table is opened.
If the system lock level is not MVCC and the user has explicitly requested MVCC with SET LOCKMODE, then the following errors occur.
E_DM0012_MVCC_INCOMPATIBLE
is written to the log.
E_US120C Invalid lock level for table or database
is returned to the user.
If the system lock level is MVCC and the user has not requested a different lock level for the session or table and the table is incompatible with MVCC (in particular, 2K page size), then the following warning is written to iidbms_log:
WARNING: Table name in Database name is incompatible with MVCC; using PAGE locking.