mohitgurav20 commented on issue #25720: URL: https://github.com/apache/datafusion/issues/25720#issuecomment-5825645931
Hi @benbellick! This is a great find. Row-valued IN subqueries are a very useful feature. As you correctly pointed out, simply removing the guard in the Substrait consumer isn't enough. To do this properly, we'll need to thread this support through the entire stack: Upgrade the underlying logical expression model (InSubquery in datafusion/expr/src/expr.rs) to accept a list of expressions (Vec<Expr>) rather than just a single Box<Expr>. Update the SQL planner (datafusion/sql/src/expr/subquery.rs) to remove the single-column validation and map the row-valued syntax to the updated logical expression. Finally, adjust the Substrait consumer (datafusion/substrait/src/logical_plan/consumer/expr/subquery.rs) to remove the length guard and map multiple needles correctly. I'd love to take this on! I have been working heavily in DataFusion's expression and planning layers recently (including logical/physical boundaries) and have the context needed to implement this full-stack change cleanly. Could you assign this to me? -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
