danny0405 commented on code in PR #8101:
URL: https://github.com/apache/hudi/pull/8101#discussion_r1136491610


##########
hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionEvaluators.java:
##########
@@ -156,12 +156,20 @@ public static Evaluator fromExpression(CallExpression 
expr) {
   public interface Evaluator extends Serializable {
 
     /**
-     * Decides whether it's possible to match based on the column stats.
+     * Evaluates whether it's possible to match based on the column stats.
      *
      * @param columnStatsMap column statistics
-     * @return
+     * @return false if it's not possible to match, true otherwise.
      */
     boolean eval(Map<String, ColumnStats> columnStatsMap);
+
+    /**
+     * Evaluates whether it matches based on the column values.
+     *
+     * @param columnValues column values
+     * @return true if it's matches, false otherwise.
+     */
+    boolean eval(Object[] columnValues);
   }

Review Comment:
   Not sure whether I got your idea, for a expression `Evaluator`, we firstly 
bind the field reference to it, that means you can then fetch the field value 
from the reference index and the given rows, for partition pruning, things are 
a little different because in on partition, all the data files may share the 
same partition path values, but the partition values should be also included in 
the data row, so you can still do the similar filteiring just like we do to 
data skipping.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@hudi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to