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.... |