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

Danny McCormick commented on BEAM-10946:
----------------------------------------

This issue has been migrated to https://github.com/apache/beam/issues/20671

> JdbcIO should make the 'COMMENT' metadata available as Description
> ------------------------------------------------------------------
>
>                 Key: BEAM-10946
>                 URL: https://issues.apache.org/jira/browse/BEAM-10946
>             Project: Beam
>          Issue Type: Improvement
>          Components: io-java-jdbc
>    Affects Versions: 2.23.0
>            Reporter: Yann Landrin-Schweitzer
>            Priority: P3
>
> Currently, creating a PCollection<Row> using JdbcIO.readRows() does not make 
> available:
>  - a column's COMMENT or REMARKS metadata as the corresponding Beam field 
> Description
>  - a table COMMENT or REMARKS metadata as an appropriately named Beam schema 
> Option
>  
> Making this metadata available would strongly benefit IDEs providing in-line 
> help to create Beam pipelines, as well as semi-automated data labelling tools 
> using metadata to infer data properties.
>  
> Sketch of the proposed changes in JdbcIO: 
> {code:java}
> @FunctionalInterface
> interface BeamFieldConverter extends Serializable {
>     Schema.Field create(int index, ResultSetMetaData md, DatabaseMetaData 
> dmd) throws SQLException;
> }
> private static String getComment(int index, ResultSetMetaData md, 
> DatabaseMetaData dmd) throws SQLException {
>     String comment = null;
>     if(dmd instanceof DatabaseMetaDataUsingInfoSchema) {
>         ResultSet rs = dmd.getColumns(md.getCatalogName(index), 
> md.getSchemaName(index), md.getTableName(index), md.getColumnName(index));
>         if(rs.next()
>            && md.getTableName(index).equals(rs.getString("TABLE_NAME"))
>            && md.getColumnName(index).equals(rs.getString("COLUMN_NAME"))
>         ) {
>             comment = rs.getString("REMARKS");
>         }
>     }
>     return comment;
> }
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to