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

gaojun2048 pushed a commit to branch add_canvas_job_define
in repository https://gitbox.apache.org/repos/asf/seatunnel-web.git


The following commit(s) were added to refs/heads/add_canvas_job_define by this 
push:
     new 5970c19d [ADD][Switcher]Add SqlServerDataSourceConfigSwitcher And 
MysqlDatasourceConfigSwitcher (#69)
5970c19d is described below

commit 5970c19d23cbf42c9637223226bb6edb43ccf2a1
Author: zhangchengming601 <[email protected]>
AuthorDate: Thu Jul 13 19:54:05 2023 +0800

    [ADD][Switcher]Add SqlServerDataSourceConfigSwitcher And 
MysqlDatasourceConfigSwitcher (#69)
    
    * [ADD][SYNC TASK DEFINITION]
    
    * [ADD][SYNC TASK DEFINITION] POM File
    
    * [ADD][FUNCTION]Add synchronization task instance function
    
    * [ADD][FUNCTION]Add synchronization task instance function
    
    * [ADD][Switcher]Add SqlServerDataSourceConfigSwitcher And 
MysqlDatasourceConfigSwitcher
    
    * [ADD][Switcher]Add SqlServerDataSourceConfigSwitcher And 
MysqlDatasourceConfigSwitcher
---
 pom.xml                                            |  7 ++++
 seatunnel-server/seatunnel-app/pom.xml             | 10 +++--
 .../impl/MysqlDatasourceConfigSwitcher.java        | 15 ++++++++
 .../impl/SqlServerDataSourceConfigSwitcher.java    | 44 +++++++++++++++++++++-
 4 files changed, 70 insertions(+), 6 deletions(-)

diff --git a/pom.xml b/pom.xml
index dc3af7dd..ef6b0822 100644
--- a/pom.xml
+++ b/pom.xml
@@ -433,6 +433,7 @@
                 <groupId>org.apache.seatunnel</groupId>
                 <artifactId>connector-jdbc</artifactId>
                 <version>${seatunnel-framework.version}</version>
+                <scope>test</scope>
             </dependency>
 
             <dependency>
@@ -580,6 +581,7 @@
                 <groupId>org.apache.seatunnel</groupId>
                 <artifactId>connector-kafka</artifactId>
                 <version>${seatunnel-framework.version}</version>
+                <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.seatunnel</groupId>
@@ -633,6 +635,7 @@
                 <groupId>org.apache.seatunnel</groupId>
                 <artifactId>connector-jdbc</artifactId>
                 <version>${seatunnel-framework.version}</version>
+                <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.seatunnel</groupId>
@@ -854,11 +857,13 @@
                 <groupId>org.apache.seatunnel</groupId>
                 <artifactId>connector-cdc-mysql</artifactId>
                 <version>${seatunnel-framework.version}</version>
+                <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.seatunnel</groupId>
                 <artifactId>connector-cdc-sqlserver</artifactId>
                 <version>${seatunnel-framework.version}</version>
+                <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.seatunnel</groupId>
@@ -880,11 +885,13 @@
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-cdc-sqlserver</artifactId>
             <version>${seatunnel-framework.version}</version>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-cdc-mysql</artifactId>
             <version>${seatunnel-framework.version}</version>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
diff --git a/seatunnel-server/seatunnel-app/pom.xml 
b/seatunnel-server/seatunnel-app/pom.xml
index f6e585cd..0d330ec3 100644
--- a/seatunnel-server/seatunnel-app/pom.xml
+++ b/seatunnel-server/seatunnel-app/pom.xml
@@ -93,7 +93,7 @@
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-common</artifactId>
-            <!--            <scope>test</scope>-->
+            <scope>test</scope>
         </dependency>
 
         <dependency>
@@ -104,7 +104,7 @@
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-console</artifactId>
-            <!--            <scope>test</scope>-->
+            <scope>test</scope>
         </dependency>
 
         <dependency>
@@ -116,7 +116,7 @@
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-kafka</artifactId>
-            <!--            <scope>test</scope>-->
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
@@ -161,15 +161,17 @@
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-jdbc</artifactId>
-            <!--            <scope>test</scope>-->
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-cdc-mysql</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
             <artifactId>connector-cdc-sqlserver</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.seatunnel</groupId>
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/MysqlDatasourceConfigSwitcher.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/MysqlDatasourceConfigSwitcher.java
index 8f27d2de..a034a643 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/MysqlDatasourceConfigSwitcher.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/MysqlDatasourceConfigSwitcher.java
@@ -17,8 +17,23 @@
 
 package org.apache.seatunnel.app.thirdparty.datasource.impl;
 
+import java.util.Optional;
+
 public class MysqlDatasourceConfigSwitcher extends 
BaseJdbcDataSourceConfigSwitcher {
     public static MysqlDatasourceConfigSwitcher INSTANCE = new 
MysqlDatasourceConfigSwitcher();
+    private static final String CATALOG_NAME = "MySQL";
 
     private MysqlDatasourceConfigSwitcher() {}
+
+    protected Optional<String> getCatalogName() {
+        return Optional.of(CATALOG_NAME);
+    }
+
+    protected boolean isSupportPrefixOrSuffix() {
+        return true;
+    }
+
+    protected boolean isSupportToggleCase() {
+        return true;
+    }
 }
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/SqlServerDataSourceConfigSwitcher.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/SqlServerDataSourceConfigSwitcher.java
index 5060ef42..ed816f14 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/SqlServerDataSourceConfigSwitcher.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/SqlServerDataSourceConfigSwitcher.java
@@ -17,16 +17,56 @@
 
 package org.apache.seatunnel.app.thirdparty.datasource.impl;
 
-import 
org.apache.seatunnel.app.thirdparty.datasource.AbstractDataSourceConfigSwitcher;
+import org.apache.seatunnel.common.utils.SeaTunnelException;
 
-public class SqlServerDataSourceConfigSwitcher extends 
AbstractDataSourceConfigSwitcher {
+import java.util.List;
+import java.util.Optional;
+
+public class SqlServerDataSourceConfigSwitcher extends 
BaseJdbcDataSourceConfigSwitcher {
 
     private static final SqlServerDataSourceConfigSwitcher INSTANCE =
             new SqlServerDataSourceConfigSwitcher();
 
+    public static final String CATALOG_NAME = "SqlServer";
+
+    protected boolean isSupportDefaultSchema() {
+        return true;
+    }
+
+    protected boolean isSupportPrefixOrSuffix() {
+        return true;
+    }
+
+    protected boolean isSupportToggleCase() {
+        return true;
+    }
+
+    protected Optional<String> getCatalogName() {
+        return Optional.of(CATALOG_NAME);
+    }
+
     public static final SqlServerDataSourceConfigSwitcher getInstance() {
         return INSTANCE;
     }
 
     private SqlServerDataSourceConfigSwitcher() {}
+
+    protected String tableFieldsToSql(List<String> tableFields, String 
database, String fullTable) {
+
+        String[] split = fullTable.split("\\.");
+        if (split.length != 2) {
+            throw new SeaTunnelException(
+                    "The tableName for sql server must be 
schemaName.tableName, but tableName is "
+                            + fullTable);
+        }
+
+        String schemaName = split[0];
+        String tableName = split[1];
+
+        return generateSql(tableFields, database, schemaName, tableName);
+    }
+
+    protected String quoteIdentifier(String identifier) {
+        return "[" + identifier + "]";
+    }
 }

Reply via email to