From c02a90226dca4a9cf51d30e7496cc41535dac499 Mon Sep 17 00:00:00 2001 From: prakash soni Date: Fri, 20 May 2022 18:01:23 +0530 Subject: [PATCH 1/5] =?UTF-8?q?=F0=9F=8E=89=20Destination=20MSSQL:=20added?= =?UTF-8?q?=20custom=20JDBC=20parameters=20support.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../destination/mssql/MSSQLDestination.java | 3 +- .../mssql/MSSQLDestinationTest.java | 53 +++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/airbyte-integrations/connectors/destination-mssql/src/main/java/io/airbyte/integrations/destination/mssql/MSSQLDestination.java b/airbyte-integrations/connectors/destination-mssql/src/main/java/io/airbyte/integrations/destination/mssql/MSSQLDestination.java index bd4f667a2e381..e20d5f863b164 100644 --- a/airbyte-integrations/connectors/destination-mssql/src/main/java/io/airbyte/integrations/destination/mssql/MSSQLDestination.java +++ b/airbyte-integrations/connectors/destination-mssql/src/main/java/io/airbyte/integrations/destination/mssql/MSSQLDestination.java @@ -76,7 +76,8 @@ public JsonNode toJdbcConfig(final JsonNode config) { .put("schema", schema); if (config.has(JDBC_URL_PARAMS_KEY)) { - configBuilder.put("connection_properties", config.get(JDBC_URL_PARAMS_KEY)); + //configBuilder.put("connection_properties", config.get(JDBC_URL_PARAMS_KEY)); + configBuilder.put(JDBC_URL_PARAMS_KEY, config.get(JDBC_URL_PARAMS_KEY)); } return Jsons.jsonNode(configBuilder.build()); diff --git a/airbyte-integrations/connectors/destination-mssql/src/test/java/io/airbyte/integrations/destination/mssql/MSSQLDestinationTest.java b/airbyte-integrations/connectors/destination-mssql/src/test/java/io/airbyte/integrations/destination/mssql/MSSQLDestinationTest.java index 31b04f70250a2..84a2e1bb0824e 100644 --- a/airbyte-integrations/connectors/destination-mssql/src/test/java/io/airbyte/integrations/destination/mssql/MSSQLDestinationTest.java +++ b/airbyte-integrations/connectors/destination-mssql/src/test/java/io/airbyte/integrations/destination/mssql/MSSQLDestinationTest.java @@ -5,10 +5,7 @@ package io.airbyte.integrations.destination.mssql; import static java.lang.System.getProperty; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import com.fasterxml.jackson.databind.JsonNode; import io.airbyte.commons.json.Jsons; @@ -166,4 +163,52 @@ private void resetProperty(final String key) { } } + @Test + void testNoExtraParams() { + final JsonNode config = buildConfigNoJdbcParameters(); + final JsonNode jdbcConfig = new MSSQLDestination().toJdbcConfig(config); + assertNull(jdbcConfig.get(MSSQLDestination.JDBC_URL_PARAMS_KEY)); + } + + @Test + void testEmptyExtraParams() { + final String extraParam = ""; + JsonNode config = buildConfigWithExtraJdbcParameters(extraParam); + final JsonNode jdbcConfig = new MSSQLDestination().toJdbcConfig(config); + assertNotNull(jdbcConfig.get(MSSQLDestination.JDBC_URL_PARAMS_KEY).asText()); + assertEquals(extraParam, jdbcConfig.get(MSSQLDestination.JDBC_URL_PARAMS_KEY).asText()); + } + + @Test + void testExtraParams() { + final String extraParam = "key1=value1&key2=value2&key3=value3"; + JsonNode config = buildConfigWithExtraJdbcParameters(extraParam); + final JsonNode jdbcConfig = new MSSQLDestination().toJdbcConfig(config); + assertNotNull(jdbcConfig.get(MSSQLDestination.JDBC_URL_PARAMS_KEY).asText()); + assertEquals(extraParam, jdbcConfig.get(MSSQLDestination.JDBC_URL_PARAMS_KEY).asText()); + + } + + private JsonNode buildConfigNoJdbcParameters() { + return Jsons.jsonNode(com.google.common.collect.ImmutableMap.of( + "ssl_method", "ssl_method", + "host", "localhost", + "port", "1773", + "database", "db", + "username", "username", + "password", "verysecure")); + } + + private JsonNode buildConfigWithExtraJdbcParameters(String extraParam) { + + return Jsons.jsonNode(com.google.common.collect.ImmutableMap.of( + "ssl_method", "ssl_method", + "host", "localhost", + "port", "1773", + "database", "db", + "username", "username", + "password", "verysecure", + "jdbc_url_params", extraParam)); + } + } From 2dc24270e47ab4b1f44abd2479f80133ccf260da Mon Sep 17 00:00:00 2001 From: prakash soni Date: Wed, 25 May 2022 12:12:14 +0530 Subject: [PATCH 2/5] =?UTF-8?q?=F0=9F=8E=89=20=20Destination=20MSSQL:=20ad?= =?UTF-8?q?ded=20custom=20JDBC=20parameters=20support.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../connectors/destination-mssql-strict-encrypt/Dockerfile | 2 +- airbyte-integrations/connectors/destination-mssql/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile b/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile index 572112120901a..0b48a2ec6a492 100644 --- a/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile +++ b/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile @@ -16,5 +16,5 @@ ENV APPLICATION destination-mssql-strict-encrypt COPY --from=build /airbyte /airbyte -LABEL io.airbyte.version=0.1.6 +LABEL io.airbyte.version=0.1.7 LABEL io.airbyte.name=airbyte/destination-mssql-strict-encrypt diff --git a/airbyte-integrations/connectors/destination-mssql/Dockerfile b/airbyte-integrations/connectors/destination-mssql/Dockerfile index 4363d20bf1c15..07b0b3275c715 100644 --- a/airbyte-integrations/connectors/destination-mssql/Dockerfile +++ b/airbyte-integrations/connectors/destination-mssql/Dockerfile @@ -16,5 +16,5 @@ ENV APPLICATION destination-mssql COPY --from=build /airbyte /airbyte -LABEL io.airbyte.version=0.1.17 +LABEL io.airbyte.version=0.1.18 LABEL io.airbyte.name=airbyte/destination-mssql From 02c24ca77120fe3122444dfab9b0d5ece7d51818 Mon Sep 17 00:00:00 2001 From: prakash soni Date: Wed, 25 May 2022 12:18:25 +0530 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=8E=89=20=20Destination=20MSSQL:=20ad?= =?UTF-8?q?ded=20custom=20JDBC=20parameters=20support.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/seed/destination_definitions.yaml | 2 +- .../src/main/resources/seed/destination_specs.yaml | 2 +- docs/integrations/destinations/mssql.md | 10 ++++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml b/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml index 159ab31d3dc43..26c1f2a679aa8 100644 --- a/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml @@ -162,7 +162,7 @@ - name: MS SQL Server destinationDefinitionId: d4353156-9217-4cad-8dd7-c108fd4f74cf dockerRepository: airbyte/destination-mssql - dockerImageTag: 0.1.17 + dockerImageTag: 0.1.18 documentationUrl: https://docs.airbyte.io/integrations/destinations/mssql icon: mssql.svg releaseStage: alpha diff --git a/airbyte-config/init/src/main/resources/seed/destination_specs.yaml b/airbyte-config/init/src/main/resources/seed/destination_specs.yaml index f0f503c995891..40cc1e93c6d58 100644 --- a/airbyte-config/init/src/main/resources/seed/destination_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/destination_specs.yaml @@ -2417,7 +2417,7 @@ supportsDBT: false supported_destination_sync_modes: - "append" -- dockerImage: "airbyte/destination-mssql:0.1.17" +- dockerImage: "airbyte/destination-mssql:0.1.18" spec: documentationUrl: "https://docs.airbyte.io/integrations/destinations/mssql" connectionSpecification: diff --git a/docs/integrations/destinations/mssql.md b/docs/integrations/destinations/mssql.md index 5dd2a1ef4548a..f27e63b4e0ed0 100644 --- a/docs/integrations/destinations/mssql.md +++ b/docs/integrations/destinations/mssql.md @@ -119,8 +119,9 @@ Using this feature requires additional configuration, when creating the source. ## Changelog -| Version | Date | Pull Request | Subject | -|:--------| :--- |:---------------------------------------------------------|:----------------------------------------------------------------------------------------------------| +| Version | Date | Pull Request | Subject | +|:--------|:-----------|:---------------------------------------------------------|:----------------------------------------------------------------------------------------------------| +| 0.1.18 | 2022-05-25 | [13054](https://github.com/airbytehq/airbyte/pull/13054) | Destination MSSQL: added custom JDBC parameters support. | | 0.1.17 | 2022-04-05 | [11729](https://github.com/airbytehq/airbyte/pull/11729) | Bump mina-sshd from 2.7.0 to 2.8.0 | | 0.1.15 | 2022-02-25 | [10421](https://github.com/airbytehq/airbyte/pull/10421) | Refactor JDBC parameters handling | | 0.1.14 | 2022-02-14 | [10256](https://github.com/airbytehq/airbyte/pull/10256) | Add `-XX:+ExitOnOutOfMemoryError` JVM option | @@ -140,8 +141,9 @@ Using this feature requires additional configuration, when creating the source. ### Changelog (Strict Encrypt) -| Version | Date | Pull Request | Subject | -|:--------| :--- | :--- | :--- | +| Version | Date | Pull Request | Subject | +|:--------|:-----------| :--- | :--- | +| 0.1.7 | 2022-05-25 | [13054](https://github.com/airbytehq/airbyte/pull/13054) | Destination MSSQL: added custom JDBC parameters support. | | 0.1.5 | 2022-02-25 | [10421](https://github.com/airbytehq/airbyte/pull/10421) | Refactor JDBC parameters handling | | 0.1.4 | 2022-02-14 | [10256](https://github.com/airbytehq/airbyte/pull/10256) | Add `-XX:+ExitOnOutOfMemoryError` JVM option | | 0.1.3 | 2021-12-28 | [\#9158](https://github.com/airbytehq/airbyte/pull/9158) | Update connector fields title/description | From b0d241367fb53a2b3c9efc038a49f9a8bec0031a Mon Sep 17 00:00:00 2001 From: Oleksandr Tsukanov Date: Wed, 8 Jun 2022 12:16:15 +0300 Subject: [PATCH 4/5] airbyte-101718: Bumped version. --- .../connectors/destination-mssql-strict-encrypt/Dockerfile | 2 +- airbyte-integrations/connectors/destination-mssql/Dockerfile | 2 +- docs/integrations/destinations/mssql.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile b/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile index 0b48a2ec6a492..f50b17ed7ab5d 100644 --- a/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile +++ b/airbyte-integrations/connectors/destination-mssql-strict-encrypt/Dockerfile @@ -16,5 +16,5 @@ ENV APPLICATION destination-mssql-strict-encrypt COPY --from=build /airbyte /airbyte -LABEL io.airbyte.version=0.1.7 +LABEL io.airbyte.version=0.1.8 LABEL io.airbyte.name=airbyte/destination-mssql-strict-encrypt diff --git a/airbyte-integrations/connectors/destination-mssql/Dockerfile b/airbyte-integrations/connectors/destination-mssql/Dockerfile index 07b0b3275c715..c142424038bc0 100644 --- a/airbyte-integrations/connectors/destination-mssql/Dockerfile +++ b/airbyte-integrations/connectors/destination-mssql/Dockerfile @@ -16,5 +16,5 @@ ENV APPLICATION destination-mssql COPY --from=build /airbyte /airbyte -LABEL io.airbyte.version=0.1.18 +LABEL io.airbyte.version=0.1.19 LABEL io.airbyte.name=airbyte/destination-mssql diff --git a/docs/integrations/destinations/mssql.md b/docs/integrations/destinations/mssql.md index 9923791a188a7..6878c23585ebe 100644 --- a/docs/integrations/destinations/mssql.md +++ b/docs/integrations/destinations/mssql.md @@ -144,7 +144,7 @@ Using this feature requires additional configuration, when creating the source. | Version | Date | Pull Request | Subject | |:--------| :--- | :--- | :--- | -| 0.1.7 | 2022-05-25 | [13054](https://github.com/airbytehq/airbyte/pull/13054) | Destination MSSQL: added custom JDBC parameters support. | +| 0.1.8 | 2022-05-25 | [13054](https://github.com/airbytehq/airbyte/pull/13054) | Destination MSSQL: added custom JDBC parameters support. | | 0.1.6 | 2022-05-17 | [12820](https://github.com/airbytehq/airbyte/pull/12820) | Improved 'check' operation performance | | 0.1.5 | 2022-02-25 | [10421](https://github.com/airbytehq/airbyte/pull/10421) | Refactor JDBC parameters handling | | 0.1.4 | 2022-02-14 | [10256](https://github.com/airbytehq/airbyte/pull/10256) | Add `-XX:+ExitOnOutOfMemoryError` JVM option | From ac149b09956469d1d6c4336783c389822f110c17 Mon Sep 17 00:00:00 2001 From: Octavia Squidington III Date: Wed, 8 Jun 2022 11:53:39 +0000 Subject: [PATCH 5/5] auto-bump connector version --- .../init/src/main/resources/seed/destination_definitions.yaml | 2 +- .../init/src/main/resources/seed/destination_specs.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml b/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml index c49607fee6f49..d7c5c79adcab5 100644 --- a/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml @@ -162,7 +162,7 @@ - name: MS SQL Server destinationDefinitionId: d4353156-9217-4cad-8dd7-c108fd4f74cf dockerRepository: airbyte/destination-mssql - dockerImageTag: 0.1.18 + dockerImageTag: 0.1.19 documentationUrl: https://docs.airbyte.io/integrations/destinations/mssql icon: mssql.svg releaseStage: alpha diff --git a/airbyte-config/init/src/main/resources/seed/destination_specs.yaml b/airbyte-config/init/src/main/resources/seed/destination_specs.yaml index 32a0d5f102f5b..efca30ed6a623 100644 --- a/airbyte-config/init/src/main/resources/seed/destination_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/destination_specs.yaml @@ -2452,7 +2452,7 @@ supportsDBT: false supported_destination_sync_modes: - "append" -- dockerImage: "airbyte/destination-mssql:0.1.18" +- dockerImage: "airbyte/destination-mssql:0.1.19" spec: documentationUrl: "https://docs.airbyte.io/integrations/destinations/mssql" connectionSpecification: