[ 
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

Reply via email to