Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2818#discussion_r225787305
--- 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 --
Please cross check if check for `hasDictionaryFilterCols` is required for
setting the directScan to true because directScan and Vector reader are
co-related as both will use the vector flow. So if vector flow is enabled then
directScan can automatically be enabled and vice-versa.
If required please add a detailed comment to explain the same
---