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 + "]";
+ }
}