Github user kumarvishal09 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2261#discussion_r186043853
--- Diff:
core/src/main/java/org/apache/carbondata/core/metadata/schema/table/TableSchemaBuilder.java
---
@@ -108,21 +115,36 @@ public void setSortColumns(List<ColumnSchema>
sortColumns) {
}
public ColumnSchema addColumn(StructField field, boolean isSortColumn) {
+ return addColumn(field, null, isSortColumn, false);
+ }
+
+ private ColumnSchema addColumn(StructField field, String parentName,
boolean isSortColumn,
+ boolean isComplexChild) {
Objects.requireNonNull(field);
checkRepeatColumnName(field);
ColumnSchema newColumn = new ColumnSchema();
- newColumn.setColumnName(field.getFieldName());
+ if (parentName != null) {
+ newColumn.setColumnName(parentName + "." + field.getFieldName());
+ } else {
+ newColumn.setColumnName(field.getFieldName());
+ }
newColumn.setDataType(field.getDataType());
if (isSortColumn ||
field.getDataType() == DataTypes.STRING ||
--- End diff --
Instead of adding so many conditions in if add
if(!(field.getDataType()==DataTypes.Double ||
field.getDataType()==DataTypes.BigDecimal)). Dimension column can be long,
short, int, currently it is not handled
---