[ 
https://issues.apache.org/jira/browse/TRAFODION-3009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16424530#comment-16424530
 ] 

ASF GitHub Bot commented on TRAFODION-3009:
-------------------------------------------

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

    https://github.com/apache/trafodion/pull/1504#discussion_r178947965
  
    --- Diff: core/sql/exp/ExpError.cpp ---
    @@ -135,6 +135,20 @@ ComDiagsArea *ExRaiseSqlError(CollHeap* heap, 
ComDiagsArea** diagsArea,
                        intParam1, intParam2, intParam3, 
                        stringParam1, stringParam2, stringParam3);
     }
    + 
    +ComDiagsArea *ExRaiseSqlError(CollHeap* heap, ComDiagsArea** diagsArea,
    --- End diff --
    
    This function is modeled after other ExRaiseSqlError functions already in 
this file.  I wasn't sure how ComDiagsArea would be passed to the callers of 
ExRaiseSqlError, meaning if it would exist or not.  If the ComDiagsArea is 
passed to the caller as a parameter to itself and then it would be become 
recursive change to ensure that all the function in the chain passes reference 
pointers.
    
     The existing ExRaiseSqlError excepts the enum ExeErrorCode needs to be 
updated to raise sql error correctly.  However, with the embedded arkcmp 
concepts, even the non-executor error codes needs to be passed to this 
function.  Casting to enum ExeErrorCode when the code doesn't exist in it 
causes unexpected value. Hence this new function was introduced to raise sql 
error. Earlier, the code assumed that diagsArea is always allocated and 
populated it.


> Streamline error handling in Executor utility commands
> ------------------------------------------------------
>
>                 Key: TRAFODION-3009
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-3009
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: -exe, sql-exe
>            Reporter: Selvaganesan Govindarajan
>            Assignee: Selvaganesan Govindarajan
>            Priority: Major
>
> Executor utility commands are the commands that issue sql statements during 
> its execution to complete its task. These operators are  derived from 
> ExExeUtilTcb operator in Trafodion.  These commands assume ComDiagsArea is 
> allocated in advance. This is not in accordance with the design as outlined in
> [https://cwiki.apache.org/confluence/display/TRAFODION/SQL+Diagnostics+Architecture+and+Design]
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to