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

Onix Error Handling

Onix uses a long integer (signed 32 bit) value to report its status information.  This error value is called appropriately "Status."  Status not only reports error conditions but also reports status information.   All error codes are values which are less than 0 and may be critical error values (such as being out of disk space) or they may be simply informative (being at the end of your results list).  Values above 0 are status values and are never critical.  The value 0 means that everything is OK.  Most every functions error checking can be completed quite simply as in the following example:
 

SampleFunction(Value1,Value2,&Status);
if(Status < 0) {
    // Report or handle error condition
}

The function call ixGetStatusMessage() may be used to get a textual message which may be displayed to your users or used in debugging your code.  If you are using C or C++ use the following values which have been defined as "const" .  If you are using Delphi please check the onixtype.h header file to see what the specific values assigned to each name are and use the values directly.
 

Error Value Meaning
Done We are done with whatever we are doing
AllDataOptimizedAway After the optimization session, there is no more data left. (It was probably all deleted.)
Full Whatever it is is full
Found Whatever we were looking for was found
NotFound Whatever we were looking for was not found
EndOfHitList We are at the end of the query vector
eNoError No Error
eNoMemory Not enough memory
eReadOnly File is read only
eReading Error reading from file
eWriting Error writing to file
eSeeking We were not able to seek where we wanted
eFileNotFound Not able to find the file
eNoDrive No such drive
eAccess File is locked by another process
eFileExists File already exists
eCantDeleteFile For some reason the file can't be deleted
eOpeningFile Can't open the file specified
eClosingFile Can't close the file specified
eMagicNumberMismatch File is not index file or is corrupt
eIndexLocked Index is locked by another process
eNoCurrentKey No current key (Need to find a key first.)
eEndOfWordList End of the wordlist
eIndexNotLoaded The index isn't loaded
eNoCurrentHit We don't have a current hit to look at
eMalformedParameter The parameter in the expression
eMalformedExpression Something is wrong with the query expression
eMismatchedQuotes There are mismatched quotes in the query expression
eMismatchedParens There are mismatched parens () in the query expression
eLeftParenExpected There is a extra right paren in the query expression
eRightParenExpected There is an extra left paren in the query expression
eTermExpectedInRange You need a term on both sides of a range (i.e., X - Y)
eLeftAngleBracketExpected A Left angle bracket (<) was expected in the query expression.
eRightAngleBracketExpected A right angle bracket (>) was expected in the query expression.
eCantHaveOperatorsInsideQuotes Can't have an operator inbetween quotes in a query expression (i.e., "bob & mary")
eRightHandQuoteExpected Missing a right hand quote in the query expression
eMalformedQueryTerm The Query Term must be a hex number i.e, 0xffaa
eNoDataInIndex We have an empty index
eNoRetrievalSession We need to start a retrieval session before querying the index
eNoIndexSession We need to start an index session before starting to index.
eCompressionError General compression error. (i.e., didn't start or end correctly)
eNumberOutOfRange The value specified is not in a range it should be in
eGeneralError Something's wrong.... 

See Also