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

Arvid Heise closed FLINK-40926.
-------------------------------
    Resolution: Duplicate

> Projection push down records a ReadingMetadata ability without metadata keys
> ----------------------------------------------------------------------------
>
>                 Key: FLINK-40926
>                 URL: https://issues.apache.org/jira/browse/FLINK-40926
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 2.4.0
>            Reporter: Arvid Heise
>            Assignee: Arvid Heise
>            Priority: Major
>
> For a source that implements SupportsReadingMetadata, the planner records a 
> ReadingMetadata ability even if the query reads no metadata column:
> {code:sql}
> CREATE TABLE src (a INT, b BIGINT) WITH ('connector' = 'values');
> SELECT a FROM src WHERE b > 1;
> {code}
> {noformat}
> TableSourceScan(table=[[default_catalog, default_database, src, filter=[...], 
> project=[a], metadata=[]]], fields=[a])
> {noformat}
> The compiled plan carries the same entry:
> {code:json}
> { "type" : "ReadingMetadata", "metadataKeys" : [ ], "producedType" : "ROW<`a` 
> INT> NOT NULL" }
> {code}
> The entry is added by PushProjectIntoTableSourceScanRule (similarly in 
> ScanReuser) whenever the source supports metadata, independent of whether any 
> metadata key is projected. On restore it results in an applyReadableMetadata 
> call with an empty key list.
> It is unclear whether this entry is needed at all; most restore test plans in 
> flink-table-planner contain it.
> Found while reviewing https://github.com/apache/flink/pull/29385.



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

Reply via email to