clintropolis commented on a change in pull request #9638:
URL: https://github.com/apache/druid/pull/9638#discussion_r472812881



##########
File path: 
processing/src/main/java/org/apache/druid/query/aggregation/AggregatorFactory.java
##########
@@ -211,22 +213,35 @@ public AggregatorFactory 
getMergingFactory(AggregatorFactory other) throws Aggre
   public abstract List<String> requiredFields();
 
   /**
-   * Get the type name of the intermediate type for this aggregator. This is 
the same as the type returned by
+   * Get the "intermediate" {@link ValueType} for this aggregator. This is the 
same as the type returned by
    * {@link #deserialize} and the type accepted by {@link #combine}. However, 
it is *not* necessarily the same type
    * returned by {@link #finalizeComputation}.
+   */
+  public abstract ValueType getType();

Review comment:
       We already have `ColumnCapabilities` which is a richer but a bit more 
segment focused version of a thing that provides details about a given column, 
and #10277 expands that to also include complex type name, so I think if we are 
going to use a consolidated type we should consider using that since it is used 
pretty heavily throughout the engines to help determine the correct way to 
process columns (or a new interface that provides a subset of the functionality 
that `ColumnCapabilities` can extend as mentioned in another thread). I need to 
think a bit harder about what would be most useful for `RowSignature` to have 
on hand, which is currently the type used to serve similar functionality to 
higher levels of the engine what `ColumnCapabilities` provides at lower levels, 
before making a change like this though.
   
   I'm not sure if it is useful to combine the intermediary and finalized types 
in one place, since callers should typically only need one or the other, 
depending on the caller, as mentioned in PR description and this thread 
https://github.com/apache/druid/pull/9638#discussion_r417758925. We currently 
haven't quite added enough information through for most callers to be able to 
provide this context quite yet though, so it also needs a bit further thought.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to