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.
---

Reply via email to