Github user DaveBirdsall commented on a diff in the pull request:

    https://github.com/apache/trafodion/pull/1470#discussion_r174279774
  
    --- Diff: core/sql/sqlci/SqlCmd.cpp ---
    @@ -440,25 +461,50 @@ void handleLocalError(ComDiagsArea &diags, SqlciEnv 
*sqlci_env)
       // when HandleCLIError() is called with a error after a CLI call.
       // Soln :10-021203-3433
     
    -  if (diags.getNumber(DgSqlCode::ERROR_)) {
    +  if (diags->getNumber(DgSqlCode::ERROR_)) {
          worstcode = SQL_Error;
       }
    -  else if (diags.getNumber(DgSqlCode::WARNING_)) {
    +  else if (diags->getNumber(DgSqlCode::WARNING_)) {
         worstcode = SQL_Warning;
       }
     
       if (!lastLineWasABlank) log->WriteAllWithoutEOL("");
       lastLineWasABlank = TRUE;
     
       ostringstream errMsg;
    -  NADumpDiags(errMsg, &diags, TRUE/*newline*/, 0, NULL, log->isVerbose(),
    +  NADumpDiags(errMsg, diags, TRUE/*newline*/, 0, NULL, log->isVerbose(),
                   sqlci_env->getTerminalCharset());
     
       errMsg << ends;
     
       log->WriteAllWithoutEOL(errMsg.str().c_str());
     }
     
    +Int64 getRowsAffected(SQLSTMT_ID *stmt)
    +{
    +   Int32 rc;
    +   rc = SQL_EXEC_GetDiagnosticsStmtInfo2(stmt,
    +                           SQLDIAG_ROW_COUNT, &rowsAffected,
    +                           NULL, 0, NULL);
    +   if (rc == 0)
    +      return rowsAffected; 
    +   else
    +      return -1;
    +}
    +
    +Int64 getDiagsCondCount(SQLSTMT_ID *stmt)
    +{
    +   Int32 rc;
    +   Int64 diagsCondCount;
    +   rc = SQL_EXEC_GetDiagnosticsStmtInfo2(stmt,
    +                           SQLDIAG_NUMBER, &diagsCondCount,
    +                           NULL, 0, NULL);
    +   if (rc == 0)
    +      return 0; 
    +   else
    +      return diagsCondCount;
    --- End diff --
    
    This is bizzarre. So if SQL_EXEC_GetDiagnosticsStmtInfo2 returns an error, 
we return diagsCondCount?


---

Reply via email to