Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/938#discussion_r137939223
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggTemplate.java
 ---
    @@ -297,10 +302,7 @@ public void outputRecordValues(@Named("htRowIdx") int 
htRowIdx, @Named("outRowId
       }
     
       @Override
    -  public void setup(HashAggregate hashAggrConfig, HashTableConfig 
htConfig, FragmentContext context,
    -                    OperatorStats stats, OperatorContext oContext, 
RecordBatch incoming, HashAggBatch outgoing,
    -                    LogicalExpression[] valueExprs, List<TypedFieldId> 
valueFieldIds, TypedFieldId[] groupByOutFieldIds,
    -                    VectorContainer outContainer) throws 
SchemaChangeException, IOException {
    +  public void setup(HashAggregate hashAggrConfig, HashTableConfig 
htConfig, FragmentContext context, OperatorStats stats, OperatorContext 
oContext, RecordBatch incoming, HashAggBatch outgoing, LogicalExpression[] 
valueExprs, List<TypedFieldId> valueFieldIds, TypedFieldId[] 
groupByOutFieldIds, VectorContainer outContainer, int extraRowBytes) throws 
SchemaChangeException, IOException {
    --- End diff --
    
    Methods and constructors with many arguments are generally frowned upon as 
it suggests that a single class is trying to do too much: it is has too much 
internal coupling, performing tasks that should be broken apart. Can this 
single, huge, class be split into smaller, more focused, abstractions?


---

Reply via email to