seawinde commented on code in PR #55305:
URL: https://github.com/apache/doris/pull/55305#discussion_r2486189501


##########
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/PredicatesSplitter.java:
##########
@@ -118,7 +119,11 @@ private static boolean containOnlyColumnRef(Expression 
expression, boolean allow
         }
         if (expression instanceof ElementAt) {
             // in RBO rewrite, plan has element at expression
-            return containOnlyColumnRef(((ElementAt) expression).child(0), 
true);
+            return containOnlyColumnRef(expression.child(0), true);
+        }
+        if (expression instanceof StructElement) {

Review Comment:
   During the RBO pre-rewrite phase, expressions may still be written in the 
StructElement(a, b)form. This component supoort transparent rewrite 
compensation for expressions like StructElement(a, b) > 10.
   
   The CBO post-rewrite phase does not have this issue because the sub-path 
information is already contained within the slot.



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