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

Reply via email to