From ee6e9879bb2469b7aa74beddc9755fcd87d40b77 Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 22 Sep 2017 10:51:44 +0800 Subject: [PATCH] support gbase. for issue #1997 --- .../java/com/alibaba/druid/util/JdbcConstants.java | 3 +++ src/main/java/com/alibaba/druid/util/JdbcUtils.java | 4 ++++ .../com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java | 10 +++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/util/JdbcConstants.java b/src/main/java/com/alibaba/druid/util/JdbcConstants.java index 94b93dd3e8..c1751c5556 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcConstants.java +++ b/src/main/java/com/alibaba/druid/util/JdbcConstants.java @@ -68,6 +68,9 @@ public interface JdbcConstants { public static final String KINGBASE = "kingbase"; public static final String KINGBASE_DRIVER = "com.kingbase.Driver"; + public static final String GBASE = "gbase"; + public static final String GBASE_DRIVER = "com.gbase.jdbc.Driver"; + public static final String OCEANBASE = "oceanbase"; public static final String OCEANBASE_DRIVER = "com.mysql.jdbc.Driver"; diff --git a/src/main/java/com/alibaba/druid/util/JdbcUtils.java b/src/main/java/com/alibaba/druid/util/JdbcUtils.java index 7f4e959989..b0c122bd3a 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcUtils.java +++ b/src/main/java/com/alibaba/druid/util/JdbcUtils.java @@ -452,6 +452,8 @@ public final class JdbcUtils implements JdbcConstants { return JdbcConstants.DM_DRIVER; } else if (rawUrl.startsWith("jdbc:kingbase:")) { return JdbcConstants.KINGBASE_DRIVER; + } else if (rawUrl.startsWith("jdbc:gbase:")) { + return JdbcConstants.GBASE_DRIVER; } else if (rawUrl.startsWith("jdbc:hive:")) { return JdbcConstants.HIVE_DRIVER; } else if (rawUrl.startsWith("jdbc:hive2:")) { @@ -541,6 +543,8 @@ public final class JdbcUtils implements JdbcConstants { return JdbcConstants.DM; } else if (rawUrl.startsWith("jdbc:kingbase:")) { return JdbcConstants.KINGBASE; + } else if (rawUrl.startsWith("jdbc:gbase:")) { + return JdbcConstants.GBASE; } else if (rawUrl.startsWith("jdbc:log4jdbc:")) { return LOG4JDBC; } else if (rawUrl.startsWith("jdbc:hive:")) { diff --git a/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java b/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java index b9dc4c81cb..8092da876b 100644 --- a/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/utils/JdbcUtilsTest2.java @@ -10,6 +10,14 @@ import junit.framework.TestCase; public class JdbcUtilsTest2 extends TestCase { public void test_get_0() throws Exception { - Assert.assertEquals(JdbcConstants.ORACLE_DRIVER, JdbcUtils.getDriverClassName("JDBC:oracle:")); + assertEquals(JdbcConstants.ORACLE_DRIVER, JdbcUtils.getDriverClassName("JDBC:oracle:")); + } + + public void test_gbase() throws Exception { + assertEquals(JdbcConstants.GBASE_DRIVER, JdbcUtils.getDriverClassName("jdbc:gbase:")); + } + + public void test_kingbase() throws Exception { + assertEquals(JdbcConstants.KINGBASE_DRIVER, JdbcUtils.getDriverClassName("jdbc:kingbase:")); } }