[01/2024]New "Alternative Key Types" have been added to support additional compression options. These key types support the compression of indexes with the ISAM API:
KTYP_VLENGTH (0x608) - Eliminates the key padding bytes on disk without the high performance costs of the legacy COL_SUFFIX key compression. This is suggested for indexes over variable length fields that may have a lot of variation in the length such as street address, and filesystem paths. Anyone using COL_SUFFIX (8) should investigate this improved alternative.
KTYP_VLENGTH_SRLE (0xE00) - Simple RLE compression without the high performance costs of legacy key compression. This is suggested for indexes over fields that may have a lot of repeating binary 0, ASCII space, or ASCII 0 values. This may be beneficial for keys over many data types such as 8 byte integers, binary data, or other variable length data.
These KTYP_ values are bits that can be set in the IIDX.ikeytyp for each index.
See the section in the FairCom ISAM for C Developer's Guide titled IIDX Structure.