Interpreting unknown values in CLI traces

It is possible that a CLI function might return "Unknown value" as a value for an input parameter in a CLI trace.

This can occur if the CLI driver is looking for something specific for that input parameter, yet the application provides a different value. For example, this can occur if you're following outdated definitions of CLI functions or are using CLI functions which have been deprecated.

It is also possible that you could see a CLI function call return an "Option value changed" or a "Keyset Parser Return Code". This is a result of the keyset cursor displaying a message, such as when the cursor is being downgraded to a static cursor for some specific reason.

SQLExecDirect( hStmt=1:1, pszSqlStr="select * from org", cbSqlStr=-3 ) 
    ---> Time elapsed - +5.000000E-002 seconds 
( StmtOut="select * from org" ) 
( COMMIT=0 ) 
( StmtOut=" SELECT A.TABSCHEMA, ...... ) 
( StmtOut=" SELECT A.TABSCHEMA, ...... ) 
( Keyset Parser Return Code=1100 ) 
SQLExecDirect( ) 
    <--- SQL_SUCCESS_WITH_INFO   Time elapsed - +1.06E+001 seconds 

In this CLI trace, the keyset parser has indicated a return code of 1100, which indicates that there is not a unique index or primary key for the table, and therefore a keyset cursor cannot be created. These return codes are not externalized and thus at this point you must contact IBM Software Support if you want further information about the meaning of the return code.

Calling SQLError or SQLDiagRec will indicate that the cursor type was changed. The application should then query the cursor type and concurrency to determine which attribute was changed.