sunchao commented on a change in pull request #29775:
URL: https://github.com/apache/spark/pull/29775#discussion_r489792562
##########
File path:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/UnwrapCastInBinaryComparison.scala
##########
@@ -103,9 +103,9 @@ object UnwrapCastInBinaryComparison extends
Rule[LogicalPlan] {
// In case both sides have integral type, optimize the comparison by
removing casts or
// moving cast to the literal side.
case be @ BinaryComparison(
- Cast(fromExp, toType: IntegralType, _), Literal(value, literalType))
+ Cast(fromExp, toType: IntegralType, tz), Literal(value, literalType))
if canImplicitlyCast(fromExp, toType, literalType) =>
- simplifyIntegralComparison(be, fromExp, toType, value)
+ simplifyIntegralComparison(be, fromExp, toType, value, tz)
Review comment:
Thanks @dongjoon-hyun . I discovered this in tests - without this some
of the existing tests will fail because of timezone mismatch (although I think
this shouldn't affect correctness given we only handle integral types?).
In the follow-up, the current plan is to only extend to numeric types (e.g.,
float/double/decimal). I don't know whether support for time-related types is
important or not.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]