public void converterFor()

in flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleDateConverter.java [67:100]


    public void converterFor(RelationalColumn column, ConverterRegistration<SchemaBuilder> registration) {
        String typeName = column.typeName();
        if (TIMESTAMP_OR_DATE_REGEX.matcher(typeName).matches()) {
            registration.register(SchemaBuilder.string().optional(), value -> {
                if (value == null) {
                    if (column.isOptional()) {
                        return null;
                    } else if (column.hasDefaultValue()) {
                        return column.defaultValue();
                    } else {
                        return null;
                    }
                }

                if (value instanceof String) {
                    return  convertStringTimestamp((String) value);
                }
                if(value instanceof Timestamp){
                    return dateTimeV2Formatter.format(((Timestamp) value).toLocalDateTime());
                }

                //oracle timestamp
                try{
                    if (value instanceof TIMESTAMP){
                        return dateTimeV2Formatter.format(((TIMESTAMP) value).timestampValue().toLocalDateTime());
                    }
                }catch (SQLException ex){
                    log.error("convert timestamp failed, values is {}", value);
                }

                return null;
            });
        }
    }