yujun777 opened a new pull request, #49851:
URL: https://github.com/apache/doris/pull/49851

   ### What problem does this PR solve?
   
   ExtractSingleTableExpressionFromDisjunction will extract each table's 
expression from JOIN,  but it forget to run recurively,  this PR will fix this.
   
   For example:  for sql `t1 join t2 where  t1.a = 1 or  (t1.b = 2  and (t1.c = 
3 or t1.d = 4 and t2.x = 1))`,
   
   when try to extract table t1's expression,  it cannot extract,  because  the 
rule don't run recurively,  and when it met the deep child  `t1.c = 3 or t1.d = 
4 and t2.x = 1`,  it can not extract t1.
   
   so this PR will make extract child recurively,  after this PR,  it will 
extract table t1's expression:    t1.a = 1 or (t1.b = 2 and (t1.c = 3 or t1.d = 
4),  then later it will push down t1's expression through the join.
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason <!-- Add your reason?  -->
   
   - Behavior changed:
       - [ ] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [ ] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   


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