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

    https://github.com/apache/trafodion/pull/1504#discussion_r178932278
  
    --- Diff: core/sql/executor/ExExeUtilCommon.cpp ---
    @@ -669,7 +669,9 @@ short ExExeUtilTcb::executeQuery(char * task,
            char * stringParam1 = NULL;
            Lng32   intParam1 = ComDiags_UnInitialized_Int;
     
    -       retcode = 
(short)cliInterface()->retrieveSQLDiagnostics(getDiagsArea());
    +            
setDiagsArea(cliInterface()->allocAndRetrieveSQLDiagnostics(getDiagsArea()));
    +            if (getDiagsArea() != NULL)
    +           retcode = 0;
    --- End diff --
    
    Yes. We can rely on that assumption. It is strange that the earlier code 
sets the sqlcode to the return code of SQL_EXEC_MergeDiagnosticsInternal to be 
the sqlcode.  See line 700 below. When we are able to obtain the diagnostics 
area, the sqlcode is set the main error code


---

Reply via email to