PositionSet Establish current ISAM record as current position in set. Short Name MIDSET() Type ISAM function Declaration COUNT PositionSet(COUNT keyno, pVOID recptr, COUNT siglen) Description PositionSet extracts the key value for index keyno from the current ISAM record, and defines a set based on the first siglen bytes of this key value. This permits an application to “jump” into the middle of a set using the current ISAM record to define the set. A successful PositionSet() defines a current key value set, and subsequent calls to NextInSet() and PreviousInSet() will read the other records in the set (i.e., those records whose keys also match the first siglen bytes of keyno). If an error occurs or no key value matches the target, no key value set is defined. Notice that you do not directly identify the data file number involved. The ISAM parameter file described in “ISAM Functions” of the c-tree Plus Programmer’s Reference Guide contains the correspondence between the index file number and the associated data file. Return
See c-tree Plus Error Codes for a complete listing of valid c-tree Plus error values. Example COUNT keyfil; TEXT target[24],recbuf[320];
scanf("%23s",target);
process_data(); LockISAM(ctRESET);
LockISAM(ctSUSPEND); PositionSet(keyfil,recbuf,strlen(target)); LockISAM(ctRESTORE); } } Limitations No check is made to determine if recptr points to a region sufficiently large to accept a data record. If the area is too small, either code or data will be clobbered. See also NextInSet(), PreviousInSet(), LastInSet(), FirstInSet(), ChangeSet(), TransformKey() |
|||||||||||||||||||||