-
Bug
-
Resolution: Done
-
Major
-
2.2.1.Final, 2.3.0.Final
-
None
-
False
-
None
-
False
-
-
When handling data replication across database vendor boundaries, such as a database that does not support UUIDs to a database like PostgreSQL that supports UUID values, the source event may be represented by Schema.Type.STRING, as shown here:
2023-06-20 18:13:05,507 TRACE || Schema type 'STRING' resolved by name from registry to type 'ConnectStringType' [io.debezium.connector.jdbc.dialect.GeneralDatabaseDialect] 2023-06-20 18:13:05,508 TRACE || Field [id] with schema [STRING] [io.debezium.connector.jdbc.SinkRecordDescriptor$FieldDescriptor] 2023-06-20 18:13:05,508 TRACE || Type : io.debezium.connector.jdbc.type.connect.ConnectStringType [io.debezium.connector.jdbc.SinkRecordDescriptor$FieldDescriptor] 2023-06-20 18:13:05,508 TRACE || Optional : true [io.debezium.connector.jdbc.SinkRecordDescriptor$FieldDescriptor]
Normally, the PostgreSQL connector would only treat this value as a UUID if the incoming field's schema type was io.debezium.data.Uuid; however, we should also support the concept that if the destination field is UUID that we attempt the coercion in the built SQL using:
'<the uuid string value>'::uuid
- links to
-
RHEA-2023:120698 Red Hat build of Debezium 2.3.4 release