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;
});
}
}