Gabriel39 commented on code in PR #67441:
URL: https://github.com/apache/doris/pull/67441#discussion_r3925385970


##########
be/src/exprs/vectorized_fn_call.cpp:
##########
@@ -683,12 +683,13 @@ bool 
VectorizedFnCall::is_safe_to_execute_on_selected_rows() const {
                                                                     
"is_null_pred",
                                                                     
"is_not_null_pred",
                                                                     
"element_at",
-                                                                    
"struct_element"};
+                                                                    
"struct_element",
+                                                                    
"array_contains"};

Review Comment:
   Fixed in 214ba43510. The safe-prefix classification now mirrors the current 
BE dispatch domain, including string compatibility, and keeps unsupported 
complex element signatures unsafe. Added a regression for ARRAY<ARRAY<INT>> 
with an ARRAY<INT> needle.



##########
be/src/format_v2/parquet/parquet_statistics.cpp:
##########
@@ -863,6 +863,31 @@ bool has_expr_zonemap_filter(const 
format::FileScanRequest& request, const Runti
     return has_variant_shredded_filter(request);
 }
 
+bool can_evaluate_native_page_index(const VExprSPtr& expr) {
+    if (expr == nullptr || !expr->can_evaluate_zonemap_filter()) {
+        return false;
+    }
+    if (expr->op() == TExprOpcode::COMPOUND_AND) {
+        return std::ranges::any_of(expr->children(), 
can_evaluate_native_page_index);
+    }
+    if (expr->op() == TExprOpcode::COMPOUND_OR) {
+        return !expr->children().empty() &&
+               std::ranges::all_of(expr->children(), 
can_evaluate_native_page_index);
+    }
+    const auto probe = 
expr_zonemap::extract_zonemap_filter_predicate_probe(expr);
+    return probe.has_value() && probe->path.empty();

Review Comment:
   Fixed in 214ba43510. RuntimeFilterExpr is now unwrapped only in the Page 
Index capability and path classifier; the original wrapper remains in the 
request for delegated evaluation. Added a regression covering both production 
admission and range pruning.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to