Github user ilooner commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1057#discussion_r157894423
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/svremover/CopierTemplate2.java
 ---
    @@ -53,17 +51,32 @@ public int copyRecords(int index, int recordCount) 
throws SchemaChangeException
           }
         }
     
    -    int outgoingPosition = 0;
    +    return insertRecords(0, index, recordCount);
    +  }
    +
    +  @Override
    +  public int appendRecord(int index) throws SchemaChangeException {
    +    return appendRecords(index, 1);
    +  }
    +
    +  @Override
    +  public int appendRecords(int index, int recordCount) throws 
SchemaChangeException {
    +    return insertRecords(outgoing.getRecordCount(), index, recordCount);
    +  }
    +
    +  private int insertRecords(int outgoingPosition, int index, int 
recordCount) throws SchemaChangeException {
    +    final int endIndex = index + recordCount;
     
    -    for(int svIndex = index; svIndex < index + recordCount; svIndex++, 
outgoingPosition++){
    +    for(int svIndex = index; svIndex < endIndex; svIndex++, 
outgoingPosition++){
           doEval(sv2.getIndex(svIndex), outgoingPosition);
         }
    +
    +    outgoing.setRecordCount(outgoingPosition);
         return outgoingPosition;
       }
     
    -  public abstract void doSetup(@Named("context") FragmentContext context,
    -                               @Named("incoming") RecordBatch incoming,
    -                               @Named("outgoing") RecordBatch outgoing)
    +  public abstract void doSetup(@Named("incoming") RecordBatch incoming,
    +                               @Named("outgoing") VectorContainer outgoing)
    --- End diff --
    
    The copiers are only used in the SVRemover and TopN operator. I have 
replaced the code generated copiers in both now to use the GenericCopiers.


---

Reply via email to