duongcongtoai commented on issue #5492: URL: https://github.com/apache/datafusion/issues/5492#issuecomment-2891716695
I wonder if creating `LogicalPlan::DependentJoin` make sense in our case? if the only place it is being used is inside the optimizor that does the decorrelation In duckdb PR he mentioned: > With this PR, that changes. Subqueries are fully algebraized, before entering a single decorrelation pass. This potentially provides optimization opportunities, that would not have been possible before. I can relates this to the idea in the paper > At this point the accessing list is empty and we have two choices: either we introduce a join with 𝐷 := Π𝑎:=𝑇1.𝑎 (𝜎𝑓 =123 (𝑇1)) and use that to substitute 𝑇1.𝑎; or we exploit the fact that all outer column references are bound in cclasses and we simply replace 𝑇1.𝑎 with the equivalent 𝑇2.𝑎. The optimal choice depends on the selectivity of 𝜎 which corresponds to [this part of the draft PR](https://github.com/apache/datafusion/blob/a46545967f8904852cf86e7bd0722cf55e86c985/datafusion/optimizer/src/decorrelate_general.rs#L791), and is still within the detail implementation of a specific optimizor -- 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