[ https://issues.apache.org/jira/browse/FLINK-34381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jane Chan reassigned FLINK-34381: --------------------------------- Assignee: xuyang > `RelDataType#getFullTypeString` should be used to print in > `RelTreeWriterImpl` if `withRowType` is true instead of `Object#toString` > ------------------------------------------------------------------------------------------------------------------------------------ > > Key: FLINK-34381 > URL: https://issues.apache.org/jira/browse/FLINK-34381 > Project: Flink > Issue Type: Technical Debt > Components: Table SQL / Planner > Affects Versions: 1.9.0, 1.19.0 > Reporter: xuyang > Assignee: xuyang > Priority: Major > > Currently `RelTreeWriterImpl` use `rel.getRowType.toString` to print row type. > {code:java} > if (withRowType) { > s.append(", rowType=[").append(rel.getRowType.toString).append("]") > } {code} > However, looking deeper into the code, we should use > `rel.getRowType.getFullTypeString` to print the row type. Because the > function `getFullTypeString` will print richer type information such as > `nullable`. Take `StructuredRelDataType` as an example, the diff is below: > {code:java} > // source > util.addTableSource[(Long, Int, String)]("MyTable", 'a, 'b, 'c) > // sql > SELECT a, c FROM MyTable > // rel.getRowType.toString > RecordType(BIGINT a, VARCHAR(2147483647) c) > // rel.getRowType.getFullTypeString > RecordType(BIGINT a, VARCHAR(2147483647) CHARACTER SET "UTF-16LE" c) NOT > NULL{code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)