2010YOUY01 commented on code in PR #16768: URL: https://github.com/apache/datafusion/pull/16768#discussion_r2204014687
########## datafusion/expr-common/src/type_coercion/binary.rs: ########## @@ -124,6 +124,51 @@ impl<'a> BinaryTypeCoercer<'a> { /// Returns a [`Signature`] for applying `op` to arguments of type `lhs` and `rhs` fn signature(&'a self) -> Result<Signature> { + if let Some(coerced) = null_coercion(self.lhs, self.rhs) { + use Operator::*; + if matches!(self.op, Plus | Minus | Multiply | Divide | Modulo) Review Comment: Why do we have to handle this logic here, instead of inside `signature_inner()`? If there are any specific reason, I'd recommend to add a comment to explain it. -- 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...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org