Onix Text Retrieval Toolkit
API Reference

API
Function List
Topical List

Main Index

Introduction
Calling Sequences
Query Processing
Relevancy Ranking
Data Types
Error Handling
   
Support
   
Lextek Products
Onix Text Retrieval Engine
Lextek Document Profiler & Categorizer
Brevity Document Summarizer
RouteX Routing Engine
Language Identifier

ixRetrieveMoreRecordData

Name

ixRetrieveMoreRecordData

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. It must have been used to open an index using ixOpenIndex. A retrieval session in progress must also have been started using 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 a value of type StatusCodeT representing any error conditions.

Returns

Nothing.

If an error occurred, Status will be set to the error number.

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: (Note: not complete code. Portions have been left out for clarity.)

ixOpenIndex();
ixStartRetrievalSession();

// gets data associated with record number 10. 

char    myBuffer[255];
size_t  datasize;

ixRetrieveRecordData( IndexManager, myBuffer, 255, &datasize,
    10, DataCursor, Status );
 
// Do something with the data here. 

while(DataCursor.Done == BooleanFalse) {   
    ixRetrieveMoreRecordData(IndexManager, myBuffer, 255,
       &datasize, 10, DataCursor, Status );    

    // Do something with the data here. 
} 

ixEndRetrievalSession(); 

ixCloseIndex(); 

See Also

Storing Data with Records
ixRetrieveRecordData, ixStoreRecordData