godfrey he created FLINK-17751:
----------------------------------
Summary: proctime defined in ddl can't work with over window in Table api
Key: FLINK-17751
URL:
https://issues.apache.org/jira/browse/FLINK-17751 Project: Flink
Issue Type: Bug
Components: Table SQL / Planner
Reporter: godfrey he
Fix For: 1.11.0
the following test will get {{org.apache.flink.table.api.ValidationException: Ordering must be defined on a time attribute.}}
{code:scala}
@Test
def testProcTimeTableSourceOverWindow(): Unit = {
val ddl =
s"""
|CREATE TABLE procTimeT (
| id int,
| val bigint,
| name varchar(32),
| proctime as PROCTIME()
|) WITH (
| 'connector' = 'projectable-values',
| 'bounded' = 'false'
|)
""".stripMargin
util.tableEnv.executeSql(ddl)
val t = util.tableEnv.from("procTimeT")
.window(Over partitionBy 'id orderBy 'proctime preceding 2.hours as 'w)
.select('id, 'name, 'val.sum over 'w as 'valSum)
.filter('valSum > 100)
util.verifyPlan(t)
}
{code}
The reason is: the type of proctime is {{TIMESTAMP(3) NOT null}}, while {{LegacyTypeInfoDataTypeConverter}} does not handle the mapping between {{Types.LOCAL_DATE_TIME}} and {{DataTypes.TIMESTAMP(3)}} with not null.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)