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?
---