DRILL-1063: Fix bug in merge join when value is repeating across batch boundary
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/4a70d568 Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/4a70d568 Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/4a70d568 Branch: refs/heads/master Commit: 4a70d568e0c0a3c69ef977bacd98e6740cd8bfee Parents: a564da9 Author: Steven Phillips <[email protected]> Authored: Wed Aug 6 12:40:04 2014 -0700 Committer: Jacques Nadeau <[email protected]> Committed: Wed Aug 6 16:44:21 2014 -0700 ---------------------------------------------------------------------- .../org/apache/drill/exec/physical/impl/join/JoinTemplate.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/4a70d568/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinTemplate.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinTemplate.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinTemplate.java index 0bfef5b..c704a8a 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinTemplate.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/JoinTemplate.java @@ -157,7 +157,7 @@ public abstract class JoinTemplate implements JoinWorker { } status.advanceRight(); - } while (status.isRightPositionInCurrentBatch() && doCompare(status.getLeftPosition(), status.getRightPosition()) == 0); + } while ((!status.isLeftRepeating() || status.isRightPositionInCurrentBatch()) && status.isRightPositionAllowed() && doCompare(status.getLeftPosition(), status.getRightPosition()) == 0); if (status.getRightPosition() > initialRightPosition && (status.isLeftRepeating() || ! status.isNextLeftPositionInCurrentBatch()))
