It was discovered that key values were missing from conditional indexes composed of the following expression:
( field > 2148347647 )
Integer comparisons such as the following would also result as a comparison to -1:
"(unsigned) CT_INT_fld <= (unsigned)0xffffffff"
Date and Time types were also previously treated as integers resulting in similar failed comparisons.
Integer types less than four bytes were stored in a four-byte signed variable resulting in unsigned values cast to signed values for comparison purposes. The integer storage type has been changed from LONG (4 bytes) to LONG8 (8 bytes). Expression evaluation should now match previous behavior.