Product Documentation

Database Administrator's Guide

Previous Topic

Next Topic



Consider the following case:

  1. Client #1 creates a temporary index on field F.
  2. Client #2 changes the value of field F from aaa to zzz.
  3. Client #1 changes the value of field F from zzz back to aaa. The record update call fails with error KDUP_ERR because the key value already exists in the temporary index.

FairCom DB will ignore a KDUP_ERR on a temp index and set sysiocod to IDUP_COD (-837). Previous behavior can be restored by specifying COMPATIBILITY TEMP_INDEX_ERROR in the configuration file.

Note: This keyword also affects temporary index behavior in the case of ITIM_ERR on record reads and KDEL_ERR on record deletes.

See Also:

Previous Topic

Next Topic

Temporary Index RVHD_ERR (123)

Note: This is a Compatibility Change.

FairCom DB temporary indexes are created on a per-user basis. This means that, if user A creates a temporary index over a shared data file and the shared data file is updated by user B, user A’s temporary index will not see user B’s update.

In this situation, it’s possible for ITIM_ERR (160) and RVHD_ERR (123) to occur. The FairCom DB logic has always internally dealt properly with the ITIM_ERR (160), by ignoring the ITIM_ERR (160) for temporary indexes and setting and sysiocod to ITMP_COD (-832).

RVHD_ERR (123) is ignored for temporary indexes and sysiocod is set to ITMP_COD (-832).

It is possible to disable this new behavior for RVHD_ERR (123) by adding COMPATIBILITY TEMP_INDEX_ERROR to ctsrvr.cfg.