diff --git a/airbyte-db/db-lib/src/main/java/io/airbyte/db/factory/DatabaseDriver.java b/airbyte-db/db-lib/src/main/java/io/airbyte/db/factory/DatabaseDriver.java index deff79c20e38..c152f0689a01 100644 --- a/airbyte-db/db-lib/src/main/java/io/airbyte/db/factory/DatabaseDriver.java +++ b/airbyte-db/db-lib/src/main/java/io/airbyte/db/factory/DatabaseDriver.java @@ -9,7 +9,7 @@ */ public enum DatabaseDriver { - CLICKHOUSE("ru.yandex.clickhouse.ClickHouseDriver", "jdbc:clickhouse://%s:%d/%s"), + CLICKHOUSE("com.clickhouse.jdbc.ClickHouseDriver", "jdbc:clickhouse://%s:%d/%s"), DATABRICKS("com.databricks.client.jdbc.Driver", "jdbc:databricks://%s;HttpPath=%s;UserAgentEntry=Airbyte"), DB2("com.ibm.db2.jcc.DB2Driver", "jdbc:db2://%s:%d/%s"), MARIADB("org.mariadb.jdbc.Driver", "jdbc:mariadb://%s:%d/%s"), diff --git a/airbyte-integrations/connectors/destination-clickhouse/Dockerfile b/airbyte-integrations/connectors/destination-clickhouse/Dockerfile index ac4fbda5162c..6eb79594f5dc 100644 --- a/airbyte-integrations/connectors/destination-clickhouse/Dockerfile +++ b/airbyte-integrations/connectors/destination-clickhouse/Dockerfile @@ -16,5 +16,5 @@ ENV APPLICATION destination-clickhouse COPY --from=build /airbyte /airbyte -LABEL io.airbyte.version=0.1.8 +LABEL io.airbyte.version=0.1.9 LABEL io.airbyte.name=airbyte/destination-clickhouse diff --git a/airbyte-integrations/connectors/destination-clickhouse/build.gradle b/airbyte-integrations/connectors/destination-clickhouse/build.gradle index 8400dc16962b..fd998a576a8d 100644 --- a/airbyte-integrations/connectors/destination-clickhouse/build.gradle +++ b/airbyte-integrations/connectors/destination-clickhouse/build.gradle @@ -18,7 +18,7 @@ dependencies { implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) // https://mvnrepository.com/artifact/ru.yandex.clickhouse/clickhouse-jdbc - implementation 'ru.yandex.clickhouse:clickhouse-jdbc:0.3.1-patch' + implementation group: 'com.clickhouse', name: 'clickhouse-jdbc', version: '0.3.2-patch9' // https://mvnrepository.com/artifact/org.testcontainers/clickhouse testImplementation libs.connectors.destination.testcontainers.clickhouse diff --git a/airbyte-integrations/connectors/destination-clickhouse/src/main/java/io/airbyte/integrations/destination/clickhouse/ClickhouseSqlOperations.java b/airbyte-integrations/connectors/destination-clickhouse/src/main/java/io/airbyte/integrations/destination/clickhouse/ClickhouseSqlOperations.java index 09c48a7bb50b..cc88942950ed 100644 --- a/airbyte-integrations/connectors/destination-clickhouse/src/main/java/io/airbyte/integrations/destination/clickhouse/ClickhouseSqlOperations.java +++ b/airbyte-integrations/connectors/destination-clickhouse/src/main/java/io/airbyte/integrations/destination/clickhouse/ClickhouseSqlOperations.java @@ -15,9 +15,9 @@ import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ru.yandex.clickhouse.ClickHouseConnection; -import ru.yandex.clickhouse.ClickHouseStatement; -import ru.yandex.clickhouse.domain.ClickHouseFormat; +import com.clickhouse.jdbc.ClickHouseConnection; +import com.clickhouse.jdbc.ClickHouseStatement; +import com.clickhouse.client.ClickHouseFormat; public class ClickhouseSqlOperations extends JdbcSqlOperations { @@ -52,11 +52,10 @@ public String createTableQuery(final JdbcDatabase database, final String schemaN @Override public void executeTransaction(final JdbcDatabase database, final List queries) throws Exception { - final StringBuilder appendedQueries = new StringBuilder(); + // Note: ClickHouse does not support multi query for (final String query : queries) { - appendedQueries.append(query); + database.execute(query); } - database.execute(appendedQueries.toString()); } @Override @@ -82,7 +81,8 @@ public void insertRecordsInternal(final JdbcDatabase database, ClickHouseStatement sth = conn.createStatement(); sth.write() // Write API entrypoint .table(String.format("%s.%s", schemaName, tmpTableName)) // where to write data - .data(tmpFile, ClickHouseFormat.CSV) // specify input + .format(ClickHouseFormat.CSV) // set a format + .data(tmpFile.getAbsolutePath()) // specify input .send(); } catch (final Exception e) {