Defined in header file: hzIsamT.h

ISAM Search Bias In an ISAM in which the keys must be unique, a simple binary chop comparison process will determine if any given key is present in the ISAM and if it is, give the location. However in an ISAM in which the same key can map to many objects, to iterate the objects found under the key, there has to be a method of identifying the first and the last object. Simply chopping and comparing until there is a match will not acheive this. Furthermore, in any ISAM regardless of whether keys are to be unique, the slot where the new key will go has to be identified and this can go wrong. For example, a new key could have a value that fell between that of slot 3 and 4. The comparison sequence would be 7, 3, 5 and then 4. This would be OK because slot 4 is where the new key will go with what was at slot 4 moving to slot 5. If however the new value fell between 2 and 3, the comparison sequence would be 7, 3, 1, and then 2. This is wrong as the new key needs to go in at slot 3. To resolve the matter, extra steps are taken at the end of the binary chop. These differ depending on what is required. The _hz_sbias enum serves to specify the option.

Enum definition:

enum    _hz_sbias
{

HZ_ISAMSRCH_LOFind the first instance of the key within the ISAM or fail
HZ_ISAMSRCH_HIFind the last instance of the key within the ISAM or fail
HZ_ISAMSRCH_ENDFind the slot where where the key will reside. So if (b) target=(b+1) else target=(lowest slot exceeding the key).

} ;