Glauber M Dantas created FLINK-35392:
----------------------------------------

             Summary: SQL Lookup Join on external database failing when using 
'FOR SYSTEM_TIME AS OF' statement
                 Key: FLINK-35392
                 URL: https://issues.apache.org/jira/browse/FLINK-35392
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Planner
    Affects Versions: 1.18.1
            Reporter: Glauber M Dantas


When transforming a DataStream to a Table and then using that table in a Join 
Lookup, an exception is raised: {{{}"Temporal table join currently only 
supports 'FOR SYSTEM_TIME AS OF' left table's time attribute field"{}}}.

>From what I understood from the issue, it happens as the planner expects that 
>the Tables part of the Join are registered previously on the Catalog.

The solution was to avoid using the DataStream to Table conversion:

```
Table kinesisStreamTbl = tblEnv.fromDataStream(
                kinesisDataStream,
                Schema.newBuilder()
                        // "proc_time" would be needed to make the lookup using 
'FOR SYSTEM_TIME AS OF'; see: 
https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/queries/joins/#processing-time-temporal-join
                        .columnByExpression("proc_time", "PROCTIME()")
                        .build()
        );
```
And instead create and use a Table registered on the Catalog:

```

tblEnv.createTable("KinesisInput", TableDescriptor.forConnector("kinesis")...);

```

If you need more details, you may access the discussion at: 
https://stackoverflow.com/questions/78485099/sedona-flink-sql-lookup-on-external-database-failing-when-using-for-system-time



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to