liukun4515 commented on code in PR #3636:
URL: https://github.com/apache/arrow-datafusion/pull/3636#discussion_r982957302


##########
datafusion/core/src/execution/context.rs:
##########
@@ -1466,10 +1466,9 @@ impl SessionState {
         }
 
         let mut rules: Vec<Arc<dyn OptimizerRule + Sync + Send>> = vec![
-            // Simplify expressions first to maximize the chance
-            // of applying other optimizations
-            Arc::new(SimplifyExpressions::new()),
             Arc::new(PreCastLitInComparisonExpressions::new()),

Review Comment:
   The `PreCastLitInComparisonExpressions` will be invalid when we move the 
`type coercion` to the front of `PreCastLitInComparisonExpressions`.
   
   In the next pr, I will do 
https://github.com/apache/arrow-datafusion/issues/3622 and move the type 
coercion to the front of the `PreCastLitInComparisonExpressions`
   
   
   I think `type coercion` just do one thing which is make type compatible in 
all operation, but the `PreCastLitInComparisonExpressions` or 
https://github.com/apache/arrow-datafusion/issues/3622 is to reduce `cast` for 
column expr or other expr instead of adding the `cast` to the literal. This 
will reduce the cast effort of the runtime.



-- 
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...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to