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]

Reply via email to