LuciferYang commented on code in PR #67774:
URL: https://github.com/apache/doris/pull/67774#discussion_r4069026376


##########
be/src/exprs/function/functions_comparison.h:
##########
@@ -734,8 +844,11 @@ class FunctionComparison : public IFunction {
     }
 
     bool can_evaluate_zonemap_filter(const VExprSPtrs& arguments) const 
override {
-        return comparison_zonemap_detail::op_from_name(name).has_value() &&
-               comparison_zonemap_detail::can_evaluate(arguments);
+        if (!comparison_zonemap_detail::op_from_name(name).has_value()) {
+            return false;
+        }
+        return comparison_zonemap_detail::can_evaluate(arguments) ||
+               comparison_zonemap_detail::can_evaluate_slot_slot(arguments);

Review Comment:
   This is the same shared-parser gap #68148 fixes. `physical_stat_width_ok` 
validates the exact physical width of both bounds at the top of 
`parse_min_max_value` before any fixed-width read or copy, covering 
INT32/INT64/FLOAT/DOUBLE and the FIXED_LEN_BYTE_ARRAY/INT96 copies; the 
BYTE_ARRAY-decimal length bound this slot-slot shape can also reach is being 
closed in #68148 as well. This PR is merge-ordered after #68148, so the widened 
v1 gate inherits the width validation rather than carrying its own. Same fence 
as the #68118 timestamp and #67995 placeholder threads.



-- 
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