Github user jackylk commented on a diff in the pull request: https://github.com/apache/carbondata/pull/2204#discussion_r183230067 --- Diff: core/src/main/java/org/apache/carbondata/core/datamap/DataMapChooser.java --- @@ -93,6 +93,48 @@ public DataMapExprWrapper choose(CarbonTable carbonTable, FilterResolverIntf res resolverIntf); } + /** + * Return a chosen datamap based on input filter. See {@link DataMapChooser} + */ + public DataMapExprWrapper chooseFG(CarbonTable carbonTable, FilterResolverIntf resolverIntf) + throws IOException { + if (resolverIntf != null) { + Expression expression = resolverIntf.getFilterExpression(); + // First check for FG datamaps if any exist + List<TableDataMap> allDataMapFG = + DataMapStoreManager.getInstance().getAllDataMap(carbonTable, DataMapLevel.FG); + ExpressionTuple tuple = selectDataMap(expression, allDataMapFG, resolverIntf); + if (tuple.dataMapExprWrapper != null) { + return tuple.dataMapExprWrapper; + } + } + // Return the default datamap if no other datamap exists. + return null; + } + + /** + * Return a chosen datamap based on input filter. See {@link DataMapChooser} + */ + public DataMapExprWrapper chooseCG(CarbonTable carbonTable, FilterResolverIntf resolverIntf) --- End diff -- rename to `chooseCGDataMap`
---