This is an automated email from the ASF dual-hosted git repository.
fanjia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/seatunnel-web.git
The following commit(s) were added to refs/heads/main by this push:
new 53b5de85 [Addendum][Bug] [Seatunnel-web] Error when conditional column
is not used in SE (#239)
53b5de85 is described below
commit 53b5de85c4b2c936d9d764889a75929dc0118e27
Author: BilwaST <[email protected]>
AuthorDate: Thu Nov 7 07:04:40 2024 +0530
[Addendum][Bug] [Seatunnel-web] Error when conditional column is not used
in SE (#239)
---
.../app/service/impl/JobInstanceServiceImpl.java | 18 ------------------
.../impl/BaseJdbcDataSourceConfigSwitcher.java | 9 +++++++++
2 files changed, 9 insertions(+), 18 deletions(-)
diff --git
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobInstanceServiceImpl.java
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobInstanceServiceImpl.java
index 684f529d..8d0b7957 100644
---
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobInstanceServiceImpl.java
+++
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobInstanceServiceImpl.java
@@ -103,10 +103,6 @@ public class JobInstanceServiceImpl extends
SeatunnelBaseServiceImpl
private static final String DAG_PARSING_MODE = "dag-parsing.mode";
- private static final String WHERE_CONDITION = "where_condition";
-
- private static final String QUERY = "query";
-
@Resource private ConnectorDataSourceMapperConfig dataSourceMapperConfig;
@Resource private IDatasourceService datasourceService;
@@ -237,7 +233,6 @@ public class JobInstanceServiceImpl extends
SeatunnelBaseServiceImpl
businessMode,
config,
optionRule);
- mergeConfig =
appendWhereClauseToQuery(mergeConfig);
sourceMap
.get(task.getConnectorType())
.add(filterEmptyValue(mergeConfig));
@@ -335,19 +330,6 @@ public class JobInstanceServiceImpl extends
SeatunnelBaseServiceImpl
return JobUtils.replaceJobConfigPlaceholders(jobConfig, executeParam);
}
- private Config appendWhereClauseToQuery(Config mergeConfig) {
- String where_condition = mergeConfig.getString(WHERE_CONDITION);
- if (where_condition != null && !where_condition.isEmpty()) {
- String query = mergeConfig.getString(QUERY);
- String queryWithWhereClause = query + " " + where_condition;
- mergeConfig =
- mergeConfig.withValue(
- QUERY,
ConfigValueFactory.fromAnyRef(queryWithWhereClause));
- mergeConfig = mergeConfig.withoutPath(WHERE_CONDITION);
- }
- return mergeConfig;
- }
-
@Override
public JobExecutorRes getExecuteResource(@NonNull Long jobEngineId) {
funcPermissionCheck(SeatunnelFuncPermissionKeyConstant.JOB_EXECUTOR_INSTANCE,
0);
diff --git
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/BaseJdbcDataSourceConfigSwitcher.java
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/BaseJdbcDataSourceConfigSwitcher.java
index d3cdb8e8..9c2a2105 100644
---
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/BaseJdbcDataSourceConfigSwitcher.java
+++
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/thirdparty/datasource/impl/BaseJdbcDataSourceConfigSwitcher.java
@@ -61,6 +61,8 @@ public abstract class BaseJdbcDataSourceConfigSwitcher
extends AbstractDataSourc
private static final String BASE_URL = "base-url";
private static final String CATALOG_SCHEMA = "schema";
+ private static final String WHERE_CONDITION = "where_condition";
+
private static final Option<String> DATABASE_SCHEMA =
Options.key("database_schema")
.stringType()
@@ -138,6 +140,13 @@ public abstract class BaseJdbcDataSourceConfigSwitcher
extends AbstractDataSourc
String sql = tableFieldsToSql(tableFields, databaseName,
tableName);
+ String where_condition =
connectorConfig.getString(WHERE_CONDITION);
+
+ if (where_condition != null && !where_condition.isEmpty()) {
+ sql = sql + " " + where_condition;
+ connectorConfig =
connectorConfig.withoutPath(WHERE_CONDITION);
+ }
+
connectorConfig =
connectorConfig.withValue(QUERY_KEY,
ConfigValueFactory.fromAnyRef(sql));
} else if (pluginType.equals(PluginType.SINK)) {