Github user haohui commented on a diff in the pull request:
https://github.com/apache/flink/pull/3252#discussion_r100917108
--- Diff:
flink-libraries/flink-table/src/main/scala/org/apache/flink/table/codegen/calls/FunctionGenerator.scala
---
@@ -290,6 +291,15 @@ object FunctionGenerator {
Seq(),
new CurrentTimePointCallGen(SqlTimeTypeInfo.TIMESTAMP, local = true))
+ // Make ROWTIME() return the local timestamp
+ // The function has to be executable as in windowed queries it is used
+ // in the GroupBy expression. The results of the function, however, does
+ // not matter.
+ addSqlFunction(
+ EventTimeExtractor,
+ Seq(),
+ new CurrentTimePointCallGen(SqlTimeTypeInfo.TIMESTAMP, local = true))
--- End diff --
It turns out that the function is used all the way in runtime -- the
translated plan looks like the following:
```
LogicalAggregate(group={0}, ...)
LogicalProject($0=FLOOR(ROWTIME() TO HOURS)))
```
The expression is used in the projection. Unfortunately there is no trivial
way to exclude it in Calcite as mentioned in the last comments.
The results of expression is not used in the query though.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---