[ https://issues.apache.org/jira/browse/SPARK-25845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xingbo Jiang resolved SPARK-25845. ---------------------------------- Resolution: Fixed Fix Version/s: 3.0.0 Resolved by https://github.com/apache/spark/pull/22853 > Fix MatchError for calendar interval type in rangeBetween > --------------------------------------------------------- > > Key: SPARK-25845 > URL: https://issues.apache.org/jira/browse/SPARK-25845 > Project: Spark > Issue Type: Sub-task > Components: SQL > Affects Versions: 2.4.0 > Reporter: Reynold Xin > Priority: Major > Fix For: 3.0.0 > > > WindowSpecDefinition checks start < less, but CalendarIntervalType is not > comparable, so it would throw the following exception at runtime: > > > {noformat} > scala.MatchError: CalendarIntervalType (of class > org.apache.spark.sql.types.CalendarIntervalType$) at > org.apache.spark.sql.catalyst.util.TypeUtils$.getInterpretedOrdering(TypeUtils.scala:58) > at > org.apache.spark.sql.catalyst.expressions.BinaryComparison.ordering$lzycompute(predicates.scala:592) > at > org.apache.spark.sql.catalyst.expressions.BinaryComparison.ordering(predicates.scala:592) > at > org.apache.spark.sql.catalyst.expressions.GreaterThan.nullSafeEval(predicates.scala:797) > at > org.apache.spark.sql.catalyst.expressions.BinaryExpression.eval(Expression.scala:496) > at > org.apache.spark.sql.catalyst.expressions.SpecifiedWindowFrame.isGreaterThan(windowExpressions.scala:245) > at > org.apache.spark.sql.catalyst.expressions.SpecifiedWindowFrame.checkInputDataTypes(windowExpressions.scala:216) > at > org.apache.spark.sql.catalyst.expressions.Expression.resolved$lzycompute(Expression.scala:171) > at > org.apache.spark.sql.catalyst.expressions.Expression.resolved(Expression.scala:171) > at > org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$childrenResolved$1.apply(Expression.scala:183) > at > org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$childrenResolved$1.apply(Expression.scala:183) > at > scala.collection.IndexedSeqOptimized$class.prefixLengthImpl(IndexedSeqOptimized.scala:38) > at > scala.collection.IndexedSeqOptimized$class.forall(IndexedSeqOptimized.scala:43) > at scala.collection.mutable.ArrayBuffer.forall(ArrayBuffer.scala:48) at > org.apache.spark.sql.catalyst.expressions.Expression.childrenResolved(Expression.scala:183) > at > org.apache.spark.sql.catalyst.expressions.WindowSpecDefinition.resolved$lzycompute(windowExpressions.scala:48) > at > org.apache.spark.sql.catalyst.expressions.WindowSpecDefinition.resolved(windowExpressions.scala:48) > at > org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$childrenResolved$1.apply(Expression.scala:183) > at > org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$childrenResolved$1.apply(Expression.scala:183) > at > scala.collection.LinearSeqOptimized$class.forall(LinearSeqOptimized.scala:83) > {noformat} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org