aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter
diff options
context:
space:
mode:
authorSorabh Hamirwasia <shamirwasia@maprtech.com>2018-04-04 17:54:58 -0700
committerVitalii Diravka <vitalii.diravka@gmail.com>2018-04-29 23:20:55 +0300
commit2f275d1723a9e91acb94a359c4db2770385aac93 (patch)
tree90b07bd3c3655cf79a70361768ca81874aa6b2ab /exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter
parentf563f38225d96872fd4bff237c1d70469b2664bf (diff)
DRILL-6327: Update unary operators to handle IterOutcome.EMIT
Note: Handles for Non-Blocking Unary operators (like Filter/Project/etc) with EMIT Iter.Outcome closes #1240
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterRecordBatch.java5
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterTemplate2.java1
2 files changed, 5 insertions, 1 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterRecordBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterRecordBatch.java
index f0b832a78..ac6d99fcc 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterRecordBatch.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterRecordBatch.java
@@ -81,7 +81,7 @@ public class FilterRecordBatch extends AbstractSingleRecordBatch<Filter> {
throw new UnsupportedOperationException(e);
}
- return IterOutcome.OK;
+ return getFinalOutcome(false);
}
@Override
@@ -168,6 +168,9 @@ public class FilterRecordBatch extends AbstractSingleRecordBatch<Filter> {
final ErrorCollector collector = new ErrorCollectorImpl();
final List<TransferPair> transfers = Lists.newArrayList();
final ClassGenerator<Filterer> cg = CodeGenerator.getRoot(Filterer.TEMPLATE_DEFINITION2, context.getOptions());
+ // Uncomment below lines to enable saving generated code file for debugging
+ // cg.getCodeGenerator().plainJavaCapable(true);
+ // cg.getCodeGenerator().saveCodeForDebugging(true);
final LogicalExpression expr = ExpressionTreeMaterializer.materialize(popConfig.getExpr(), incoming, collector,
context.getFunctionRegistry(), false, unionTypeEnabled);
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterTemplate2.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterTemplate2.java
index 52533bd50..6d1f03462 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterTemplate2.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/filter/FilterTemplate2.java
@@ -61,6 +61,7 @@ public abstract class FilterTemplate2 implements Filterer {
@Override
public void filterBatch(int recordCount) throws SchemaChangeException{
if (recordCount == 0) {
+ outgoingSelectionVector.setRecordCount(0);
return;
}
if (! outgoingSelectionVector.allocateNewSafe(recordCount)) {