This is an automated email from the ASF dual-hosted git repository.

casion pushed a commit to branch dev-1.3.1
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.1 by this push:
     new 0d9b3c586 [Feature] 1.3.1 linkis metadata query add doris/clickhouse 
(#3457)
0d9b3c586 is described below

commit 0d9b3c586f0deaf7788045c3e056d37a08aae8ee
Author: dlimeng <[email protected]>
AuthorDate: Tue Nov 1 22:32:00 2022 +0800

    [Feature] 1.3.1 linkis metadata query add doris/clickhouse (#3457)
---
 linkis-dist/package/db/linkis_dml.sql              | 18 +++++++++-
 .../query/common/cache/CacheConfiguration.java     |  2 +-
 .../server/src/main/assembly/distribution.xml      |  4 +--
 .../server/loader/MetaClassLoaderManager.java      |  2 +-
 .../service/{mysql => jdbc}/pom.xml                | 20 +++++++++++-
 .../src/main/assembly/distribution.xml             |  0
 .../query/service/ClickhouseMetaService.java}      | 13 ++++----
 .../metadata/query/service/Db2MetaService.java     |  0
 .../metadata/query/service/DmMetaService.java      |  0
 .../metadata/query/service/DorisMetaService.java}  | 13 ++++----
 .../query/service/GreenplumMetaService.java        |  0
 .../query/service/KingbaseMetaService.java         |  0
 .../metadata/query/service/MysqlMetaService.java   |  6 +++-
 .../metadata/query/service/OracleMetaService.java  |  5 ++-
 .../query/service/PostgresqlMetaService.java       |  0
 .../query/service/SqlserverMetaService.java        |  0
 .../query/service/clickhouse}/SqlConnection.java   | 19 ++++++-----
 .../query/service/conf/SqlParamsMapper.java        |  3 ++
 .../metadata/query/service/db2/SqlConnection.java  |  0
 .../metadata/query/service/dm/SqlConnection.java   |  0
 .../query/service/greenplum/SqlConnection.java     |  0
 .../query/service/kingbase/SqlConnection.java      |  0
 .../query/service/mysql/SqlConnection.java         |  9 +++--
 .../query/service/oracle/SqlConnection.java        | 30 +++++++++++++----
 .../query/service/postgres/SqlConnection.java      |  0
 .../query/service/sqlserver/SqlConnection.java     |  0
 .../metadata/query/service/SqlParamsMapper.java    | 38 ----------------------
 .../linkis-datasource/pom.xml                      |  2 +-
 tool/dependencies/known-dependencies.txt           |  2 ++
 29 files changed, 109 insertions(+), 77 deletions(-)

diff --git a/linkis-dist/package/db/linkis_dml.sql 
b/linkis-dist/package/db/linkis_dml.sql
index 7265c8179..7412aceda 100644
--- a/linkis-dist/package/db/linkis_dml.sql
+++ b/linkis-dist/package/db/linkis_dml.sql
@@ -460,6 +460,8 @@ INSERT INTO `linkis_ps_dm_datasource_type` (`name`, 
`description`, `option`, `cl
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, 
`classifier`, `icon`, `layers`) VALUES 
('sqlserver','sqlserver数据库','sqlserver','关系型数据库','',3);
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, 
`classifier`, `icon`, `layers`) VALUES ('db2','db2数据库','db2','关系型数据库','',3);
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, 
`classifier`, `icon`, `layers`) VALUES 
('greenplum','greenplum数据库','greenplum','关系型数据库','',3);
+INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, 
`classifier`, `icon`, `layers`) VALUES ('doris','doris数据库','doris','olap','',4);
+INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, 
`classifier`, `icon`, `layers`) VALUES 
('clickhouse','clickhouse数据库','clickhouse','olap','',4);
 
 
 INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (1, 'host', '主机名(Host)', 
'Host', NULL, 'TEXT', NULL, 0, '主机名(Host)', 'Host', NULL, NULL, NULL, NULL,  
now(), now());
@@ -531,7 +533,21 @@ INSERT INTO `linkis_ps_dm_datasource_type_key` 
(`data_source_type_id`, `key`, `n
 INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (12, 'password', 
'密码(Password)', 'Password', NULL, 'PASSWORD', NULL, 1, '密码(Password)', 
'Password', '', NULL, NULL, NULL,  now(), now());
 INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (12, 'instance', 
'实例名(instance)', 'Instance', NULL, 'TEXT', NULL, 1, '实例名(instance)', 
'Instance', NULL, NULL, NULL, NULL,  now(), now());
 
-
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'host', '主机名(Host)', 
'Host', NULL, 'TEXT', NULL, 1, '主机名(Host)', 'Host', NULL, NULL, NULL, NULL,  
now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'port', '端口号(Port)', 
'Port', NULL, 'TEXT', NULL, 1, '端口号(Port)', 'Port', NULL, NULL, NULL, NULL,  
now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'driverClassName', 
'驱动类名(Driver class name)', 'Driver class name', 'com.mysql.jdbc.Driver', 
'TEXT', NULL, 1, '驱动类名(Driver class name)', 'Driver class name', NULL, NULL, 
NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'params', 
'连接参数(Connection params)', 'Connection params', NULL, 'TEXT', NULL, 0, 
'输入JSON格式(Input JSON format): {"param":"value"}', 'Input JSON format: 
{"param":"value"}', NULL, NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'username', 
'用户名(Username)', 'Username', NULL, 'TEXT', NULL, 1, '用户名(Username)', 
'Username', '^[0-9A-Za-z_-]+$', NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'password', 
'密码(Password)', 'Password', NULL, 'PASSWORD', NULL, 1, '密码(Password)', 
'Password', '', NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (13, 'instance', 
'实例名(instance)', 'Instance', NULL, 'TEXT', NULL, 1, '实例名(instance)', 
'Instance', NULL, NULL, NULL, NULL,  now(), now());
+
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'host', '主机名(Host)', 
'Host', NULL, 'TEXT', NULL, 1, '主机名(Host)', 'Host', NULL, NULL, NULL, NULL,  
now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'port', '端口号(Port)', 
'Port', NULL, 'TEXT', NULL, 1, '端口号(Port)', 'Port', NULL, NULL, NULL, NULL,  
now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'driverClassName', 
'驱动类名(Driver class name)', 'Driver class name', 
'ru.yandex.clickhouse.ClickHouseDriver', 'TEXT', NULL, 1, '驱动类名(Driver class 
name)', 'Driver class name', NULL, NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'params', 
'连接参数(Connection params)', 'Connection params', NULL, 'TEXT', NULL, 0, 
'输入JSON格式(Input JSON format): {"param":"value"}', 'Input JSON format: 
{"param":"value"}', NULL, NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'username', 
'用户名(Username)', 'Username', NULL, 'TEXT', NULL, 1, '用户名(Username)', 
'Username', '^[0-9A-Za-z_-]+$', NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'password', 
'密码(Password)', 'Password', NULL, 'PASSWORD', NULL, 1, '密码(Password)', 
'Password', '', NULL, NULL, NULL,  now(), now());
+INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, 
`name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, 
`description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, 
`data_source`, `update_time`, `create_time`) VALUES (14, 'instance', 
'实例名(instance)', 'Instance', NULL, 'TEXT', NULL, 1, '实例名(instance)', 
'Instance', NULL, NULL, NULL, NULL,  now(), now());
 
 INSERT INTO `linkis_ps_dm_datasource_env` (`env_name`, `env_desc`, 
`datasource_type_id`, `parameter`, `create_time`, `create_user`, `modify_time`, 
`modify_user`) VALUES ('测试环境SIT', '测试环境SIT', 4, 
'{"uris":"thrift://localhost:9083", 
"hadoopConf":{"hive.metastore.execute.setugi":"true"}}',  now(), NULL,  now(), 
NULL);
 INSERT INTO `linkis_ps_dm_datasource_env` (`env_name`, `env_desc`, 
`datasource_type_id`, `parameter`, `create_time`, `create_user`, `modify_time`, 
`modify_user`) VALUES ('测试环境UAT', '测试环境UAT', 4, 
'{"uris":"thrift://localhost:9083", 
"hadoopConf":{"hive.metastore.execute.setugi":"true"}}',  now(), NULL,  now(), 
NULL);
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/java/org/apache/linkis/metadata/query/common/cache/CacheConfiguration.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/java/org/apache/linkis/metadata/query/common/cache/CacheConfiguration.java
index 58518bee8..c81519a69 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/java/org/apache/linkis/metadata/query/common/cache/CacheConfiguration.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/common/src/main/java/org/apache/linkis/metadata/query/common/cache/CacheConfiguration.java
@@ -34,5 +34,5 @@ public class CacheConfiguration {
   public static final CommonVars<String> MYSQL_RELATIONSHIP_LIST =
       CommonVars.apply(
           "wds.linkis.server.mdq.mysql.relationship",
-          "oracle,kingbase,postgresql,sqlserver,db2,greenplum,dm,mysql");
+          
"mysql,oracle,kingbase,postgresql,sqlserver,db2,greenplum,dm,mysql,doris,clickhouse");
 }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
index 7c94aa858..21f2c3ada 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
@@ -74,9 +74,9 @@
             </excludes>
         </fileSet>
         <fileSet>
-            <directory>${basedir}/../service/mysql/target/out/lib</directory>
+            <directory>${basedir}/../service/jdbc/target/out/lib</directory>
             <fileMode>0755</fileMode>
-            <outputDirectory>lib/service/mysql</outputDirectory>
+            <outputDirectory>lib/service/jdbc</outputDirectory>
             <includes>
                 <include>*.jar</include>
             </includes>
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/loader/MetaClassLoaderManager.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/loader/MetaClassLoaderManager.java
index f789c2ff4..4348fd4bd 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/loader/MetaClassLoaderManager.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/loader/MetaClassLoaderManager.java
@@ -65,7 +65,7 @@ public class MetaClassLoaderManager {
   private static final String META_CLASS_NAME =
       "org.apache.linkis.metadata.query.service.%sMetaService";
 
-  private static final String MYSQL_BASE_DIR = "mysql";
+  private static final String MYSQL_BASE_DIR = "jdbc";
 
   private static final Logger LOG = 
LoggerFactory.getLogger(MetaClassLoaderManager.class);
 
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/pom.xml
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/pom.xml
similarity index 85%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/pom.xml
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/pom.xml
index 87ee6d172..d0d079ded 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/pom.xml
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/pom.xml
@@ -24,12 +24,13 @@
     <relativePath>../../../../../pom.xml</relativePath>
   </parent>
 
-  <artifactId>linkis-metadata-query-service-mysql</artifactId>
+  <artifactId>linkis-metadata-query-service-jdbc</artifactId>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <mysql.version>8.0.28</mysql.version>
     <postgresql.version>42.3.1</postgresql.version>
+    <clickhouse.version>0.3.2-patch11</clickhouse.version>
   </properties>
 
   <dependencies>
@@ -56,6 +57,22 @@
       </exclusions>
     </dependency>
 
+    <dependency>
+      <groupId>com.clickhouse</groupId>
+      <artifactId>clickhouse-jdbc</artifactId>
+      <version>${clickhouse.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.postgresql</groupId>
+      <artifactId>postgresql</artifactId>
+      <version>${postgresql.version}</version>
+    </dependency>
   </dependencies>
 
   <build>
@@ -82,6 +99,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.2.0</version>
         <inherited>false</inherited>
         <configuration>
           <skipAssembly>false</skipAssembly>
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/assembly/distribution.xml
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/assembly/distribution.xml
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/assembly/distribution.xml
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/assembly/distribution.xml
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/ClickhouseMetaService.java
similarity index 89%
copy from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
copy to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/ClickhouseMetaService.java
index 810899303..53bd36d1b 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/ClickhouseMetaService.java
@@ -21,8 +21,8 @@ import 
org.apache.linkis.datasourcemanager.common.util.json.Json;
 import org.apache.linkis.metadata.query.common.domain.MetaColumnInfo;
 import org.apache.linkis.metadata.query.common.service.AbstractDbMetaService;
 import org.apache.linkis.metadata.query.common.service.MetadataConnection;
+import org.apache.linkis.metadata.query.service.clickhouse.SqlConnection;
 import org.apache.linkis.metadata.query.service.conf.SqlParamsMapper;
-import org.apache.linkis.metadata.query.service.db2.SqlConnection;
 
 import org.springframework.stereotype.Component;
 
@@ -32,13 +32,12 @@ import java.util.List;
 import java.util.Map;
 
 @Component
-public class Db2MetaService extends AbstractDbMetaService<SqlConnection> {
+public class ClickhouseMetaService extends 
AbstractDbMetaService<SqlConnection> {
   @Override
   public MetadataConnection<SqlConnection> getConnection(
       String operator, Map<String, Object> params) throws Exception {
     String host =
         
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_HOST.getValue(), 
""));
-    // After deserialize, Integer will be Double, Why?
     Integer port =
         (Double.valueOf(
                 
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_PORT.getValue(), 
0))))
@@ -75,9 +74,9 @@ public class Db2MetaService extends 
AbstractDbMetaService<SqlConnection> {
   }
 
   @Override
-  public List<String> queryTables(SqlConnection connection, String schemaname) 
{
+  public List<String> queryTables(SqlConnection connection, String database) {
     try {
-      return connection.getAllTables(schemaname);
+      return connection.getAllTables(database);
     } catch (SQLException e) {
       throw new RuntimeException("Fail to get Sql tables(获取表列表失败)", e);
     }
@@ -85,9 +84,9 @@ public class Db2MetaService extends 
AbstractDbMetaService<SqlConnection> {
 
   @Override
   public List<MetaColumnInfo> queryColumns(
-      SqlConnection connection, String schemaname, String table) {
+      SqlConnection connection, String database, String table) {
     try {
-      return connection.getColumns(schemaname, table);
+      return connection.getColumns(database, table);
     } catch (SQLException | ClassNotFoundException e) {
       throw new RuntimeException("Fail to get Sql columns(获取字段列表失败)", e);
     }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
similarity index 100%
copy from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
copy to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/DmMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/DmMetaService.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/DmMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/DmMetaService.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/DorisMetaService.java
similarity index 89%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/DorisMetaService.java
index 810899303..d25555f88 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/Db2MetaService.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/DorisMetaService.java
@@ -22,7 +22,7 @@ import 
org.apache.linkis.metadata.query.common.domain.MetaColumnInfo;
 import org.apache.linkis.metadata.query.common.service.AbstractDbMetaService;
 import org.apache.linkis.metadata.query.common.service.MetadataConnection;
 import org.apache.linkis.metadata.query.service.conf.SqlParamsMapper;
-import org.apache.linkis.metadata.query.service.db2.SqlConnection;
+import org.apache.linkis.metadata.query.service.mysql.SqlConnection;
 
 import org.springframework.stereotype.Component;
 
@@ -32,13 +32,12 @@ import java.util.List;
 import java.util.Map;
 
 @Component
-public class Db2MetaService extends AbstractDbMetaService<SqlConnection> {
+public class DorisMetaService extends AbstractDbMetaService<SqlConnection> {
   @Override
   public MetadataConnection<SqlConnection> getConnection(
       String operator, Map<String, Object> params) throws Exception {
     String host =
         
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_HOST.getValue(), 
""));
-    // After deserialize, Integer will be Double, Why?
     Integer port =
         (Double.valueOf(
                 
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_PORT.getValue(), 
0))))
@@ -75,9 +74,9 @@ public class Db2MetaService extends 
AbstractDbMetaService<SqlConnection> {
   }
 
   @Override
-  public List<String> queryTables(SqlConnection connection, String schemaname) 
{
+  public List<String> queryTables(SqlConnection connection, String database) {
     try {
-      return connection.getAllTables(schemaname);
+      return connection.getAllTables(database);
     } catch (SQLException e) {
       throw new RuntimeException("Fail to get Sql tables(获取表列表失败)", e);
     }
@@ -85,9 +84,9 @@ public class Db2MetaService extends 
AbstractDbMetaService<SqlConnection> {
 
   @Override
   public List<MetaColumnInfo> queryColumns(
-      SqlConnection connection, String schemaname, String table) {
+      SqlConnection connection, String database, String table) {
     try {
-      return connection.getColumns(schemaname, table);
+      return connection.getColumns(database, table);
     } catch (SQLException | ClassNotFoundException e) {
       throw new RuntimeException("Fail to get Sql columns(获取字段列表失败)", e);
     }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/GreenplumMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/GreenplumMetaService.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/GreenplumMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/GreenplumMetaService.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/KingbaseMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/KingbaseMetaService.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/KingbaseMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/KingbaseMetaService.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/MysqlMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/MysqlMetaService.java
similarity index 93%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/MysqlMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/MysqlMetaService.java
index 325a8d0fb..130e91581 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/MysqlMetaService.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/MysqlMetaService.java
@@ -46,6 +46,9 @@ public class MysqlMetaService extends 
AbstractDbMetaService<SqlConnection> {
         
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_USERNAME.getValue(),
 ""));
     String password =
         
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_PASSWORD.getValue(),
 ""));
+
+    String database =
+        
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_DATABASE.getValue(),
 ""));
     Map<String, Object> extraParams = new HashMap<>();
     Object sqlParamObj = 
params.get(SqlParamsMapper.PARAM_SQL_EXTRA_PARAMS.getValue());
     if (null != sqlParamObj) {
@@ -60,7 +63,8 @@ public class MysqlMetaService extends 
AbstractDbMetaService<SqlConnection> {
       }
     }
     assert extraParams != null;
-    return new MetadataConnection<>(new SqlConnection(host, port, username, 
password, extraParams));
+    return new MetadataConnection<>(
+        new SqlConnection(host, port, username, password, database, 
extraParams));
   }
 
   @Override
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/OracleMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/OracleMetaService.java
similarity index 96%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/OracleMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/OracleMetaService.java
index 2d23542bd..e84cb5b5d 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/OracleMetaService.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/OracleMetaService.java
@@ -52,6 +52,9 @@ public class OracleMetaService extends 
AbstractDbMetaService<SqlConnection> {
 
     String database =
         
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_DATABASE.getValue(),
 ""));
+
+    String serviceName =
+        
String.valueOf(params.getOrDefault(SqlParamsMapper.PARAM_SQL_SERVICE_NAME.getValue(),
 ""));
     Map<String, Object> extraParams = new HashMap<>();
     Object sqlParamObj = 
params.get(SqlParamsMapper.PARAM_SQL_EXTRA_PARAMS.getValue());
     if (null != sqlParamObj) {
@@ -72,7 +75,7 @@ public class OracleMetaService extends 
AbstractDbMetaService<SqlConnection> {
         password,
         database);
     return new MetadataConnection<>(
-        new SqlConnection(host, port, username, password, database, 
extraParams));
+        new SqlConnection(host, port, username, password, database, 
serviceName, extraParams));
   }
 
   @Override
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/PostgresqlMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/PostgresqlMetaService.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/PostgresqlMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/PostgresqlMetaService.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlserverMetaService.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/SqlserverMetaService.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlserverMetaService.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/SqlserverMetaService.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/clickhouse/SqlConnection.java
similarity index 94%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/clickhouse/SqlConnection.java
index 5e0722e1a..fc8ee1c67 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlConnection.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/clickhouse/SqlConnection.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.linkis.metadata.query.service;
+package org.apache.linkis.metadata.query.service.clickhouse;
 
 import org.apache.linkis.common.conf.CommonVars;
 import org.apache.linkis.metadata.query.common.domain.MetaColumnInfo;
@@ -36,10 +36,11 @@ public class SqlConnection implements Closeable {
   private static final Logger LOG = 
LoggerFactory.getLogger(SqlConnection.class);
 
   private static final CommonVars<String> SQL_DRIVER_CLASS =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.driver", 
"com.mysql.jdbc.Driver");
+      CommonVars.apply(
+          "wds.linkis.server.mdm.service.sql.driver", 
"ru.yandex.clickhouse.ClickHouseDriver");
 
   private static final CommonVars<String> SQL_CONNECT_URL =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.url", 
"jdbc:mysql://%s:%s/%s");
+      CommonVars.apply("wds.linkis.server.mdm.service.sql.url", 
"jdbc:clickhouse://%s:%s/%s");
 
   private static final CommonVars<Integer> SQL_CONNECT_TIMEOUT =
       CommonVars.apply("wds.linkis.server.mdm.service.sql.connect.timeout", 
3000);
@@ -52,10 +53,15 @@ public class SqlConnection implements Closeable {
   private ConnectMessage connectMessage;
 
   public SqlConnection(
-      String host, Integer port, String username, String password, Map<String, 
Object> extraParams)
+      String host,
+      Integer port,
+      String username,
+      String password,
+      String database,
+      Map<String, Object> extraParams)
       throws ClassNotFoundException, SQLException {
     connectMessage = new ConnectMessage(host, port, username, password, 
extraParams);
-    conn = getDBConnection(connectMessage, "");
+    conn = getDBConnection(connectMessage, database);
     // Try to create statement
     Statement statement = conn.createStatement();
     statement.close();
@@ -219,9 +225,6 @@ public class SqlConnection implements Closeable {
       this.port = port;
       this.username = username;
       this.password = password;
-      if (extraParams != null) {
-        this.extraParams = extraParams;
-      }
       this.extraParams = extraParams;
       this.extraParams.put("connectTimeout", SQL_CONNECT_TIMEOUT.getValue());
       this.extraParams.put("socketTimeout", SQL_SOCKET_TIMEOUT.getValue());
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/conf/SqlParamsMapper.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/conf/SqlParamsMapper.java
similarity index 91%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/conf/SqlParamsMapper.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/conf/SqlParamsMapper.java
index 057b90f19..87b4273fb 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/conf/SqlParamsMapper.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/conf/SqlParamsMapper.java
@@ -37,4 +37,7 @@ public class SqlParamsMapper {
 
   public static final CommonVars<String> PARAM_SQL_EXTRA_PARAMS =
       CommonVars.apply("wds.linkis.server.mdm.service.sql.params", "params");
+
+  public static final CommonVars<String> PARAM_SQL_SERVICE_NAME =
+      CommonVars.apply("wds.linkis.server.mdm.service.sql.service.name", 
"servicename");
 }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/db2/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/db2/SqlConnection.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/db2/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/db2/SqlConnection.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/dm/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/dm/SqlConnection.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/dm/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/dm/SqlConnection.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/greenplum/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/greenplum/SqlConnection.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/greenplum/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/greenplum/SqlConnection.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/kingbase/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/kingbase/SqlConnection.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/kingbase/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/kingbase/SqlConnection.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/mysql/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/mysql/SqlConnection.java
similarity index 97%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/mysql/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/mysql/SqlConnection.java
index a164d0ad1..f8b393c0c 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/mysql/SqlConnection.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/mysql/SqlConnection.java
@@ -52,10 +52,15 @@ public class SqlConnection implements Closeable {
   private ConnectMessage connectMessage;
 
   public SqlConnection(
-      String host, Integer port, String username, String password, Map<String, 
Object> extraParams)
+      String host,
+      Integer port,
+      String username,
+      String password,
+      String database,
+      Map<String, Object> extraParams)
       throws ClassNotFoundException, SQLException {
     connectMessage = new ConnectMessage(host, port, username, password, 
extraParams);
-    conn = getDBConnection(connectMessage, "");
+    conn = getDBConnection(connectMessage, database);
     // Try to create statement
     Statement statement = conn.createStatement();
     statement.close();
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/oracle/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/oracle/SqlConnection.java
similarity index 89%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/oracle/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/oracle/SqlConnection.java
index 55729b27d..262e030f6 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/oracle/SqlConnection.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/oracle/SqlConnection.java
@@ -39,7 +39,12 @@ public class SqlConnection implements Closeable {
           "wds.linkis.server.mdm.service.oracle.driver", 
"oracle.jdbc.driver.OracleDriver");
 
   private static final CommonVars<String> SQL_CONNECT_URL =
-      CommonVars.apply("wds.linkis.server.mdm.service.oracle.url", 
"jdbc:oracle:thin:@%s:%s:%s");
+      CommonVars.apply(
+          "wds.linkis.server.mdm.service.oracle.sid.url", 
"jdbc:oracle:thin:@%s:%s:%s");
+
+  private static final CommonVars<String> SQL_CONNECT_SERVICE_URL =
+      CommonVars.apply(
+          "wds.linkis.server.mdm.service.oracle.service.url", 
"jdbc:oracle:thin:@//%s:%s/%s");
 
   private Connection conn;
 
@@ -51,10 +56,11 @@ public class SqlConnection implements Closeable {
       String username,
       String password,
       String database,
+      String serviceName,
       Map<String, Object> extraParams)
       throws ClassNotFoundException, SQLException {
     connectMessage = new ConnectMessage(host, port, username, password, 
extraParams);
-    conn = getDBConnection(connectMessage, database);
+    conn = getDBConnection(connectMessage, database, serviceName);
     // Try to create statement
     Statement statement = conn.createStatement();
     statement.close();
@@ -206,16 +212,28 @@ public class SqlConnection implements Closeable {
    * @return
    * @throws ClassNotFoundException
    */
-  private Connection getDBConnection(ConnectMessage connectMessage, String 
database)
+  private Connection getDBConnection(
+      ConnectMessage connectMessage, String database, String serviceName)
       throws ClassNotFoundException, SQLException {
     String extraParamString =
         connectMessage.extraParams.entrySet().stream()
             .map(e -> String.join("=", e.getKey(), 
String.valueOf(e.getValue())))
             .collect(Collectors.joining("&"));
     Class.forName(SQL_DRIVER_CLASS.getValue());
-    String url =
-        String.format(
-            SQL_CONNECT_URL.getValue(), connectMessage.host, 
connectMessage.port, database);
+    String url = "";
+    if (StringUtils.isNotBlank(database)) {
+      url =
+          String.format(
+              SQL_CONNECT_URL.getValue(), connectMessage.host, 
connectMessage.port, database);
+    } else if (StringUtils.isNotBlank(serviceName)) {
+      url =
+          String.format(
+              SQL_CONNECT_SERVICE_URL.getValue(),
+              connectMessage.host,
+              connectMessage.port,
+              database);
+    }
+
     if (!connectMessage.extraParams.isEmpty()) {
       url += "?" + extraParamString;
     }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/postgres/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/postgres/SqlConnection.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/postgres/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/postgres/SqlConnection.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/sqlserver/SqlConnection.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/sqlserver/SqlConnection.java
similarity index 100%
rename from 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/sqlserver/SqlConnection.java
rename to 
linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/jdbc/src/main/java/org/apache/linkis/metadata/query/service/sqlserver/SqlConnection.java
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlParamsMapper.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlParamsMapper.java
deleted file mode 100644
index f4a9b4cf9..000000000
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/service/mysql/src/main/java/org/apache/linkis/metadata/query/service/SqlParamsMapper.java
+++ /dev/null
@@ -1,38 +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.linkis.metadata.query.service;
-
-import org.apache.linkis.common.conf.CommonVars;
-
-public class SqlParamsMapper {
-
-  public static final CommonVars<String> PARAM_SQL_HOST =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.host", "host");
-
-  public static final CommonVars<String> PARAM_SQL_PORT =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.port", "port");
-
-  public static final CommonVars<String> PARAM_SQL_USERNAME =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.username", 
"username");
-
-  public static final CommonVars<String> PARAM_SQL_PASSWORD =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.password", 
"password");
-
-  public static final CommonVars<String> PARAM_SQL_EXTRA_PARAMS =
-      CommonVars.apply("wds.linkis.server.mdm.service.sql.params", "params");
-}
diff --git a/linkis-public-enhancements/linkis-datasource/pom.xml 
b/linkis-public-enhancements/linkis-datasource/pom.xml
index 5de2d03d2..c62763532 100644
--- a/linkis-public-enhancements/linkis-datasource/pom.xml
+++ b/linkis-public-enhancements/linkis-datasource/pom.xml
@@ -33,7 +33,7 @@
     <module>linkis-metadata-query/service/elasticsearch</module>
     <module>linkis-metadata-query/service/hive</module>
     <module>linkis-metadata-query/service/kafka</module>
-    <module>linkis-metadata-query/service/mysql</module>
+    <module>linkis-metadata-query/service/jdbc</module>
     <module>linkis-metadata-query/service/hdfs</module>
     <module>linkis-metadata-query/server</module>
     <module>linkis-datasource-client</module>
diff --git a/tool/dependencies/known-dependencies.txt 
b/tool/dependencies/known-dependencies.txt
index 06d38cfd9..a1c1c9961 100644
--- a/tool/dependencies/known-dependencies.txt
+++ b/tool/dependencies/known-dependencies.txt
@@ -576,3 +576,5 @@ zstd-jni-1.4.5-6.jar
 commons-pool2-2.8.1.jar
 jedis-2.9.2.jar
 dss-gateway-support-1.1.0.jar
+clickhouse-jdbc-0.3.2-patch11.jar
+postgresql-42.3.1.jar


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to