XuPengfei-1020 opened a new pull request, #36326:
URL: https://github.com/apache/doris/pull/36326

   ## Proposed changes
   Original extractor(TryEliminateUninterestedPredicates.java) caused some 
errors while try to derive the expressions which can be used for pruning 
partitions.
   I tried to write a new extractor(and with unit tests) for pruning 
partitions, it is more simple and reliable (I think).
   
   The theory of extractor is pretty simple:
   A:Sort the expression in two kinds:
     1. evaluable-expression (let's mark it as E).
       Expressions that can be evaluated in the partition pruning stage.
       In the other word: not contains non-partition slots or deterministic 
expression.
     2. un-evaluable-expression (let's mark it as UE).
       Expressions that can NOT be evaluated in the partition pruning stage.
       In the other word: contains non-partition slots or deterministic 
expression.
   
   B: Travel the predicate, only point on AND and OR operator, following the 
rule:
     (E and UE) -> (E and TRUE) -> E
     (UE and UE) -> TRUE
     (E and E) -> (E and E)
     (E or UE) -> TRUE
     (UE or UE) -> TRUE
     (E or E) -> (E or E)
   <!--Describe your changes.-->
   
   


-- 
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...@doris.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to