IFX_DEF_TABLE_LOCKMODE environment variable

The IFX_DEF_TABLE_LOCKMODE environment variable can specify the default lock mode for database tables that are subsequently created without explicitly specifying the LOCKMODE PAGE or LOCKMODE ROW keywords. This feature is convenient if you must create several tables of the same lock mode. UNIX™ systems that use the C shell support the following syntax:

1  setenv IFX_DEF_TABLE_LOCKMODE
2.1 PAGE
2.1 ROW
PAGE
The default lock mode is page-level granularity. This value disables the LAST COMMITTED feature of COMMITTED READ.
ROW
The default lock mode is row-level granularity.
Similar functionality is available by setting the DEF_TABLE_LOCKMODE parameter of the ONCONFIG file to PAGE or ROW. When a table is created or modified, any conflicting lock mode specifications are resolved according to the following descending (highest to lowest) order of precedence:
  1. Explicit LOCKMODE specification of CREATE TABLE or ALTER TABLE
  2. IFX_DEF_TABLE_LOCKMODE environment variable setting
  3. DEF_TABLE_LOCKMODE parameter setting in the ONCONFIG file
  4. The system default lock mode (= page mode)
To make the DEF_TABLE_LOCKMODE setting the default mode (or to restore the system default if DEF_TABLE_LOCKMODE is not set) use the command:
unsetenv IFX_DEF_TABLE_LOCKMODE
If IFX_DEF_TABLE_LOCKMODE is set in the environment of the database server before running oninit, then its scope is all sessions of the database server (just as if DEF_TABLE_LOCKMODE were set in the ONCONFIG file). If IFX_DEF_TABLE_LOCKMODE is set in the shell, or in the $HOME/.informix or $INFORMIXDIR/etc/informix.rc files, then the scope is restricted to the current session (if you set it in the shell) or to the individual user.
Important: This has no effect on existing tables. If you specify ROW as the lock mode, the database will use this to restore, recover, or copy data. For tables that were created in PAGE mode, this might cause lock-table overflow or performance degradation.