Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2818#discussion_r227707418
--- Diff:
integration/spark2/src/main/scala/org/apache/spark/sql/execution/strategy/CarbonLateDecodeStrategy.scala
---
@@ -337,19 +340,35 @@ private[sql] class CarbonLateDecodeStrategy extends
SparkStrategy {
metadata,
needDecoder,
updateRequestedColumns.asInstanceOf[Seq[Attribute]])
- filterCondition.map(execution.FilterExec(_, scan)).getOrElse(scan)
+ // Check whether spark should handle row filters in case of vector
flow.
+ if (!vectorPushRowFilters && scan.isInstanceOf[CarbonDataSourceScan]
+ && !hasDictionaryFilterCols) {
--- End diff --
In case of the global dictionary if it has the filter then it needs to
decode all data before applying the filter in spark's side. So we should
disable this option in case of filters on global dictionary.
---