Github user amansinha100 commented on a diff in the pull request:
https://github.com/apache/drill/pull/504#discussion_r64101122
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/project/ProjectRecordBatch.java
---
@@ -136,6 +145,10 @@ public VectorContainer getOutgoingContainer() {
@Override
protected IterOutcome doWork() {
+ if (wasNone) {
+ return IterOutcome.NONE;
+ }
+
int incomingRecordCount = incoming.getRecordCount();
if (first && incomingRecordCount == 0) {
--- End diff --
Actually, if the first batch was non-empty, the new changes wouldn't apply
because of the following check:
if (first && incomingRecordCount == 0) { ... }
Then if the next incoming batch is empty, it should continue to work since
we have already produced the schema from the first batch. On the other hand if
the first batch is empty and we see a NONE iterator outcome, we want to make
sure that a schema is produced but at the same time not call next() since a
NONE outcome has already been seen.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---