The Main Manual Page Dynamic API Documentation CD-ROM API Documentation About Onix Types About Onix Errors Onix's Web Site at Lextek International Lextek International Onix Full Text Indexing and Retrieval Toolkit

ixRetrieveMoreRecordData

NAME

ixRetrieveMoreRecordData -- Retrieve more record data after a call to ixRetrieveRecordData.

SYNOPSIS

ixRetrieveMoreRecordData(OnixIndexManagerT IndexManager, UCharT *DataBuff, size_t DataBuffSize, size_t *ReturnedDataSize, OnixDataCursorT *DataCursor, StatusCodeT *Status);

ARGUMENTS

IndexManager -- An index manager created by a call to ixCreateIndexManager() which has been used to open an index (ixOpenIndex()) and which has a retrieval session in progress (ixStartRetrievalSession()).

DataBuff -- A pointer to the buffer in which you would like the record data placed.

DataBuffSize -- The size of DataBuff in bytes.

ReturnedDataSize -- A pointer to an integer of size_t (unsigned int).  The number of bytes returned from ixRetrieveRecordData() will be placed here.

DataCursor -- A DataCursor which has been used to obtain record data using a call to ixRetrieveRecordData.  When all of the data has been returned, the value Done in the DataCursor is set to BooleanTrue.  (BooleanFalse otherwise)

Status -- A pointer to type StatusCodeT.  If an error occurs, Status will be set to the appropriate error value.

RETURNS

Nothing.

DESCRIPTION

If a call to ixRetrieveRecordData did not retrieve all of the data associated with a given record, one or more calls to ixRetrieveMoreRecordData may be used to obtain the rest.  The state of the retrieval is kept in the DataCursor.  When all of the data has been returned, the value Done in the DataCursor is set to BooleanTrue.

Pseudo Code for retrieving all of the data associated with a given record is as follows:

ixOpenIndex()
ixStartRetrievalSession()
// gets data associated with record number 10.
ixGetRecordData(DataBuff,DataBuffSize,ReturnedDataSize,10,&DataCursor,Status)
// Do something with the data here.
while(DataCursor.Done == BooleanFalse) {    ixGetMoreRecordData(DataBuff,DataBuffSize,ReturnedDataSize,&DataCursor,Status);
    // Do something with the data here.
}
ixEndRetrievalSession();
ixCloseIndex();
 
 

SEE ALSO

ixRetrieveRecordData, ixStoreRecordData