IICTs were sometimes causing incorrect behavior such as missing key values, incorrect index header key counts, and the inability to read a record updated in the outer transaction while the IICT was active. The logic has been revised to correct this behavior.
In certain situations, the use of IICTs could cause incorrect behavior such as missing key values, incorrect index header key counts, and allowing a file to be closed even though it has changes pending in an active transaction. To correct this, the changes that were made previously have been extended to apply to index members.
When FairCom Server was started after terminating with an unhandled exception, automatic recovery was found to occasionally fail with error 96 if an IICT was used with an outer transaction that used the defer begin (ctDEFERBEG) transaction mode.
Note: This error was much less likely to happen when using the file-specific IICT than the generic IICT, because the file-specific IICT is a very short-lived operation (only for the duration of a single ISAM record add, delete, or update operation).
The logic has been modified to correct this error.
When FairCom Server was started and automatic recovery needs to run, in certain unusual situations automatic recovery failed with error 96 if IICTs were used. The logic has been modified to correct this issue.