[jira] [Created] (FLINK-12249) Type equivalence check fails for Window Aggregates

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-12249) Type equivalence check fails for Window Aggregates

Shang Yuanchun (Jira)
Dawid Wysakowicz created FLINK-12249:
----------------------------------------

             Summary: Type equivalence check fails for Window Aggregates
                 Key: FLINK-12249
                 URL: https://issues.apache.org/jira/browse/FLINK-12249
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Legacy Planner, Tests
    Affects Versions: 1.9.0
            Reporter: Dawid Wysakowicz


Creating Aggregate node fails in rules: {{LogicalWindowAggregateRule}} and {{ExtendedAggregateExtractProjectRule}} if the only grouping expression is a window and
we compute aggregation on NON NULLABLE field.

The root cause for that, is how return type inference strategies in calcite work and how we handle window aggregates. Take {{org.apache.calcite.sql.type.ReturnTypes#AGG_SUM}} as an example, based on {{groupCount}} it adjusts type nullability based on groupCount.

Though we pass a false information as we strip down window aggregation from groupSet (in {{LogicalWindowAggregateRule}}).

One can reproduce this problem also with a unit test like this:

{code}
@Test
  def testTumbleFunction2() = {
 
    val innerQuery =
      """
        |SELECT
        | CASE a WHEN 1 THEN 1 ELSE 99 END AS correct,
        | rowtime
        |FROM MyTable
      """.stripMargin

    val sql =
      "SELECT " +
        "  SUM(correct) as cnt, " +
        "  TUMBLE_START(rowtime, INTERVAL '15' MINUTE) as wStart " +
        s"FROM ($innerQuery) " +
        "GROUP BY TUMBLE(rowtime, INTERVAL '15' MINUTE)"
    val expected = ""
    streamUtil.verifySql(sql, expected)
  }
{code}

This causes e2e tests to fail: https://travis-ci.org/apache/flink/builds/521183361?utm_source=slack&utm_medium=notificationhttps://travis-ci.org/apache/flink/builds/521183361?utm_source=slack&utm_medium=notification



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)