<svoj> I'm asking about it because this comparison won't work with
prefix keys, as falcon doesn't get full key value.
I'm surprised that works at all, given this code from
case HA_READ_BEFORE_KEY: // ???
case HA_READ_PREFIX_LAST_OR_PREV: // ???
case HA_READ_PREFIX_LAST: // ???
But yes, an index can return a record number that doesn't have a value
that matches the search criteria for a particular transaction. There's
no transaction information in the index. After a key value is updated,
there are entries in the index for both values - only one of which can
be seen by any particular transaction.
The server may throw out values that don't match the criteria, but
(if I remember correctly) it stops the scan after an error, so we have
to validate records ourselves.
|• Handling prefix keys||Ann W. Harrison||26 Nov|