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