ibi Patterns .NET API
Loading...
Searching...
No Matches
NetricsServerInterface.NetricsException Class Reference

A NetricsException is thrown whenever an error occurs. More...

Public Types

enum  error_codes {
  STATUSOK , PARTIAL , NOSYSINIT , SYSINIT ,
  FEATURESET , FEATUREOFF , EXPECTLIST , EXPECTTBLDESC ,
  EXPECTRTBLDESC , EXPECTRECORD , EXPECTRECKEY , EXPECTQUERY ,
  EXPECTTHESNAME , EXPECTCHARMAP , TBLPARAM , CHARCONV ,
  CHARMAP , NORECKEY , NOSRCHTXT , NUMFIELDS ,
  FIELDLENSUM , FIELDLEN , UNKFIELD , NSFIELD ,
  NOWGTFLD , TBLNOTCHILD , QUERYEXPR , SRCHPARAM ,
  UPDPARAM , PARAMVAL , PARAMCONFLICT , TRAN_EXISTS ,
  PARAMMISSING , PARAMTYPE , ARRAYLEN , LISTLEN ,
  PREDTYPE , PREDSTRING , NOTBLDESC , TBLNOTFOUND ,
  TBLEXISTS , TBLLOCKED , TBLUNLOCKED , TBLMOVESAME ,
  TBLNOFIELDS , NORECORDS , RECEXISTS , RECNOTFOUND ,
  PARTIALCHPT , CHPTFAIL , PARTIALRESTORE , RESTOREFAIL ,
  DUPRECKEYS , DUPTBLDESCS , DUPFIELDNAMES , THESNOTFOUND ,
  NORLINKMODEL , RLINKMODELNOTFOUND , MODEL_DATA , NOFEATUREVEC ,
  NUMFEATURESMISMATCH , NOCHARMAP , NOFUNCTION , NOQUERY ,
  FILEFORMAT , IOERROR , EXPIRED , LOOKUP ,
  NOSTATUS , NOMEM , INTERNAL , EXPECTKEYFIELD ,
  EXPECTPARENTKEYFIELD , CL_CONFIG , CL_CFG_CONFLICT , GATEWAY ,
  JOINSET , TRAN_UNKNOWN , TRAN_IN_USE , TRAN_LIMIT ,
  TRANCONFLICT , ACTCONFLICT , HASERRORS , CHKPT_CORRUPT ,
  OUTPUTLIMIT , FILE_NOT_FOUND , LOOKUP_FLDS_NEEDED , QLETREFBROKEN ,
  QLETREFLOOP , MODEL_UNSUPPORTED , QUERYLET_LIMIT , GPU_DEVICE_NOT_ALLOWED ,
  REMOTE_DISABLED , SSL , CMD_CANCELLED , JOURNAL ,
  TOO_MANY_TABLES , REGEX , ACCESS_DENIED , SVR_IPCEOF ,
  SVR_IPCTIMEOUT , SVR_IPCERR , SVR_HANDSHAKE , SVR_PROTOCMD ,
  SVR_REQUESTFMT , SVR_BYTECOUNT , SVR_LINECOUNT , SVR_LINELENGTH ,
  SVR_PARAM , SVR_PARAMFMT , SVR_PARAMVAL , SVR_PARAMTYPE ,
  SVR_NODATABASES , SVR_NOQUERY , SVR_EXTRAINPUT , SVR_LOGFILE ,
  SVR_ZEROLEN , SVR_NOSTATUS , SVR_REMOTEHEAP , SVR_LAYOUT_CONFLICT ,
  SVR_NODE_CONFLICT , SVR_NODE_DOWN , SVR_NODE_DATA_SYNC , SVR_OTHER_NODE ,
  SVR_NO_DEFAULT_LAYOUT , SVR_UNKNOWN_LAYOUT , SVR_DEFERRED , SVR_SHUTDOWN ,
  SVR_BLANKLINE , IPCEOF = 99 , IPCTIMEOUT = 100 , IPCERR = 101 ,
  HANDSHAKE = 102 , PROTOCMD = 103 , REQUESTFMT = 104 , BYTECOUNT = 105 ,
  LINECOUNT = 106 , LINELENGTH = 107 , PARAM = 108 , PARAMFMT = 109 ,
  SVRPARAMVAL = 110 , NODATABASES = 112 , SVRNOQUERY = 113 , EXTRAINPUT = 114 ,
  LOGFILE = 115 , ZEROLEN = 116 , SVRNOSTATUS = 117 , REMOTEHEAP = 118 ,
  SHUTDOW = 127
}
 An enumeration of all error codes returned as part of the NetricsException object. More...
 

Public Member Functions

int getErrorCode ()
 Get the error code associated with the error.
 
String getErrorDescription ()
 Get the description of the error.
 
String getExtendedErrorInformation ()
 Get the extended error information.
 
NetricsErrorItem getErrorItem ()
 Returns a NetricsErrorItem object that represents the error item associated with this exception.
 

Detailed Description

A NetricsException is thrown whenever an error occurs.

There are two classes of errors. If the ibi™ Patterns - Search Server indicates that an error occured the getErrorCode() method returns a positive integer which corresponds to one of the server's error codes. The second type of error is internal to the interface (invalid arguments passed to a function for instance). In this case, the error code will be negative one.


The NetricsException.getExtendedErrorInformation() can be very useful in dissecting the cause of an error, as it will usually return the exact item which caused the error.

Member Enumeration Documentation

◆ error_codes

An enumeration of all error codes returned as part of the NetricsException object.

Enumerator
STATUSOK 

Success.

PARTIAL 

Partial search results.

NOSYSINIT 

System not initialized.

SYSINIT 

System already initialized.

FEATURESET 

Feature not available.

FEATUREOFF 

Feature present but disabled.

EXPECTLIST 

A list was expected.

EXPECTTBLDESC 

A database descriptor lpar was expected.

EXPECTRTBLDESC 

A remote database descriptor lpar was expected.

EXPECTRECORD 

A record was expected.

EXPECTRECKEY 

A record key lpar was expected.

EXPECTQUERY 

A query lpar was expected.

EXPECTTHESNAME 

A thesaurus name lpar was expected.

EXPECTCHARMAP 

A character map name lpar was expected.

TBLPARAM 

Unrecognized database parameter.

CHARCONV 

Error in character encoding conversion.

CHARMAP 

Invalid character mapping.

NORECKEY 

A record key is required.

NOSRCHTXT 

Searchable text is required.

NUMFIELDS 

Record has the wrong number of fields.

FIELDLENSUM 

Field lengths do not sum to record length.

FIELDLEN 

Single field length greater than 2^16-3.

UNKFIELD 

Unknown field.

NSFIELD 

Attempt to search non-searchable field.

NOWGTFLD 

No weight field specified in record weight expression.

TBLNOTCHILD 

Specified table is not a child table.

QUERYEXPR 

Badly constructed query expression.

SRCHPARAM 

Unrecognized search parameter.

UPDPARAM 

Unrecognized update parameter.

PARAMVAL 

Parameter value out of legal range.

PARAMCONFLICT 

Conflicting parameters.

TRAN_EXISTS 

A transaction was detected.

PARAMMISSING 

Parameter missing from list.

PARAMTYPE 

Parameter type is invalid for operation.

ARRAYLEN 

Array parameter has wrong number of values.

LISTLEN 

List has wrong number of items.

PREDTYPE 

Predicate does not evaluate to boolean type.

PREDSTRING 

Error in Predicate string. See error info item.

NOTBLDESC 

No database descriptor.

TBLNOTFOUND 

Database not found.

TBLEXISTS 

Database already exists.

TBLLOCKED 

Database locked by lkt_dblock (Obsolete - not used)

TBLUNLOCKED 

Database not locked by lkt_dblock (Obsolete - not used)

TBLMOVESAME 

Source and destination database are the same.

TBLNOFIELDS 

This table has no fields in it.

NORECORDS 

No records.

RECEXISTS 

Record already exists.

RECNOTFOUND 

Record not found.

PARTIALCHPT 

Some of the tables failed to checkpoint.

CHPTFAIL 

All of the tables failed to checkpoint.

PARTIALRESTORE 

Some of the tables failed to restore.

RESTOREFAIL 

All of the tables failed to restore.

DUPRECKEYS 

Duplicate keys in a batch.

DUPTBLDESCS 

Duplicate dbdescs given.

DUPFIELDNAMES 

Duplicate field names given.

THESNOTFOUND 

Thesaurus not found.

NORLINKMODEL 

No RLINK model.

RLINKMODELNOTFOUND 

RLINK model not found.

MODEL_DATA 

Binary RLINK model data is corrupt or invalid.

NOFEATUREVEC 

No feature vector given for RLINK model.

NUMFEATURESMISMATCH 

RLINK model number of features mismatch.

NOCHARMAP 

No character map with the given name.

NOFUNCTION 

No callback function.

NOQUERY 

No search query.

FILEFORMAT 

File format invalid.

IOERROR 

I/O Error.

EXPIRED 

Trial version expired.

LOOKUP 

Core lookup function returned error.

NOSTATUS 

The NULL error.

NOMEM 

Out of memory.

INTERNAL 

Unexpected internal error.

EXPECTKEYFIELD 

Key field not identified in file load.

EXPECTPARENTKEYFIELD 

Parent key field not identified in file load.

CL_CONFIG 

The configuration file contains errors.

CL_CFG_CONFLICT 

The new configuration conflicts with the current configuration.

GATEWAY 

The server is not a cluster gateway.

JOINSET 

An incomplete or invalid set of joined tables was detected.

TRAN_UNKNOWN 

An explicit transaction ID was given, but it is not an existing open transaction.

TRAN_IN_USE 

This operation was rejected because another operation using this transaction ID is running.

TRAN_LIMIT 

Too many open transactions.

TRANCONFLICT 

An attempt was made to modify an object that is being modified by another transaction.

ACTCONFLICT 

An attempt was made to perform an action that conflicts with an earlier action in this transaction.

HASERRORS 

An attempt was made to commit a transaction that has errors on it.

CHKPT_CORRUPT 

The file system containing the checkpoint system is full or damaged.

OUTPUTLIMIT 

Query output size limits were exceeded.

FILE_NOT_FOUND 

Expected file was not found.

LOOKUP_FLDS_NEEDED 

SORT / PSI lookup fields are required for this query.

QLETREFBROKEN 

The querylet referenced doesn't exist.

QLETREFLOOP 

A querylet reference loop exists.

MODEL_UNSUPPORTED 

The model version does not support the operation.

QUERYLET_LIMIT 

Query too complex: the number of leaf querylets exceeds the limit.

GPU_DEVICE_NOT_ALLOWED 

The GPU device is not supported, or is disallowed on the command line.

REMOTE_DISABLED 

Remote commands are disabled. They can be enabled for a single server using a command line parameter. They are always disabled on a gateway.

SSL 

Error performing SSL/TLS operations.

CMD_CANCELLED 

Command was cancelled.

JOURNAL 

Error performing journal operations.

TOO_MANY_TABLES 

Too many tables.

REGEX 

Invalid regular expression.

ACCESS_DENIED 

Access denied.

SVR_IPCEOF 

Unexpected EOF.

SVR_IPCTIMEOUT 

Socket I/O operation timed out.

SVR_IPCERR 

I/O error on socket.

SVR_HANDSHAKE 

Protocol handshake failed.

SVR_PROTOCMD 

Protocol command not recognized.

SVR_REQUESTFMT 

Protocol request format error.

SVR_BYTECOUNT 

Protocol byte count out of range.

SVR_LINECOUNT 

Protocol line count out of range.

SVR_LINELENGTH 

Protocol line too long.

SVR_PARAM 

Protocol parameter not recognized.

SVR_PARAMFMT 

Protocol parameter format error.

SVR_PARAMVAL 

Protocol parameter value illegal.

SVR_PARAMTYPE 

Protocol parameter type mismatch.

SVR_NODATABASES 

No databases to search.

SVR_NOQUERY 

No search query.

SVR_EXTRAINPUT 

Unexpected additional input.

SVR_LOGFILE 

Log file could not be opened/written.

SVR_ZEROLEN 

No searchable text of zero length.

SVR_NOSTATUS 

Unparsable status line.

SVR_REMOTEHEAP 

Remote heap mode.

SVR_LAYOUT_CONFLICT 

No longer used.

SVR_NODE_CONFLICT 

Conflicting errors from multiple nodes.

SVR_NODE_DOWN 

Node communications failed.

SVR_NODE_DATA_SYNC 

Objects out of sync between nodes.

SVR_OTHER_NODE 

Node operation aborted because another node in the same operation failed.

SVR_NO_DEFAULT_LAYOUT 

No longer used.

SVR_UNKNOWN_LAYOUT 

No longer used.

SVR_DEFERRED 

An error will be happening, but the specific code isn't known yet.

SVR_SHUTDOWN 

Perform server shutdown.

SVR_BLANKLINE 

List terminator (non-error)

IPCEOF 

Obsolete, use SVR_IPCEOF.

IPCTIMEOUT 

Obsolete, use SVR_IPCTIMEOUT.

IPCERR 

Obsolete, use SVR_IPCERR.

HANDSHAKE 

Obsolete, use SVR_HANDSHAKE.

PROTOCMD 

Obsolete, use SVR_PROTOCMD.

REQUESTFMT 

Obsolete, use SVR_REQUESTFMT.

BYTECOUNT 

Obsolete, use SVR_BYTECOUNT.

LINECOUNT 

Obsolete, use SVR_LINECOUNT.

LINELENGTH 

Obsolete, use SVR_LINELENGTH.

PARAM 

Obsolete, use SVR_PARAM.

PARAMFMT 

Obsolete, use SVR_PARAMFMT.

SVRPARAMVAL 

Obsolete, use SVR_PARAMVAL.

NODATABASES 

Obsolete, use SVR_NODATABASES.

SVRNOQUERY 

Obsolete, use SVR_NOQUERY.

EXTRAINPUT 

Obsolete, use SVR_EXTRAINPUT.

LOGFILE 

Obsolete, use SVR_LOGFILE.

ZEROLEN 

Obsolete, use SVR_ZEROLEN.

SVRNOSTATUS 

Obsolete, use SVR_NOSTATUS.

REMOTEHEAP 

Obsolete, use SVR_REMOTEHEAP.

SHUTDOW 

Obsolete, use SVR_SHUTDOWN.

Member Function Documentation

◆ getErrorCode()

int NetricsServerInterface.NetricsException.getErrorCode ( )
inline

Get the error code associated with the error.

If the error code is positive, then the error was returned by the server. If the value of the error code is -1, it is an error indicating misuse of the server interface itself.

IMPORTANT: Error codes for a given error will change from release to release. Because of this, a set of public static variables have been defined which coordinate the error to the proper error code.

The list of error codes returned by each method of the NetricsServerInterface have been provided in the documentation for the interface. For instance, "ARRAYLEN" is the first error listed as being returned by the tblload method. To test for this error in a way that stays consistent from version to version, please use code like this:

(int)NetricsException.error_codes.ARRAYLEN) {
handle_the_ARRAYLEN_error();
}
A NetricsException is thrown whenever an error occurs.
Definition: NetricsException.cs:32
error_codes
An enumeration of all error codes returned as part of the NetricsException object.
Definition: NetricsException_error_codes.cs:18
int getErrorCode()
Get the error code associated with the error.
Definition: NetricsException.cs:102

◆ getExtendedErrorInformation()

String NetricsServerInterface.NetricsException.getExtendedErrorInformation ( )
inline

Get the extended error information.

Whenever possible, the ibi™ Patterns - Search Server will return extended error information, that is, information specific to the cause of the error. For instance, for a batch recadd on an error caused by an attempt to add a record with a record key which already exists, the extended error information would indicate which record it was that caused the error.