andygrove commented on code in PR #3732:
URL: https://github.com/apache/arrow-datafusion/pull/3732#discussion_r989513752
##########
datafusion/optimizer/src/decorrelate_where_exists.rs:
##########
@@ -137,8 +137,14 @@ fn optimize_exists(
let subqry_inputs = query_info.query.subquery.inputs();
let subqry_input = only_or_err(subqry_inputs.as_slice())
.map_err(|e| context!("single expression projection required", e))?;
- let subqry_filter = Filter::try_from_plan(subqry_input)
- .map_err(|e| context!("cannot optimize non-correlated subquery", e))?;
+ let subqry_filter = match subqry_input {
Review Comment:
I have been looking at this as well. The existing code works for a very
simple projection but does not work if the projection is wrapped in any other
operator, such as Distinct, Filter, Limit, Sort, and so on.
--
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]