Github user sounakr commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2261#discussion_r186056928
--- 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 --
In case if i have to place a negative condition then we have to add
Non Dictionary
-------------------
Boolean
short
int
float
long
double
Null
Byte
Dictionary
-------------
string
array
struct
timestamp
date
char
AS dictionary check is smaller keeping it as it is.
---