zy-kkk opened a new pull request, #42261:
URL: https://github.com/apache/doris/pull/42261

   pick (#41218)
   
   In the previous FileScanNode, some parts that used conjuncts for predicate 
conversion were placed in the init phase. However, for the Nereids planner, 
pushing the filter down to the scan happens in the Translator, which means that 
the ScanNode can only get the complete conjuncts in the finalized phase. 
Therefore, in this PR, I have removed all conjuncts variables in External for 
the Nereids planner. They no longer need to store conjuncts themselves or add 
them to the ScanNode. Instead, all places in the ScanNode that use conjuncts 
should be moved to the finalized phase.
   
   This refactor also fix a performance issue introduced from #40176 After 
introducing the change of generating SelectNode for consecutive projects or 
filters, FileScan still adds conjuncts too early in the init phase, resulting 
in the discovery of consecutive filters when the upper layer continues to 
translate, a selectnode was unexpectedly generated on the scannode, causing the 
project to be unable to prune the scannode columns. However, the Project node 
trims columns of SelectNode and ScanNode differently, which causes ScanNode to 
scan unnecessary columns.
   
   My modification removes the addition of conjuncts in the scannode step, so 
that we can keep the structure from ScanNode to Project and achieve correct 
column trimming.
   
   


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