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

   ## Proposed changes
   
   support pushing down filter through partition topn if the filter can pass 
through window.
   fix CreatePartitionTopNFromWindow bug which may generate two partition topn 
unexpectly.
   case:
   explain shape plan select * from (select c2, row_number() over (partition by 
c2) as rn from t1) T where rn<=1 and c2 = 1;
   before this pr:
   ```
   | PhysicalResultSink                       |
   | --PhysicalDistribute                     |
   | ----filter((rn <= 1))                    |
   | ------PhysicalWindow                     |
   | --------PhysicalQuickSort                |
   | ----------PhysicalDistribute             |
   | ------------PhysicalPartitionTopN        |
   | --------------filter((T.c2 = 1))         |
   | ----------------PhysicalPartitionTopN    |
   | ------------------PhysicalProject        |
   | --------------------PhysicalOlapScan[t1] |
   +------------------------------------------+
   ```
   after:
   ```
   | PhysicalResultSink                     |
   | --PhysicalDistribute                   |
   | ----filter((rn <= 1))                  |
   | ------PhysicalWindow                   |
   | --------PhysicalQuickSort              |
   | ----------PhysicalDistribute           |
   | ------------PhysicalPartitionTopN      |
   | --------------PhysicalProject          |
   | ----------------filter((T.c2 = 1))     |
   | ------------------PhysicalOlapScan[t1] |
   +----------------------------------------+
   ```
   
   ## Further comments
   
   If this is a relatively large or complex change, kick off the discussion at 
[d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you 
chose the solution you did and what alternatives you considered, etc...
   
   


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