You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (Jira)" <ji...@apache.org> on 2022/01/11 10:08:00 UTC

[jira] [Updated] (FLINK-25609) Avoid creating temporary tables for inline tables

     [ https://issues.apache.org/jira/browse/FLINK-25609?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timo Walther updated FLINK-25609:
---------------------------------
    Description: 
Currently, inline tables such as {{fromDataStream}} or {{from(TableDescriptor)}} as well as {{toChangelogStream}} or {{Table.executeInsert(TableDescriptor)}} create an artifical temporary table with object identifier.

This is due to Calcite that forces {{RelBuilder.scan}} to have an object identifier.

Instead we should:
- Create an internal {{RelOptTable}} that wraps {{CatalogTable}}
- Various flavors of {{CatalogTable}} can store the {{DataStream}} object or information of the {{TableDescriptor.}}
- Manually create {{LogicalTableScan}}

  was:
Currently, inline tables such as {{fromDataStream}} or {{from(TableDescriptor)}} as well as {{toChangelogStream}} or {{Table.executeInsert(TableDescriptor)}} create an artifical temporary table with object identifier.

This is due to Calcite that forces {{RelBuilder.scan}} to have an object identifier.

Instead we should:
- Create an internal {{RelOptTable}} that wraps {{CatalogTable}}
- Various flavors of {{CatalogTable}} can store the {{DataStream}} object or information of the {{TableDescriptor.}}


> Avoid creating temporary tables for inline tables
> -------------------------------------------------
>
>                 Key: FLINK-25609
>                 URL: https://issues.apache.org/jira/browse/FLINK-25609
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table SQL / API
>            Reporter: Timo Walther
>            Assignee: Francesco Guardiani
>            Priority: Major
>
> Currently, inline tables such as {{fromDataStream}} or {{from(TableDescriptor)}} as well as {{toChangelogStream}} or {{Table.executeInsert(TableDescriptor)}} create an artifical temporary table with object identifier.
> This is due to Calcite that forces {{RelBuilder.scan}} to have an object identifier.
> Instead we should:
> - Create an internal {{RelOptTable}} that wraps {{CatalogTable}}
> - Various flavors of {{CatalogTable}} can store the {{DataStream}} object or information of the {{TableDescriptor.}}
> - Manually create {{LogicalTableScan}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)