Benoît Paris created FLINK-16277:
------------------------------------

             Summary: StreamTableEnvironment.toAppendStream fails with Decimal 
types
                 Key: FLINK-16277
                 URL: https://issues.apache.org/jira/browse/FLINK-16277
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Legacy Planner, Table SQL / Planner
    Affects Versions: 1.10.0
            Reporter: Benoît Paris
         Attachments: flink-test-schema-update.zip

The following fails when there is a Decimal type in the underlying TableSource:

 
{code:java}
DataStream<Row> appendStream = tEnv.toAppendStream(
  asTable,
  asTable.getSchema().toRowType()
);{code}
Yielding the following error:

 

ValidationException: Type ROW<`y` DECIMAL(38, 18)> of table field 'payload' 
does not match with the physical type ROW<`y` LEGACY('DECIMAL', 'DECIMAL')> of 
the 'payload' field of the TableSource return type
----
 

Remarks:

* toAppendStream is not ready for the new type system, does not accept the new 
DataTypes

* The LegacyTypeInformationType transition type hinders things. Replacing it 
with the new 

DataTypes.DECIMAL type makes things work.

 

Workaround: reprocess TypeConversions.fromLegacyInfoToDataType's output to 
replace LegacyTypeInformationType types when they are of DECIMAL typeroot with 
the new types.

 

Included is reproduction and workaround (activated by line 127) code, with java 
+ pom + stacktrace files.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to