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]