Dad error codes

Dad has many error codes available:
  1. Local errors. returned in *err. They are returned as negative integers (the error constants are positive - therefore the minus sign before them) and belong to
    aNoerror = 0 well this is no error - be happy
    - aEnomem = -1 a heap problem - probably a bug
    If you run into this problem there are several possible reasons. Either you accessed and changed a memory region outside your arrays and allocated heap blocks or (very unlikely) there is a bug in the dad libary. If you are sure the bug is not due to your code, please send me a bug report.
    - aEnotConn = -2 No connection is avaiable. Servershutdown?
    This error may occur during the build up of the connection if either the specified host does not run a server or the socket number given in the client call to dadHost is not the one the server uses. Later on this error occurs if the server shuts down the connection either because the server is halted or the net connection is lost.
    - aEdafnotknown = -3 Dataflowname not known
    This error will be raised if a specified dataflow name in the is either not known in the client's or the server's DDL.
    - aEtabnotknown = -4 Table not known
    This error is raised if a specific table is either not known to the client's or the server's DDL.
    - aEfilenotknown = -5 File not known
    This error is an internal server error and should not be raised at all. Send a bugreport if you get it.
    - aEnomorerecs = -6 No more records
    This error will be raised if you try to use the record tracing commands like dadNext or dadLast and are already at the last resp. the first position in the server's GAF.
    - aErecnotfound = -7 A record is not available
    This error is an internal server error and should not be raised at all. Send a bugreport if you get it.
    - aEwriteerror = -8 Write Error
    Probably a disk space problem on the server or on a client that uses File IO.
    - aEnotanupdatedaf = -9 Dataflow is not updatable (no spec. fields)
    This error is raised, if you try to open a dataflow in update mode that has not the update fields in the keytable or if you try to run a dadUpdate on a dataflow with tables that do not have the update fields in the table.
    - aEupdinconsistent = -10 Updateinformation is inconsition on server
    This error is raised if no information for a specific time could be found on the server in a dadUpdate call.
    - aEcmdnotknown = -11 Unknown DAD command received - protocol error
    This error points to a network problem. It should normally not be received.
    - aETimeout = -12 Timeout while waiting
    The response from the server does not arrive in the expected time or the timeout interval of the dadMsg call is reached without receiving a message from the server.
    - aEsembusy = -13 Semaphore is busy
    The requested semaphore on the server is currently in use. Try later.
    - aCondFails = -14 Condition fails
    The dadAcceptXXX call fails because the specified condition is not true for the current dataflow.
    - aEnotkeytab = -15 Condition table is no key table
    The dadAcceptSelect is called on conditions which do not completly use the keytable.
    - aEParserError = -16 Parser expression is not valid.
    The condition sent to the server contains a syntactical error. A more detailed desciption together with the offending column in the parser string is send in the message.
    - aEFieldNotKnown = -17 Field not known.
    A field name is not known to the parser.
    - aEnotanupdatetab = -18 Table not updateable.
    A table has to contain the speciall fields mentioned in the description for the dad ddl. Otherwise it is not updateable.
    - aEalreadyConn = -19 Already Connected.
    A call to dadConnect was made twice for the same dataflow.
    - aEaccessDenied = -20 Access denied.
    Access restrictions apply since dad 0.96. Some operations require CAC_READ or CAC_WRITE in the openflags to be permitted.
    - aEwouldblock = -21 Would Block.
    The last Write Call (dadWrite) would block on the connection. Therefore it was not performed. This error may only occur if the connection was opened with CAC_NDELAY.
    - aEnoKeyTable = -22 No KeyTable.
    An operation was attempted where the Server Keytable was involved. Either CAC_KEYTABLE was not specified in the opening of the connection or the server does not run an Adamo RZ file where Keytables are involved.
    - aEbadServerSetup = -23 Bad Server Setup.
    Servers can handle different dataflows if
    • One table does appear in at most one dataflow
    • The keytables are never part of any dataflow
    This server discovered one of the above errors. (The server log file gives more hints).
    - aEFileExists = -24 File exists.
    A file to be created does already exist. The server refuses to overwrite it.
    - aEBadTime = -25 Bad Time.
    An illegal time value was given to the server causing index problems. A time of 0 is not allowed in dad - use TIM_SINCEEVER instead.

    However most of them cannot occur locally but on the server side. The server then sends a c_Nack command (number +1) you may evaluate the global variablle nack_errno

  2. remote errors: *err contains c_Nack and the global variable nack_errno one of the above errors. The value of nack_errno may also be obtained by a call to dadGetNackErrno.
  3. protocal errors: All other numbers in *err belong to unknown protocol packets. See the file command.h for details.

This page is maintained by Wolfgang Wander.