[
https://issues.apache.org/jira/browse/HIVE-10787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14554796#comment-14554796
]
Hive QA commented on HIVE-10787:
--------------------------------
{color:green}Overall{color}: +1 all checks pass
Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12734579/HIVE-10787.1.patch
{color:green}SUCCESS:{color} +1 8967 tests passed
Test results:
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3988/testReport
Console output:
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3988/console
Test logs:
http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-3988/
Messages:
{noformat}
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
{noformat}
This message is automatically generated.
ATTACHMENT ID: 12734579 - PreCommit-HIVE-TRUNK-Build
> MatchPath misses the last matched row from the final result set
> ---------------------------------------------------------------
>
> Key: HIVE-10787
> URL: https://issues.apache.org/jira/browse/HIVE-10787
> Project: Hive
> Issue Type: Bug
> Components: UDF
> Affects Versions: 1.2.0
> Reporter: Mohammad Kamrul Islam
> Assignee: Mohammad Kamrul Islam
> Attachments: HIVE-10787.1.patch
>
>
> For example, if you have a STAR(*) pattern at the end, the current code
> misses the last row from the final result. For example, if I have pattern
> like (LATE.EARLY*), the matched rows are :
> 1. LATE
> 2. EARLY
> In the current implementation, the final 'tpath' missed the last "EARLY" and
> returns only LATE . Ideally it should return LATE and EARLY.
> The following code snippets shows the bug.
> {noformat}
> 0. SymbolFunctionResult rowResult = symbolFn.match(row, pItr);
> 1. while (rowResult.matches && pItr.hasNext())
> 2. {
> 3. row = pItr.next();
> 4. rowResult = symbolFn.match(row, pItr);
> 5. }
> 6.
> 7. result.nextRow = pItr.getIndex() - 1;
> {noformat}
> Line 7 of the code always moves the row index by one. If ,in some cases, loop
> (line 1) is never executed (due to pItr.hasNext() being 'false'), the code
> still moves the row pointer back by one. Although the line 0 found the first
> match and the iterator reaches to the end.
> I'm uploading a patch which I already tested.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)