From 7411b6bf9d2adcb99e964ae6700842c4be67c843 Mon Sep 17 00:00:00 2001 From: junjun Date: Thu, 21 Nov 2024 17:01:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E9=9B=86):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8DSQL=E7=89=87=E6=AE=B5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/dataset/manage/DatasetDataManage.java | 10 ++++++---- .../io/dataease/dataset/manage/DatasetSQLManage.java | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetDataManage.java b/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetDataManage.java index 69703e730f..aaf5b8b249 100644 --- a/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetDataManage.java +++ b/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetDataManage.java @@ -113,8 +113,9 @@ public class DatasetDataManage { sql = provider.transSqlDialect(sql, datasourceRequest.getDsList()); } else { // parser sql params and replace default value - String originSql = provider.replaceComment(new String(Base64.getDecoder().decode(tableInfoDTO.getSql()))); - originSql = SqlparserUtils.handleVariableDefaultValue(originSql, datasetTableDTO.getSqlVariableDetails(), false, false, null, false, datasourceRequest.getDsList(), pluginManage); + String s = new String(Base64.getDecoder().decode(tableInfoDTO.getSql())); + String originSql = SqlparserUtils.handleVariableDefaultValue(s, datasetTableDTO.getSqlVariableDetails(), false, false, null, false, datasourceRequest.getDsList(), pluginManage); + originSql = provider.replaceComment(originSql); // add sql table schema sql = SQLUtils.buildOriginPreviewSql(SqlPlaceholderConstants.TABLE_PLACEHOLDER, 0, 0); @@ -403,8 +404,9 @@ public class DatasetDataManage { // parser sql params and replace default value - String originSql = provider.replaceComment(new String(Base64.getDecoder().decode(dto.getSql()))); - originSql = SqlparserUtils.handleVariableDefaultValue(datasetSQLManage.subPrefixSuffixChar(originSql), dto.getSqlVariableDetails(), true, true, null, false, dsMap, pluginManage); + String s = new String(Base64.getDecoder().decode(dto.getSql())); + String originSql = SqlparserUtils.handleVariableDefaultValue(datasetSQLManage.subPrefixSuffixChar(s), dto.getSqlVariableDetails(), true, true, null, false, dsMap, pluginManage); + originSql = provider.replaceComment(originSql); // sql 作为临时表,外层加上limit String sql; diff --git a/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLManage.java b/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLManage.java index 520be1882a..ed7cce3aaf 100644 --- a/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLManage.java +++ b/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLManage.java @@ -451,8 +451,9 @@ public class DatasetSQLManage { } else if (StringUtils.equalsIgnoreCase(currentDs.getType(), DatasetTableTypeConstants.DATASET_TABLE_SQL)) { Provider provider = ProviderFactory.getProvider(dsMap.entrySet().iterator().next().getValue().getType()); // parser sql params and replace default value - String sql = provider.replaceComment(new String(Base64.getDecoder().decode(infoDTO.getSql()))); - sql = SqlparserUtils.handleVariableDefaultValue(sql, currentDs.getSqlVariableDetails(), false, isFromDataSet, parameters, isCross, dsMap, pluginManage); + String s = new String(Base64.getDecoder().decode(infoDTO.getSql())); + String sql = SqlparserUtils.handleVariableDefaultValue(s, currentDs.getSqlVariableDetails(), false, isFromDataSet, parameters, isCross, dsMap, pluginManage); + sql = provider.replaceComment(sql); // add table schema if (isCross) { sql = SqlUtils.addSchema(sql, tableSchema);