linguoxuan opened a new pull request, #4221:
URL: https://github.com/apache/flink-cdc/pull/4221

   ### Purpose
   This PR fixes the issue where YAML Kafka sink connector does not support 
serializing complex types (MAP, ARRAY, ROW) to JSON format (Debezium / Canal), 
while Kafka SQL connector handles them without problem.
   ### Root Cause
   The issue was in the TableSchemaInfo class, which is responsible for 
converting CDC's RecordData format to Flink's RowData format before JSON 
serialization. The createFieldGetter() method lacked the necessary conversion 
logic for complex types.
   ### Changes
   1. Added complex type conversion methods in TableSchemaInfo.java: support 
for ARRAY, MAP, and ROW types
   ### Testing
   
   1. TableSchemaInfoTest.java:
   2. DebeziumJsonSerializationSchemaTest.java:
   3. CanalJsonSerializationSchemaTest.java:
   4. KafkaDataSinkITCase.java
   5. ComplexTypesEdgeCasesTest
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to