[
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)