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

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

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

    https://github.com/apache/incubator-trafodion/pull/914#discussion_r96462330
  
    --- Diff: core/sql/executor/ExExeUtilLoad.cpp ---
    @@ -1417,29 +1416,45 @@ short ExExeUtilHBaseBulkLoadTcb::work()
                   
masterGlob->getStatement()->getContext()->setSqlParserFlags(0x20000);
                 }
               }
    +        ComDiagsArea *diagsArea = getDiagsArea();
     
             cliRC = cliInterface()->executeImmediate(loadQuery,
                 NULL,
                 NULL,
                 TRUE,
    -            &rowsAffected_);
    -          if (parserFlagSet)
    -            
masterGlob->getStatement()->getContext()->resetSqlParserFlags(0x20000);
    +            &rowsAffected_,
    +            FALSE,
    +            diagsArea);
     
    +        if (parserFlagSet)
    +            
masterGlob->getStatement()->getContext()->resetSqlParserFlags(0x20000);
             if (cliRC < 0)
             {
               rowsAffected_ = 0;
               cliInterface()->retrieveSQLDiagnostics(getDiagsArea());
               step_ = LOAD_END_ERROR_;
               break;
             }
    -        
    -        step_ = COMPLETE_BULK_LOAD_;
    +        else {
    +           step_ = COMPLETE_BULK_LOAD_;
    +           ComCondition *cond;
    +           Lng32 entryNumber;
    +           while ((cond = diagsArea->findCondition(EXE_ERROR_ROWS_FOUND, 
&entryNumber)) != NULL) {
    +              errorRowCount = cond->getOptionalInteger(0);
    +              diagsArea->deleteWarning(entryNumber);
    +           }
    +           // Need to clear the diags Area to get the correct rowsAffected 
for the LOAD COMPLETE command
    +           // Hence, we might lose any other warnings created at the time 
of loading like error during
    +           // logging error rows
    +           diagsArea->clear();
    +        }
             if (rowsAffected_ == 0)
               step_ = LOAD_END_;
     
    -        sprintf(statusMsgBuf_,"       Rows Processed: %ld 
%c",rowsAffected_, '\n' );
    +        sprintf(statusMsgBuf_,      "       Rows Processed: %ld 
%c",rowsAffected_+errorRowCount, '\n' );
    --- End diff --
    
    It will be good to make a documentation change explaining this. 
RowsProcessed is rows read or some kind of total. To get the actual number of 
rows loaded user should subtract the two numbers (or maybe it comes out as a 
summary of the statement?)


> Bulk load with log error rows enhancements
> ------------------------------------------
>
>                 Key: TRAFODION-2351
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2351
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-exe
>            Reporter: Selvaganesan Govindarajan
>            Assignee: Selvaganesan Govindarajan
>
> Bulk load needs the following enhancements
> 1) Load with log error rows misses out some error rows being logged
> 2) Load with log error rows need to report if there are any error rows
> 3) Load with log error rows need to report where the error rows are logged



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to