Hi Timo,
Thanks for the pointers, bug reports and slides, much appreciated. I'll
read up to get a better understanding of the issue and hopefully figure
out a more appropriate solution for what I'm trying achieve. I'll report
back if I come up with anything that others might find useful.
Regards,
Chris
------ Original Message ------
From: "Timo Walther" <twal...@apache.org>
To: user@flink.apache.org
Sent: 06/02/2019 16:45:26
Subject: Re: AssertionError: mismatched type $5 TIMESTAMP(3)
Hi Chris,
the error that you've observed is a bug that might be related to another bug
that is not easily solvable.
I created an issue for it nevertheless:
https://issues.apache.org/jira/browse/FLINK-11543
In general, I think you need to adapt your program in any case. Because you are
aggregating on a rowtime attribute, it will loose its time attribute property
and becomes a regular timestamp. Thus, you can't use it for a temporal table
join.
Maybe the following training from the last FlinkForward conference might help you. I
would recommend the slide set there to understand the different between streaming
operations and what we call "materializing" operations:
https://github.com/dataArtisans/sql-training/wiki/SQL-on-streams
I hope this helps. Feel free to ask further questions.
Regards,
Timo
Am 05.02.19 um 11:30 schrieb Chris Miller:
Exception in thread "main" java.lang.AssertionError: mismatched type $5
TIMESTAMP(3)
at
org.apache.calcite.rex.RexUtil$FixNullabilityShuttle.visitInputRef(RexUtil.java:2481)
at
org.apache.calcite.rex.RexUtil$FixNullabilityShuttle.visitInputRef(RexUtil.java:2459)
at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:112)
at org.apache.calcite.rex.RexShuttle.visitList(RexShuttle.java:151)
at org.apache.calcite.rex.RexShuttle.visitCall(RexShuttle.java:100)
at org.apache.calcite.rex.RexShuttle.visitCall(RexShuttle.java:34)
at org.apache.calcite.rex.RexCall.accept(RexCall.java:107)
at org.apache.calcite.rex.RexShuttle.apply(RexShuttle.java:279)
at org.apache.calcite.rex.RexShuttle.mutate(RexShuttle.java:241)
at org.apache.calcite.rex.RexShuttle.apply(RexShuttle.java:259)
at org.apache.calcite.rex.RexUtil.fixUp(RexUtil.java:1605)
at
org.apache.calcite.rel.rules.FilterJoinRule.perform(FilterJoinRule.java:230)
at
org.apache.calcite.rel.rules.FilterJoinRule$FilterIntoJoinRule.onMatch(FilterJoinRule.java:344)
at
org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:212)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:646)
at org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:339)
at
org.apache.flink.table.api.TableEnvironment.runVolcanoPlanner(TableEnvironment.scala:374)
at
org.apache.flink.table.api.TableEnvironment.optimizeLogicalPlan(TableEnvironment.scala:292)
at
org.apache.flink.table.api.StreamTableEnvironment.optimize(StreamTableEnvironment.scala:812)
at
org.apache.flink.table.api.StreamTableEnvironment.translate(StreamTableEnvironment.scala:860)
at
org.apache.flink.table.api.java.StreamTableEnvironment.toRetractStream(StreamTableEnvironment.scala:340)
at
org.apache.flink.table.api.java.StreamTableEnvironment.toRetractStream(StreamTableEnvironment.scala:272)
at test.Test.main(Test.java:78)