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

Reply via email to