irenjj commented on issue #5492:
URL: https://github.com/apache/datafusion/issues/5492#issuecomment-2892527051

   > There are one thing we surely know that should be implemented: detect 
which nodes in the LogicalPlan AST is a dependent join node. However, we don't 
need to create a new LogicalPlan type like `LogicalPlan::DependentJoin`, if 
this plan type is only an intermediate form during the decorrelation phase, and 
i expect after the rewriting completes, no more dependent join node exists.
   > 
   > => We can keep this concept internally to the decorelation framework
   
   In DuckDB, the final logical plan generated is `DelimJoin`. Besides 
identifying this as a `Join` produced by decorrelation operations, `DelimJoin` 
can also be used to eliminate redundant `DelimJoin` and `DelimGet`, which is a 
further optimization. I agree with @suibianwanwank 's point that adding a new 
`LogicalType` can make the current process clearer, and by breaking it down 
into multiple steps, tasks can be better refined for collaborative work 
(transform to dependent join -> top down/bottom up decorrelation -> further 
optimize), and it could also provide possibilities for subsequent further 
optimization (although unrelated to decorrelation).


-- 
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: github-unsubscr...@datafusion.apache.org

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


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

Reply via email to