|
@@ -291,7 +291,15 @@ public class udfController {
|
|
|
Matcher matcher = pattern.matcher(sql);
|
|
Matcher matcher = pattern.matcher(sql);
|
|
|
while (matcher.find()) {
|
|
while (matcher.find()) {
|
|
|
String group = matcher.group(1);
|
|
String group = matcher.group(1);
|
|
|
- sql = sql.replace("$" + group, rowMap.getString(group.toUpperCase()));
|
|
|
|
|
|
|
+ // 新增 rowMap 非空判断
|
|
|
|
|
+ if (rowMap == null) {
|
|
|
|
|
+ // 可日志记录错误,或给默认值(如空字符串)
|
|
|
|
|
+ sql = sql.replace("$" + group, "");
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 若 rowMap 非空,再调用 getString
|
|
|
|
|
+ String replacement = rowMap.getString(group.toUpperCase());
|
|
|
|
|
+ sql = sql.replace("$" + group, replacement != null ? replacement : "");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|