Github user xuchuanyin commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2254#discussion_r185227763
--- Diff:
core/src/main/java/org/apache/carbondata/core/datamap/DataMapChooser.java ---
@@ -291,8 +295,8 @@ private boolean contains(DataMapMeta mapMeta,
List<ColumnExpression> columnExpre
}
boolean contains = true;
for (ColumnExpression expression : columnExpressions) {
- if
(!mapMeta.getIndexedColumns().contains(expression.getColumnName()) || !mapMeta
- .getOptimizedOperation().containsAll(expressionTypes)) {
+ if
(!mapMeta.getIndexedColumnNames().contains(expression.getColumnName()) ||
+ !mapMeta.getOptimizedOperation().containsAll(expressionTypes)) {
--- End diff --
What does `expressionTypes` mean here?
In an expression, we just if the column in ***this*** expression is in
indexedColumns as well as the expressionType in ***this*** exception. But it
seems that the `expressionTypes` here does not belong to ***this*** expression.
---