Verified the fix on cluster Amber7 with Traf 1.1.0RC1 build. SQLCancel worked as expected.
Below are the validation steps in ODBCTest:
Full Connect(Default)
Env. Attr. SQL_ATTR_ODBC_VERSION set to SQL_OV_ODBC3
Successfully connected to DSN 'amber7'. SQLSetStmtAttr: In: StatementHandle = 0x00000000003BB220, Attribute = SQL_ATTR_ASYNC_ENABLE=4, ValuePtr = SQL_ASYNC_ENABLE_ON=1, StringLength = SQL_NTS=-3, fAttribute Type = SQL_C_SLONG=-16 Return: SQL_SUCCESS=0 SQLExecDirect: In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion."_MD_".columns a, ...", Statementlength = 105 Return: SQL_STILL_EXECUTING=2 SQLExecDirect: In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion."_MD_".columns a, ...", Statementlength = 105 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLCancel: In: StatementHandle = 0x00000000003BB220 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_ERROR=-1 stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:48:23]" stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled." SQLExecDirect: In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion."_MD_".columns a, ...", Statementlength = 134 Return: SQL_STILL_EXECUTING=2 SQLExecDirect: In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion."_MD_".columns a, ...", Statementlength = 134 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLCancel: In: StatementHandle = 0x00000000003BB220 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_ERROR=-1 stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:50:08]" stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled." SQLExecDirect: In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", Statementlength = 232 Return: SQL_STILL_EXECUTING=2 SQLExecDirect: In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", Statementlength = 232 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLCancel: In: StatementHandle = 0x00000000003BB220 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_ERROR=-1 stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:52:03]" stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled." SQLPrepare: In: StatementHandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", TextLength = 232 Return: SQL_STILL_EXECUTING=2 SQLPrepare: In: StatementHandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", TextLength = 232 Return: SQL_SUCCESS=0 SQLExecute: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLExecute: In: StatementHandle = 0x00000000003BB220 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_STILL_EXECUTING=2 SQLCancel: In: StatementHandle = 0x00000000003BB220 Return: SQL_SUCCESS=0 SQLFetch: In: StatementHandle = 0x00000000003BB220 Return: SQL_ERROR=-1 stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:53:56]" stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2 MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled."
Verified the fix on cluster Amber7 with Traf 1.1.0RC1 build. SQLCancel worked as expected.
Below are the validation steps in ODBCTest:
Full Connect(Default)
Env. Attr. SQL_ATTR_ ODBC_VERSION set to SQL_OV_ODBC3
Successfully connected to DSN 'amber7'. ASYNC_ENABLE= 4, ValuePtr = SQL_ASYNC_ ENABLE_ ON=1, StringLength = SQL_NTS=-3,
fAttribute Type = SQL_C_SLONG=-16 "_MD_". columns a, ...", Statementlength = 105 EXECUTING= 2 "_MD_". columns a, ...", Statementlength = 105 EXECUTING= 2 EXECUTING= 2
MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:48:23]"
MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled." "_MD_". columns a, ...", Statementlength = 134 EXECUTING= 2 "_MD_". columns a, ...", Statementlength = 134 EXECUTING= 2 EXECUTING= 2
MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:50:08]"
MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled." EXECUTING= 2 EXECUTING= 2 EXECUTING= 2
MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:52:03]"
MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled." EXECUTING= 2 EXECUTING= 2 EXECUTING= 2 EXECUTING= 2
MessageText = "[TRAF][Trafodion ODBC Driver][Trafodion Database] SQL error:*** ERROR[8007] The operation has been canceled. [2015-04-20 20:53:56]"
MessageText = "[TRAF][Trafodion ODBC Driver] Operation cancelled."
SQLSetStmtAttr:
In: StatementHandle = 0x00000000003BB220, Attribute = SQL_ATTR_
Return: SQL_SUCCESS=0
SQLExecDirect:
In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion.
Return: SQL_STILL_
SQLExecDirect:
In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion.
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLCancel:
In: StatementHandle = 0x00000000003BB220
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_ERROR=-1
stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2
stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2
SQLExecDirect:
In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion.
Return: SQL_STILL_
SQLExecDirect:
In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from trafodion.
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLCancel:
In: StatementHandle = 0x00000000003BB220
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_ERROR=-1
stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2
stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2
SQLExecDirect:
In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", Statementlength = 232
Return: SQL_STILL_
SQLExecDirect:
In: Statementhandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", Statementlength = 232
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLCancel:
In: StatementHandle = 0x00000000003BB220
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_ERROR=-1
stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2
stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2
SQLPrepare:
In: StatementHandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", TextLength = 232
Return: SQL_STILL_
SQLPrepare:
In: StatementHandle = 0x00000000003BB220, StatementText = "select count(*) from "_MD_".columns a, "_MD_".inde...", TextLength = 232
Return: SQL_SUCCESS=0
SQLExecute:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLExecute:
In: StatementHandle = 0x00000000003BB220
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_STILL_
SQLCancel:
In: StatementHandle = 0x00000000003BB220
Return: SQL_SUCCESS=0
SQLFetch:
In: StatementHandle = 0x00000000003BB220
Return: SQL_ERROR=-1
stmt: szSqlState = "HY008", *pfNativeError = -8007, *pcbErrorMsg = 131, *ColumnNumber = -1, *RowNumber = -2
stmt: szSqlState = "S1008", *pfNativeError = 0, *pcbErrorMsg = 50, *ColumnNumber = -1, *RowNumber = -2