diff options
author | Serhii-Harnyk <serhii.harnyk@gmail.com> | 2016-12-27 16:20:37 +0000 |
---|---|---|
committer | Jinfeng Ni <jni@apache.org> | 2017-01-23 17:08:58 -0800 |
commit | 2af709f43d01f341b2a52c6473ea49d6761fdc61 (patch) | |
tree | 6286a2501ff58f083dcd7b4d8846b46e805c8aa0 /exec/java-exec/src/main/java/org | |
parent | 8217697647e7ed10c52cfa91b860730302a339e8 (diff) |
DRILL-5164: Equi-join query results in CompileException when inputs have large number of columns.
close apache/drill#711
Diffstat (limited to 'exec/java-exec/src/main/java/org')
3 files changed, 6 insertions, 4 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java index 23741b07f..f1f81fbb0 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java @@ -439,7 +439,7 @@ public class HashJoinBatch extends AbstractRecordBatch<HashJoinPOP> { .arg(buildIndex.band(JExpr.lit((int) Character.MAX_VALUE))) .arg(outIndex) .arg(inVV.component(buildIndex.shrz(JExpr.lit(16))))); - + g.rotateBlock(); fieldId++; } } @@ -475,7 +475,7 @@ public class HashJoinBatch extends AbstractRecordBatch<HashJoinPOP> { final JVar outVV = g.declareVectorValueSetupAndMember("outgoing", new TypedFieldId(outputType, false, outputFieldId)); g.getEvalBlock().add(outVV.invoke("copyFromSafe").arg(probeIndex).arg(outIndex).arg(inVV)); - + g.rotateBlock(); fieldId++; outputFieldId++; } diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java index a9bb479cc..c351517f9 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java @@ -345,6 +345,7 @@ public class MergeJoinBatch extends AbstractRecordBatch<MergeJoinPOP> { .arg(copyLeftMapping.getValueReadIndex()) .arg(copyLeftMapping.getValueWriteIndex()) .arg(vvIn)); + cg.rotateBlock(); ++vectorId; } } @@ -373,6 +374,7 @@ public class MergeJoinBatch extends AbstractRecordBatch<MergeJoinPOP> { .arg(copyRightMappping.getValueReadIndex()) .arg(copyRightMappping.getValueWriteIndex()) .arg(vvIn)); + cg.rotateBlock(); ++vectorId; } } diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java index 2e92c8ded..bdd9f0eb4 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java @@ -247,7 +247,7 @@ public class NestedLoopJoinBatch extends AbstractRecordBatch<NestedLoopJoinPOP> JVar outVV = nLJClassGenerator.declareVectorValueSetupAndMember("outgoing", new TypedFieldId(fieldType, false, outputFieldId)); nLJClassGenerator.getEvalBlock().add(outVV.invoke("copyFromSafe").arg(leftIndex).arg(outIndex).arg(inVV)); - + nLJClassGenerator.rotateBlock(); fieldId++; outputFieldId++; } @@ -270,7 +270,7 @@ public class NestedLoopJoinBatch extends AbstractRecordBatch<NestedLoopJoinPOP> .arg(recordIndexWithinBatch) .arg(outIndex) .arg(inVV.component(batchIndex))); - + nLJClassGenerator.rotateBlock(); fieldId++; outputFieldId++; } |