[Fix-13814] [Built-in variable] shell task transfer param (#13974)

This commit is contained in:
Molin Wang 2023-04-24 16:45:01 +08:00 committed by GitHub
parent f801eb394d
commit 339881a48e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View File

@ -69,7 +69,7 @@ public class ParamUtils {
Map<String, Property> varParams = parameters.getVarPoolMap();
if (MapUtils.isEmpty(globalParams) && MapUtils.isEmpty(localParams)) {
if (MapUtils.isEmpty(globalParams) && MapUtils.isEmpty(localParams) && MapUtils.isEmpty(varParams)) {
return null;
}
// if it is a complement,
@ -98,7 +98,9 @@ public class ParamUtils {
convertedParams = localParams;
}
if (varParams != null) {
varParams.putAll(globalParams);
if (globalParams != null) {
varParams.putAll(globalParams);
}
globalParams = varParams;
for (Map.Entry<String, Property> entry : varParams.entrySet()) {
convertedParams.put(entry.getKey(), entry.getValue());

View File

@ -436,6 +436,8 @@ public class SqlTask extends AbstractTaskExecutor {
Map<Integer, Property> sqlParamsMap = new HashMap<>();
StringBuilder sqlBuilder = new StringBuilder();
//replace variable TIME with $[YYYYmmddd...] in sql when history run job and batch complement job
sql = ParameterUtils.replaceScheduleTime(sql, taskExecutionContext.getScheduleTime());
// combining local and global parameters
Map<String, Property> paramsMap = ParamUtils.convert(taskExecutionContext, getParameters());
@ -452,9 +454,6 @@ public class SqlTask extends AbstractTaskExecutor {
sqlParameters.setTitle(title);
}
//new
//replace variable TIME with $[YYYYmmddd...] in sql when history run job and batch complement job
sql = ParameterUtils.replaceScheduleTime(sql, taskExecutionContext.getScheduleTime());
// special characters need to be escaped, ${} needs to be escaped
setSqlParamsMap(sql, rgex, sqlParamsMap, paramsMap,taskExecutionContext.getTaskInstanceId());
//Replace the original value in sql {...} Does not participate in precompilation