You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by eo...@apache.org on 2022/10/11 07:53:07 UTC
[pulsar] branch master updated: [improve][connector] JDBC sink: allow any jdbc driver (#17951)
This is an automated email from the ASF dual-hosted git repository.
eolivelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 5c31c9af041 [improve][connector] JDBC sink: allow any jdbc driver (#17951)
5c31c9af041 is described below
commit 5c31c9af04176f81d1616dde64567d0e0ce1f2c8
Author: Nicolò Boschi <bo...@gmail.com>
AuthorDate: Tue Oct 11 09:52:59 2022 +0200
[improve][connector] JDBC sink: allow any jdbc driver (#17951)
---
.../apache/pulsar/io/jdbc/JdbcAbstractSink.java | 2 -
.../org/apache/pulsar/io/jdbc/JdbcDriverType.java | 62 ----------------------
.../java/org/apache/pulsar/io/jdbc/JdbcUtils.java | 10 ----
3 files changed, 74 deletions(-)
diff --git a/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcAbstractSink.java b/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcAbstractSink.java
index 1d12909d5e2..3f7f62e3abb 100644
--- a/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcAbstractSink.java
+++ b/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcAbstractSink.java
@@ -89,8 +89,6 @@ public abstract class JdbcAbstractSink<T> implements Sink<T> {
properties.setProperty("password", password);
}
-
- Class.forName(JdbcUtils.getDriverClassName(jdbcSinkConfig.getJdbcUrl()));
connection = DriverManager.getConnection(jdbcSinkConfig.getJdbcUrl(), properties);
connection.setAutoCommit(!jdbcSinkConfig.isUseTransactions());
log.info("Opened jdbc connection: {}, autoCommit: {}", jdbcUrl, connection.getAutoCommit());
diff --git a/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcDriverType.java b/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcDriverType.java
deleted file mode 100644
index 1a4710622b7..00000000000
--- a/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcDriverType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.pulsar.io.jdbc;
-
-import lombok.Getter;
-
-@Getter
-public enum JdbcDriverType {
-
- CLICKHOUSE("jdbc:clickhouse:", "ru.yandex.clickhouse.ClickHouseDriver"),
- DB2("jdbc:db2:", "com.ibm.db2.jcc.DB2Driver"),
- DERBY_CLIENT("jdbc:derby://", "org.apache.derby.jdbc.ClientDriver"),
- DERBY_EMBEDDED("jdbc:derby:", "org.apache.derby.jdbc.EmbeddedDriver"),
- FIREBIRD("jdbc:firebird:", "org.firebirdsql.jdbc.FBDriver"),
- FIREBIRD_SQL("jdbc:firebirdsql:", "org.firebirdsql.jdbc.FBDriver"),
- H2("jdbc:h2:", "org.h2.Driver"),
- HSQL("jdbc:hsqldb:", "org.hsqldb.jdbcDriver"),
- INFORMIX("jdbc:informix-sqli:", "com.informix.jdbc.IfxDriver"),
- JTDS("jdbc:jtds:", "net.sourceforge.jtds.jdbc.Driver"),
- MARIADB("jdbc:mariadb:", "org.mariadb.jdbc.Driver"),
- MYSQL("jdbc:mysql:", "com.mysql.cj.jdbc.Driver"),
- MYSQL_GOOGLE("jdbc:google:", "com.mysql.jdbc.GoogleDriver"),
- ORACLE("jdbc:oracle", "oracle.jdbc.OracleDriver"),
- POSTGRESQL("jdbc:postgresql:", "org.postgresql.Driver"),
- REDSHIFT("jdbc:redshift:", "com.amazon.redshift.jdbc42.Driver"),
- SAPHANA("jdbc:sap:", "com.sap.db.jdbc.Driver"),
- SNOWFLAKE("jdbc:snowflake:", "net.snowflake.client.jdbc.SnowflakeDriver"),
- SQLDROID("jdbc:sqldroid:", "org.sqldroid.SQLDroidDriver"),
- SQLLITE("jdbc:sqlite:", "org.sqlite.JDBC"),
- SQLSERVER("jdbc:sqlserver:", "com.microsoft.sqlserver.jdbc.SQLServerDriver"),
- SYBASE("jdbc:sybase:", "com.sybase.jdbc4.jdbc.SybDriver"),
- TEST_CONTAINERS("jdbc:tc:", "org.testcontainers.jdbc.ContainerDatabaseDriver"),
- OPENMLDB("jdbc:openmldb:", "com._4paradigm.openmldb.jdbc.SQLDriver");
-
- JdbcDriverType(String prefix, String driverClass) {
- this.prefix = prefix;
- this.driverClass = driverClass;
- }
-
- private final String prefix;
- private final String driverClass;
-
- public boolean matches(String url) {
- return url.startsWith(prefix);
- }
-}
diff --git a/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcUtils.java b/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcUtils.java
index 637de0be96f..327f1db7c64 100644
--- a/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcUtils.java
+++ b/pulsar-io/jdbc/core/src/main/java/org/apache/pulsar/io/jdbc/JdbcUtils.java
@@ -228,14 +228,4 @@ public class JdbcUtils {
public static PreparedStatement buildDeleteStatement(Connection connection, String deleteSQL) throws SQLException {
return connection.prepareStatement(deleteSQL);
}
-
- public static String getDriverClassName(String jdbcUrl) throws Exception {
- for (JdbcDriverType type : JdbcDriverType.values()) {
- if (type.matches(jdbcUrl)) {
- return type.getDriverClass();
- }
- }
- throw new Exception("Provided JDBC connection string contains unknown driver: " + jdbcUrl);
- }
-
}