sunchao commented on code in PR #184:
URL:
https://github.com/apache/arrow-datafusion-comet/pull/184#discussion_r1519988090
##########
core/src/execution/datafusion/planner.rs:
##########
@@ -496,7 +493,16 @@ impl PhysicalPlanner {
.iter()
.map(|x| self.create_expr(x,
input_schema.clone()).unwrap())
.collect::<Vec<_>>();
- Ok(Arc::new(InListExpr::new(value, list, expr.negated, None)))
+ // in_list doesn't handle value being dictionary type
correctly, so we need to fall
+ // back to InListExpr if in_list fails.
+ // TODO: remove the fallback when
https://github.com/apache/arrow-datafusion/issues/9530 is fixed
Review Comment:
nit: maybe we can check if `input_schema` contains any dictionary type and
use `InListExpr` if so?
Unfortunately dictionary type is treated as a logical type in DF, which
caused many issues like this before. We created
https://github.com/apache/arrow-datafusion/discussions/7421 but haven't got
resources to work on it yet.
--
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]