[ 
https://issues.apache.org/jira/browse/FLINK-41051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18131241#comment-18131241
 ] 

yongfu.gao commented on FLINK-41051:
------------------------------------

Hi, I'd like to work on this.

JdbcRowDataLookupFunction and JdbcDynamicTableSource both already have
options.getTableName(), but getLineageVertex() still parses SQL.

Plan (following FLINK-40743 / 911d9ef): store the configured table name on
JdbcRowDataLookupFunction and JdbcSource, prefer it in getLineageVertex(),
and keep the existing parser fallback when it is unset (DataStream source
built from a query). Add plan-time tests like 
testLineageDatasetNameIsKnownAtPlanTime.

This adds an optional setter to the @PublicEvolving JdbcSourceBuilder - is that
ok, or should it stay internal?

> JDBC Table source and lookup function derive the lineage dataset name by 
> parsing SQL
> ------------------------------------------------------------------------------------
>
>                 Key: FLINK-41051
>                 URL: https://issues.apache.org/jira/browse/FLINK-41051
>             Project: Flink
>          Issue Type: Technical Debt
>          Components: Connectors / JDBC
>            Reporter: Martijn Visser
>            Priority: Major
>
> JdbcSource.getLineageVertex() and 
> JdbcRowDataLookupFunction.getLineageVertex() take the dataset name from 
> OpenLineage's SQL parser at plan time, while since FLINK-40743 the Table sink 
> reports the configured table-name. The Table source and the lookup function 
> know table-name and can pass it the same way. A DataStream JdbcSource built 
> from a query keeps the parser.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to