Github user jackylk commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2605#discussion_r208186221
--- Diff: integration/spark-common/src/main/scala/org/apache/carbondata/spark/util/CarbonScalaUtil.scala ---
@@ -641,6 +641,78 @@ object CarbonScalaUtil {
}
}
+ /**
+ * This method validates all the child columns of complex column recursively to check whether
+ * any of the child column is of string dataType or not
+ *
+ * @param field
+ */
+ def validateChildColumnsRecursively(field: Field): Boolean = {
+ if (field.children.isDefined && null != field.children.get) {
+ field.children.get.exists { childColumn =>
+ if (childColumn.children.isDefined && null != childColumn.children.get) {
+ validateChildColumnsRecursively(childColumn)
+ } else {
+ childColumn.dataType.get.equalsIgnoreCase("string")
+ }
+ }
+ } else {
+ false
+ }
+ }
+
+ /**
+ * This method validates the local dictionary configured columns
+ *
+ * @param fields
--- End diff --
please add parameter description for all newly added parameter
---