@Override
            public Object convert(Object dbzObj, Schema schema) {
                if (dbzObj instanceof Long && StringUtils.isNotBlank(schema.name())) {
                    // Because Oracle CDC has been shaded, the schema will have the prefix
                    // 'org.apache.inlong.sort.cdc.oracle.shaded' added,
                    // so we need to use `schemaName.endsWith()` to determine the Schema type.
                    String schemaName = schema.name();
                    if (schemaName.endsWith(Timestamp.SCHEMA_NAME)) {
                        return TimestampData.fromEpochMillis((Long) dbzObj);
                    } else if (schemaName.endsWith(MicroTimestamp.SCHEMA_NAME)) {
                        long micro = (long) dbzObj;
                        return TimestampData.fromEpochMillis(
                                micro / 1000, (int) (micro % 1000 * 1000));
                    } else if (schemaName.endsWith(NanoTimestamp.SCHEMA_NAME)) {
                        long nano = (long) dbzObj;
                        return TimestampData.fromEpochMillis(
                                nano / 1000_000, (int) (nano % 1000_000));
                    }
                }
                LocalDateTime localDateTime =
                        TemporalConversions.toLocalDateTime(dbzObj, serverTimeZone);
                return TimestampData.fromLocalDateTime(localDateTime);
            }
Returns a builder to build {@link RowDataDebeziumDeserializeSchema}.
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/oracle-cdc/src/main/java/org/apache/inlong/sort/cdc/oracle/debezium/table/RowDataDebeziumDeserializeSchema.java