Skip to content

Commit 9b211bf

Browse files
oracle date is returned as timestamp
1 parent 0544cb9 commit 9b211bf

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OracleFieldsValidator.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,14 @@ public boolean isFieldCompatible(Schema.Field field, ResultSetMetaData metadata,
3939
int scale = metadata.getScale(index);
4040

4141
// Handle logical types first
42+
if (fieldLogicalType == Schema.LogicalType.DATE) {
43+
// oracle date also contains time part so the oracle driver treats date as timestamp
44+
// https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT413
45+
return sqlType == Types.TIMESTAMP || super.isFieldCompatible(fieldType, fieldLogicalType, sqlType);
46+
}
4247
if (fieldLogicalType == Schema.LogicalType.TIMESTAMP_MICROS) {
4348
return sqlType == OracleSinkSchemaReader.TIMESTAMP_LTZ ||
44-
super.isFieldCompatible(fieldType, fieldLogicalType, sqlType);
49+
super.isFieldCompatible(fieldType, fieldLogicalType, sqlType);
4550
} else if (fieldLogicalType != null) {
4651
return super.isFieldCompatible(fieldType, fieldLogicalType, sqlType);
4752
}

0 commit comments

Comments
 (0)