Skip to content

Commit 2d704e3

Browse files
authored
[Fix] Fix read from Oracle Date type value lose time (#5814)
1 parent 7d8028a commit 2d704e3

File tree

3 files changed

+20
-21
lines changed
  • seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc
  • seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc

3 files changed

+20
-21
lines changed

seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/catalog/oracle/OracleDataTypeConvertor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ public SeaTunnelDataType<?> toSeaTunnelType(
125125
case ORACLE_XML:
126126
return BasicType.STRING_TYPE;
127127
case ORACLE_DATE:
128-
return LocalTimeType.LOCAL_DATE_TYPE;
129128
case ORACLE_TIMESTAMP:
130129
case ORACLE_TIMESTAMP_WITH_LOCAL_TIME_ZONE:
131130
return LocalTimeType.LOCAL_DATE_TIME_TYPE;

seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/oracle/OracleTypeMapper.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ public class OracleTypeMapper implements JdbcDialectTypeMapper {
7373
public SeaTunnelDataType<?> mapping(ResultSetMetaData metadata, int colIndex)
7474
throws SQLException {
7575
String oracleType = metadata.getColumnTypeName(colIndex).toUpperCase();
76-
String columnName = metadata.getColumnName(colIndex);
7776
int precision = metadata.getPrecision(colIndex);
7877
int scale = metadata.getScale(colIndex);
7978
switch (oracleType) {
@@ -110,7 +109,6 @@ public SeaTunnelDataType<?> mapping(ResultSetMetaData metadata, int colIndex)
110109
case ORACLE_XML:
111110
return BasicType.STRING_TYPE;
112111
case ORACLE_DATE:
113-
return LocalTimeType.LOCAL_DATE_TYPE;
114112
case ORACLE_TIMESTAMP:
115113
case ORACLE_TIMESTAMP_WITH_LOCAL_TIME_ZONE:
116114
return LocalTimeType.LOCAL_DATE_TIME_TYPE;

seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcOracleIT.java

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,23 @@ public class JdbcOracleIT extends AbstractJdbcIT {
7878
+ " XML_TYPE_COL \"SYS\".\"XMLTYPE\"\n"
7979
+ ")";
8080

81+
private static final String[] fieldNames =
82+
new String[] {
83+
"VARCHAR_10_COL",
84+
"CHAR_10_COL",
85+
"CLOB_COL",
86+
"NUMBER_3_SF_2_DP",
87+
"INTEGER_COL",
88+
"FLOAT_COL",
89+
"REAL_COL",
90+
"BINARY_FLOAT_COL",
91+
"BINARY_DOUBLE_COL",
92+
"DATE_COL",
93+
"TIMESTAMP_WITH_3_FRAC_SEC_COL",
94+
"TIMESTAMP_WITH_LOCAL_TZ",
95+
"XML_TYPE_COL"
96+
};
97+
8198
@Override
8299
JdbcCase getJdbcCase() {
83100
Map<String, String> containerEnv = new HashMap<>();
@@ -117,7 +134,9 @@ JdbcCase getJdbcCase() {
117134
}
118135

119136
@Override
120-
void compareResult(String executeKey) {}
137+
void compareResult(String executeKey) {
138+
defaultCompare(executeKey, fieldNames, "INTEGER_COL");
139+
}
121140

122141
@Override
123142
String driverUrl() {
@@ -126,23 +145,6 @@ String driverUrl() {
126145

127146
@Override
128147
Pair<String[], List<SeaTunnelRow>> initTestData() {
129-
String[] fieldNames =
130-
new String[] {
131-
"VARCHAR_10_COL",
132-
"CHAR_10_COL",
133-
"CLOB_COL",
134-
"NUMBER_3_SF_2_DP",
135-
"INTEGER_COL",
136-
"FLOAT_COL",
137-
"REAL_COL",
138-
"BINARY_FLOAT_COL",
139-
"BINARY_DOUBLE_COL",
140-
"DATE_COL",
141-
"TIMESTAMP_WITH_3_FRAC_SEC_COL",
142-
"TIMESTAMP_WITH_LOCAL_TZ",
143-
"XML_TYPE_COL"
144-
};
145-
146148
List<SeaTunnelRow> rows = new ArrayList<>();
147149
for (int i = 0; i < 100; i++) {
148150
SeaTunnelRow row =

0 commit comments

Comments
 (0)