isStart

select or relocate within an ISAM file index

SYNOPSIS

int isStart( IsFile * isfd, IsKdsc * kdsc, int len, char * data, int mode );

isfd isam file descriptor
kdsc description of index to be selected or NULL to retain the current index
len partial length of key, or 0 for full
data data record pointer if needed for search mode, or NULL
mode see search modes

RETURN

ISTRUE, or ISFALSE, in which case the error code is returned by isErrno, or found in isfd->iserrno

NOTES

this routine has multiple purposes.

if kdsc is passed then the index described will become current.

if length is non zero then isStart will set a partial key length for the selected index, and will only consider the first len bytes of the key during subsequent searches. this will remain in effect until the next isStart call.

the selected location in the index will be flagged as a start point, which means that the next call to isRead, if made with a search mode of ISNEXT or ISPREV, will return the current record, rather than the actual next or previous. this is often useful for initialising next or previous read loops.

after a successful isStart call, isfd->isrecnum will be set to the current record number.