A_INF_DUPLICATE_KEY

This variable determines how Acu4GL for Informix handles the processing of alternate keys with duplicates. When reading on an alternate key with duplicates, it is possible that not all records will be returned. The probability of this scenario increases if the direction of the read changes (for example, switching from read next to read previous). This generally occurs when:

Three potential values can be set for this variable:

Note: These settings can affect performance. If you need assistance, see your Database Administrator.

Zero (0)

If this variable is set to zero (0), no ROWID is added to the SELECT statements for reading in a forward direction, but a ROWID is added to SELECT statements for reading in a backward direction if the file is not a VIEW.

Note: We don’t recommend setting this variable to zero (0), because ROWIDs may not be in ascending order. This method can be used if the direction in which the application reads records does not change, but it is unknown if this will work for all situations. We provide this method for backwards compatibility only.

One (1)

If this variable is set to one (1), a ROWID is added to the ORDER BY clause of all SELECT statements reading tables on an alternate key that allow duplicates. A ROWID is not added if the file is a VIEW. This assures a predictable ordering of keys and is the default setting.

Two (2)

If this variable is set to two (2), the primary key segments are added to the ORDER BY clause of all SELECT statements reading tables or VIEWs on an alternate key that allow duplicates.