[ 
https://issues.apache.org/jira/browse/FLINK-22303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

godfrey he closed FLINK-22303.
------------------------------
    Resolution: Fixed

Fixed in 1.13.0: 504880cfbf1fc80603eaf8401578e788a3a8335e

> FlinkRelMdFilteredColumnInterval should remapping the columnIndex of the 
> inputRel otherwise may cause IllegalArgumentException or get incorrectly 
> metadata
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-22303
>                 URL: https://issues.apache.org/jira/browse/FLINK-22303
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.12.2
>            Reporter: lincoln lee
>            Assignee: lincoln lee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.13.0
>
>
> FlinkRelMdFilteredColumnInterval should remapping the columnIndex of the 
> inputRel otherwise may cause IllegalArgumentException or get incorrectly 
> metadata.
> The following case will get an `IllegalArgumentException`
> {code}
> @Test
>  def testFilteredColumnIntervalValidation(): Unit = {
>  util.verifyExecPlan(
>  s"""
>  |select
>  | sum(uv) filter (where c = 'all') as all_uv
>  |from (
>  | select
>  | c, count(1) as uv
>  | from T
>  | group by c
>  |) t
>  |""".stripMargin)
>  }
> {code}
> {code}
> Caused by: java.lang.IllegalArgumentExceptionCaused by: 
> java.lang.IllegalArgumentException at 
> org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:122) at 
> org.apache.flink.table.planner.plan.stats.ValueInterval$.compare(ValueInterval.scala:290)
>  at 
> org.apache.flink.table.planner.plan.stats.ValueInterval$.compareAndHandle(ValueInterval.scala:304)
>  at 
> org.apache.flink.table.planner.plan.stats.ValueInterval$.isIntersected(ValueInterval.scala:247)
>  at 
> org.apache.flink.table.planner.plan.stats.ValueInterval$.intersect(ValueInterval.scala:189)
>  at 
> org.apache.flink.table.planner.plan.utils.ColumnIntervalUtil$$anonfun$5$$anonfun$8.apply(ColumnIntervalUtil.scala:226)
>  at 
> org.apache.flink.table.planner.plan.utils.ColumnIntervalUtil$$anonfun$5$$anonfun$8.apply(ColumnIntervalUtil.scala:226)
>  at 
> scala.collection.IndexedSeqOptimized$class.foldl(IndexedSeqOptimized.scala:57)
>  at 
> scala.collection.IndexedSeqOptimized$class.foldLeft(IndexedSeqOptimized.scala:66)
>  at scala.collection.mutable.ArrayBuffer.foldLeft(ArrayBuffer.scala:48) at 
> org.apache.flink.table.planner.plan.utils.ColumnIntervalUtil$$anonfun$5.apply(ColumnIntervalUtil.scala:226)
>  at 
> org.apache.flink.table.planner.plan.utils.ColumnIntervalUtil$$anonfun$5.apply(ColumnIntervalUtil.scala:221)
>  at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
>  at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
>  at scala.collection.Iterator$class.foreach(Iterator.scala:891) at 
> scala.collection.AbstractIterator.foreach(Iterator.scala:1334) at 
> scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at 
> scala.collection.AbstractIterable.foreach(Iterable.scala:54) at 
> scala.collection.TraversableLike$class.map(TraversableLike.scala:234) at 
> scala.collection.AbstractTraversable.map(Traversable.scala:104) at 
> org.apache.flink.table.planner.plan.utils.ColumnIntervalUtil$.getColumnIntervalWithFilter(ColumnIntervalUtil.scala:221)
>  at 
> org.apache.flink.table.planner.plan.metadata.FlinkRelMdFilteredColumnInterval.getFilteredColumnInterval(FlinkRelMdFilteredColumnInterval.scala:137)
> {code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to