leonardBang commented on a change in pull request #15133: URL: https://github.com/apache/flink/pull/15133#discussion_r592236320
########## File path: flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala ########## @@ -224,28 +224,32 @@ object ScalarOperatorGens { } // minus arithmetic of time points (i.e. for TIMESTAMPDIFF) - case (TIMESTAMP_WITHOUT_TIME_ZONE | TIME_WITHOUT_TIME_ZONE | DATE, - TIMESTAMP_WITHOUT_TIME_ZONE | TIME_WITHOUT_TIME_ZONE | DATE) if !plus => + case ( + TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE | + TIME_WITHOUT_TIME_ZONE | DATE, + TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE | + TIME_WITHOUT_TIME_ZONE | DATE) if !plus => resultType.getTypeRoot match { case INTERVAL_YEAR_MONTH => generateOperatorIfNotNull(ctx, resultType, left, right) { (ll, rr) => (left.resultType.getTypeRoot, right.resultType.getTypeRoot) match { - case (TIMESTAMP_WITHOUT_TIME_ZONE, DATE) => + case (TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE, DATE) => val leftTerm = s"$ll.getMillisecond()" s"${qualifyMethod(BuiltInMethods.SUBTRACT_MONTHS)}" + s"($leftTerm, $rr * ${MILLIS_PER_DAY}L)" - case (DATE, TIMESTAMP_WITHOUT_TIME_ZONE) => + case (DATE, TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE) => val rightTerm = s"$rr.getMillisecond()" s"${qualifyMethod(BuiltInMethods.SUBTRACT_MONTHS)}" + s"($ll * ${MILLIS_PER_DAY}L, $rightTerm)" - case (TIMESTAMP_WITHOUT_TIME_ZONE, TIMESTAMP_WITHOUT_TIME_ZONE) => + case (TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE, + TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE) => val leftTerm = s"$ll.getMillisecond()" val rightTerm = s"$rr.getMillisecond()" s"${qualifyMethod(BuiltInMethods.SUBTRACT_MONTHS)}($leftTerm, $rightTerm)" - case (TIMESTAMP_WITHOUT_TIME_ZONE, _) => + case (TIMESTAMP_WITHOUT_TIME_ZONE | TIMESTAMP_WITH_LOCAL_TIME_ZONE, _) => Review comment: There're some history code, I've reconstructed and add some tests ---------------------------------------------------------------- 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: us...@infra.apache.org