[ 
https://issues.apache.org/jira/browse/FLINK-11569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rong Rong updated FLINK-11569:
------------------------------
    Description: 
Seems like the "toString" method for Row type is only concatenating all fields 
using COMMA ",". However it does not wrap the entire Row in some type of 
encapsulation, for example "()". This results in nested Row being serialized as 
if they are all in one level.

For example:
{code:java}
Row.of("a", 1, Row.of("b", 2))
{code}
is printed out as
{code:java}
"a",1,"b",2
{code}
Problematic piece of code can be found here: 
[https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/types/Row.java#L87]

New changes should be simple to have a dedicated wrapper for the "row" 
stringify format, something like:
{code:java}
("a",1,("b",2))
{code}

  was:
Seems like the "toString" method for Row type is only concatenating all fields 
using COMMA ",". However it does not wrap the entire Row in some type of 
encapsulation, for example "()". This results in nested Row being serialized as 
if they are all in one level.

For example:
{code:java}
Row.of("a", 1, Row.of("b", 2))
{code}
is printed out as
{code:java}
"a",1,"b",2
{code}
Problematic piece of code can be found here: 
[https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/types/Row.java#L87]

New changes should be simple to have a dedicated wrapper for the "row" 
stringify format, something like:
{code:java}
("a",1,"b",2)
{code}


> Row type does not serialize in to readable format when invoke "toString" 
> method
> -------------------------------------------------------------------------------
>
>                 Key: FLINK-11569
>                 URL: https://issues.apache.org/jira/browse/FLINK-11569
>             Project: Flink
>          Issue Type: Bug
>          Components: Type Serialization System
>            Reporter: Rong Rong
>            Assignee: Rong Rong
>            Priority: Major
>
> Seems like the "toString" method for Row type is only concatenating all 
> fields using COMMA ",". However it does not wrap the entire Row in some type 
> of encapsulation, for example "()". This results in nested Row being 
> serialized as if they are all in one level.
> For example:
> {code:java}
> Row.of("a", 1, Row.of("b", 2))
> {code}
> is printed out as
> {code:java}
> "a",1,"b",2
> {code}
> Problematic piece of code can be found here: 
> [https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/types/Row.java#L87]
> New changes should be simple to have a dedicated wrapper for the "row" 
> stringify format, something like:
> {code:java}
> ("a",1,("b",2))
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to