clintropolis commented on code in PR #12914:
URL: https://github.com/apache/druid/pull/12914#discussion_r953262388


##########
core/src/main/java/org/apache/druid/segment/column/ValueType.java:
##########
@@ -63,23 +63,37 @@ public enum ValueType implements TypeDescriptor
    * String object type. This type may be used as a grouping key, an input to 
certain types of complex sketch
    * aggregators, and as an input to expression virtual columns. String types 
might potentially be 'multi-valued' when
    * stored in segments, and contextually at various layers of query 
processing, but this information is not available
-   * through this enum alone, and must be accompany this type indicator to 
properly handle.
+   * at this level.
+   *
+   * Strings are typically represented as {@link String}, but multi-value 
strings might also appear as a
+   * {@link java.util.List<String>}.
    */
   STRING,
   /**
    * Placeholder for arbitrary 'complex' types, which have a corresponding 
serializer/deserializer implementation. Note
    * that knowing a type is complex alone isn't enough information to work 
with it directly, and additional information
-   * in the form of a type name that is registered in the complex type 
registry must be available to make this type
-   * meaningful. This type is not currently supported as a grouping key for 
aggregations, and may not be used as an
-   * input to expression virtual columns, and might only be supported by the 
specific aggregators crafted to handle
-   * this complex type.
+   * in the form of a type name which must be registered in the complex type 
registry. This type is not currently
+   * supported as a grouping key for aggregations, and might only be supported 
by the specific aggregators crafted to
+   * handle this complex type. Filtering on this type with standard filters 
will most likely have limited support, and
+   * may match as a "null" value.
+   *
+   * These types are represented by the individual Java type associated with 
the complex type name as defined in the
+   * type registry.
    */
   COMPLEX,
 
   /**
-   * Placeholder for arbitrary arrays of other {@link ValueType}. This type is 
not currently supported as a grouping
+   * Placeholder for arbitrary arrays of other {@link ValueType}. This type 
has limited support as a grouping

Review Comment:
   you can group on specific array types, such as `ARRAY<STRING>`, 
`ARRAY<LONG>`, `ARRAY<DOUBLE>`, `ARRAY<FLOAT>`, but not fully generically, like 
on `ARRAY<ARRAY<LONG>>`, or `ARRAY<COMPLEX<json>>` (assuming grouping on 
`COMPLEX` types was also supported, which it isn't yet... but soon.). I'll 
clarify that some specific array grouping is supported, but array grouping in 
general is not.



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

To unsubscribe, e-mail: [email protected]

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