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