alamb commented on code in PR #3370:
URL: https://github.com/apache/arrow-datafusion/pull/3370#discussion_r964739878


##########
datafusion/physical-expr/src/expressions/negative.rs:
##########
@@ -118,13 +118,11 @@ pub fn negative(
     arg: Arc<dyn PhysicalExpr>,
     input_schema: &Schema,
 ) -> Result<Arc<dyn PhysicalExpr>> {
+    // TODO: the data type checker should be done in the logical plan phase

Review Comment:
   > If the phy expr can be created directly without the type coercion or type 
checker in the logical phase, we need this checker in the creation of physical 
expr.
   
   That is a good point. 
   
   Maybe the larger question is if we are ok requiring that the logical 
optimizer passes are run on `LogicalPlan`s and `Expr` to successfully create 
`ExecutionPlan`s and `PhysicalExpr`s, 
   
   Now that I type that it seems there is value in supporting creating `Exprs` 
and then PhysicalExprs directly (as part of implementing extensions, for 
example) 🤔 So maybe we should just ensure it is possible to call the coercion 
logic directly on a `Expr`



-- 
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