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

   ### What problem does this PR solve?
   
   Such as mv def is as following and query is the same
   this is the same filter `l_orderkey is null  or l_orderkey <> 1` but they 
are in the different position. this would cause rewrite fail, this pr fix this.
   ```sql
   select 
     o_custkey, 
     o_orderdate, 
     o_shippriority, 
     o_comment, 
     o_orderkey, 
     orders.public_col as col1, 
     l_orderkey, 
     l_partkey, 
     l_suppkey, 
     lineitem.public_col as col2, 
     ps_partkey, 
     ps_suppkey, 
     partsupp.public_col as col3, 
     partsupp.public_col * 2 as col4, 
     o_orderkey + l_orderkey + ps_partkey * 2, 
     sum(
       o_orderkey + l_orderkey + ps_partkey * 2
     ), 
     count() as count_all 
   from 
     (
       select 
         o_custkey, 
         o_orderdate, 
         o_shippriority, 
         o_comment, 
         o_orderkey, 
         orders.public_col as public_col 
       from 
         orders
     ) orders 
     left join (
       select 
         l_orderkey, 
         l_partkey, 
         l_suppkey, 
         lineitem.public_col as public_col 
       from 
         lineitem 
       where 
         l_orderkey is null 
         or l_orderkey <> 1
     ) lineitem on l_orderkey = o_orderkey 
     inner join (
       select 
         ps_partkey, 
         ps_suppkey, 
         partsupp.public_col as public_col 
       from 
         partsupp
     ) partsupp on ps_partkey = o_orderkey 
     and ps_suppkey = o_custkey 
   where 
     l_orderkey is null 
     or l_orderkey <> 1 
   group by 
     1, 
     2, 
     3, 
     4, 
     5, 
     6, 
     7, 
     8, 
     9, 
     10, 
     11, 
     12, 
     13, 
     14;
   ```
   
   Issue Number: close #xxx
   
   Related PR: #34753 
   
   Problem Summary:
   
   ### Release note
   
   Fix filter position different but same causing rewritten by materialized 
view fail
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [x] 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:
       - [x] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [x] 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