You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "hailong wang (Jira)" <ji...@apache.org> on 2019/12/26 14:42:00 UTC

[jira] [Created] (FLINK-15408) Interval join support no equi-condition

hailong wang created FLINK-15408:
------------------------------------

             Summary: Interval join support no equi-condition
                 Key: FLINK-15408
                 URL: https://issues.apache.org/jira/browse/FLINK-15408
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / Runtime
    Affects Versions: 1.10.0
            Reporter: hailong wang
             Fix For: 1.11.0


For Now, Interval join must has at least one equi-condition. Should we need to allow no equi-condition like regular join?

For that, if sql like as follow:
{code:java}
INSERT INTO A SELECT * FROM B join C on B.rowtime BETWEEN C.rowtime - INTERVAL '20' SECOND AND C.rowtime + INTERVAL '30' SECOND
{code}
It will has no matched rule to convert.
{code:java}
Caused by: org.apache.calcite.plan.RelOptPlanner$CannotPlanException: There are not enough rules to produce a node with desired properties: convention=STREAM_PHYSICAL, FlinkRelDistributionTraitDef=any, MiniBatchIntervalTraitDef=None: 0, UpdateAsRetractionTraitDef=false, AccModeTraitDef=UNKNOWN.
Missing conversion is FlinkLogicalJoin[convention: LOGICAL -> STREAM_PHYSICAL]
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)