xiangfu0 commented on code in PR #13905: URL: https://github.com/apache/pinot/pull/13905#discussion_r1737700349
########## pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/creator/impl/SegmentColumnarIndexCreator.java: ########## @@ -633,6 +647,55 @@ public static void addColumnMetadataInfo(PropertiesConfiguration properties, Str } } + /** + * In order to persist complex field metadata, we need to recursively add child field specs + * So, each complex field spec will have a property for its child field names and each child field will have its + * own properties of the detailed field spec. + * E.g. a COMPLEX type `intMap` of Map<String, Integer> has 2 child fields: + * - key in STRING type and value in INT type. + * Then we will have the following properties to define a COMPLEX field: + * column.intMap.childFieldNames = [key, value] + * column.intMap$$key.columnType = DIMENSION + * column.intMap$$key.dataType = STRING + * column.intMap$$key.isSingleValued = true + * column.intMap$$value.columnType = DIMENSION + * column.intMap$$value.dataType = INT + * column.intMap$$value.isSingleValued = true + */ + public static void addFieldSpec(PropertiesConfiguration properties, String column, FieldSpec fieldSpec) { Review Comment: This is only used to recover the ChildFieldSpec for ComplexFieldSpec. It won't persist any column metadata. -- 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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org