>>What's the difference between the next version's IndexSeek() and the
>>KeyMatch()? IndexSeek() will not be as buggy?
>
>AFAIK, KeyMatch move pointer back and forth, trigger row buffering
>tableupdate() anyway, IndexSeek presumably will not move pointer in current
>work area at all (I guess table will USE ... AGAIN).
Here's what help says:
KEYMATCH( ) searches an index tag or index file for a specific index key
and returns true (.T.) if the index key is found; otherwise, KEYMATCH( )
returns false (.F.). KEYMATCH( ) can be used to prevent duplicate index
keys.
KEYMATCH( ) returns the record pointer to the record on which it was
originally positioned before KEYMATCH( ) was issued.
So yes, it really moves the record pointer forth and back, and triggers
all the things which occur after leaving a record. IMHO, it should have
been implemented the way IndexSeek is supposed to work in the first
place. BTW, in FP the KeyMatch() function didn't really work - you had
to issue iif(keymatch(), .t., .f.) to get the correct result. Anyone
tested it in VFP?