silence created FLINK-23723:
-------------------------------
Summary: Look up join support PROCTIME() function
Key: FLINK-23723
URL: https://issues.apache.org/jira/browse/FLINK-23723
Project: Flink
Issue Type: Improvement
Components: Table SQL / API
Reporter: silence
Now,when we what to use look up join we must declare procetime attribute on
source table.
this is relatively troublesome, and in some complex scenarios(eg. Top-N) , look
up join cannot be performed because of the loss of processtime attribute.
Moreover, in the process of look up join, the processing time is of no
practical use. can we support specifying `PROCTIME()` directly in the join
without declaring it in the source table,
like:
{code:sql}
SELECT o.order_id, o.total, c.country, c.zip
FROM Orders AS o
JOIN Customers FOR SYSTEM_TIME AS OF PROCTIME() AS c
ON o.customer_id = c.id;
{code}
Now it throws an exception
{code:java}
Caused by: java.lang.AssertionError: Temporal table can only be used in
temporal join and only supports 'FOR SYSTEM_TIME AS OF' left table's time
attribute field.
Querying a temporal table using 'FOR SYSTEM TIME AS OF' syntax with an
expression call 'PROCTIME()' is not supported yet.
at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31)
at
org.apache.flink.table.planner.plan.nodes.logical.FlinkLogicalSnapshot.isValid(FlinkLogicalSnapshot.scala:60)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)