Github user xccui commented on a diff in the pull request:
https://github.com/apache/flink/pull/4825#discussion_r144688874
--- Diff: docs/dev/table/tableApi.md ---
@@ -498,6 +499,23 @@ Table left = tableEnv.fromDataSet(ds1, "a, b, c");
Table right = tableEnv.fromDataSet(ds2, "d, e, f");
Table result = left.join(right).where("a = d").select("a, b, e");
{% endhighlight %}
+ <p><b>Note:</b> Currently, only time-windowed inner joins can be
processed in a streaming fashion.</p>
+
+ <p>A time-windowed join requires a special join condition that
bounds the time on both sides. This can be done by two appropriate range
predicates (<code> <, <=, >=, ></code>) that compares the <a
href="streaming.html#time-attributes">time attributes</a> of both input tables.
The following rules apply for time predicates:
+ <ul>
+ <li>Time predicates must compare time attributes of both input
tables.</li>
+ <li>Time predicates must compare only time attributes of the
same type, i.e., processing time with processing time or event time with event
time.</li>
+ <li>Only range predicates are valid time predicates.</li>
+ <li>Non-time predicates must not access a time attribute.</li>
--- End diff --
@fhueske, I think the last rule about time attribute access could be
removed now, right?
---