Skip to content

Commit 8b76e89

Browse files
authored
Remove custom debezium mssql converted for datetimeoffset type (#39342)
1 parent 6968f9a commit 8b76e89

File tree

4 files changed

+57
-77
lines changed

4 files changed

+57
-77
lines changed

airbyte-integrations/connectors/source-mssql/metadata.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ data:
99
connectorSubtype: database
1010
connectorType: source
1111
definitionId: b5ea17b1-f170-46dc-bc31-cc744ca984c1
12-
dockerImageTag: 4.0.27
12+
dockerImageTag: 4.0.28
1313
dockerRepository: airbyte/source-mssql
1414
documentationUrl: https://docs.airbyte.com/integrations/sources/mssql
1515
githubIssueLabel: source-mssql

airbyte-integrations/connectors/source-mssql/src/main/java/io/airbyte/integrations/source/mssql/MssqlDebeziumConverter.java

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import java.time.*;
1818
import java.time.format.DateTimeFormatter;
1919
import java.util.*;
20-
import microsoft.sql.DateTimeOffset;
2120
import org.apache.kafka.connect.data.SchemaBuilder;
2221
import org.slf4j.Logger;
2322
import org.slf4j.LoggerFactory;
@@ -34,7 +33,6 @@ public class MssqlDebeziumConverter implements CustomConverter<SchemaBuilder, Re
3433
private static final String SMALLMONEY_TYPE = "SMALLMONEY";
3534
private static final String GEOMETRY = "GEOMETRY";
3635
private static final String GEOGRAPHY = "GEOGRAPHY";
37-
private static final String DEBEZIUM_DATETIMEOFFSET_FORMAT = "yyyy-MM-dd HH:mm:ss[.][SSSSSSS] XXX";
3836

3937
private static final String DATETIME_FORMAT_MICROSECONDS = "yyyy-MM-dd'T'HH:mm:ss[.][SSSSSS]";
4038

@@ -58,8 +56,6 @@ public void converterFor(final RelationalColumn field,
5856
registerGeography(field, registration);
5957
} else if (TIME_TYPE.equalsIgnoreCase(field.typeName())) {
6058
registerTime(field, registration);
61-
} else if (DATETIMEOFFSET.equalsIgnoreCase(field.typeName())) {
62-
registerDateTimeOffSet(field, registration);
6359
}
6460
}
6561

@@ -144,25 +140,6 @@ private void registerDatetime(final RelationalColumn field,
144140

145141
}
146142

147-
private void registerDateTimeOffSet(final RelationalColumn field,
148-
final ConverterRegistration<SchemaBuilder> registration) {
149-
registration.register(SchemaBuilder.string(), input -> {
150-
if (Objects.isNull(input)) {
151-
return DebeziumConverterUtils.convertDefaultValue(field);
152-
}
153-
154-
if (input instanceof DateTimeOffset) {
155-
return DataTypeUtils.toISO8601String(
156-
OffsetDateTime.parse(input.toString(),
157-
DateTimeFormatter.ofPattern(DEBEZIUM_DATETIMEOFFSET_FORMAT)));
158-
}
159-
160-
LOGGER.warn("Uncovered DateTimeOffSet class type '{}'. Use default converter",
161-
input.getClass().getName());
162-
return input.toString();
163-
});
164-
}
165-
166143
private void registerTime(final RelationalColumn field,
167144
final ConverterRegistration<SchemaBuilder> registration) {
168145
registration.register(SchemaBuilder.string(), input -> {

airbyte-integrations/connectors/source-mssql/src/test-integration/java/io/airbyte/integrations/source/mssql/AbstractMssqlSourceDatatypeTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,11 @@ protected void initTests() {
183183
TestDataHolder.builder()
184184
.sourceType("datetimeoffset")
185185
.airbyteType(JsonSchemaType.STRING_TIMESTAMP_WITH_TIMEZONE)
186-
.addInsertValues("'0001-01-10 00:00:00 +01:00'", "'9999-01-10 00:00:00 +01:00'", "null")
186+
.addInsertValues("'0001-01-10 00:00:00 +01:00'", "'9999-01-10 00:00:00 +01:00'", "null", "'2024-05-10 19:00:01.604805 +03:00'",
187+
"'2024-03-02 19:08:07.1234567 +09:00'", "'2024-03-02 19:08:07.12345678 +09:00'")
187188
.addExpectedValues("0001-01-10 00:00:00.0000000 +01:00",
188-
"9999-01-10 00:00:00.0000000 +01:00", null)
189+
"9999-01-10 00:00:00.0000000 +01:00", null, "2024-05-10 19:00:01.6048050 +03:00", "2024-03-02 19:08:07.1234567 +09:00",
190+
"2024-03-02 19:08:07.1234568 +09:00")
189191
.createTablePatternSql(CREATE_TABLE_SQL)
190192
.build());
191193

0 commit comments

Comments
 (0)