From cb2b2c84d639d587b93e3a9c027e5df38018a00a Mon Sep 17 00:00:00 2001 From: junjun Date: Wed, 20 Mar 2024 16:42:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E4=B8=8D=E5=B1=95=E7=A4=BA=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/dataset/manage/DatasetDataManage.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 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 220e46c259..1d6367c06a 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 @@ -107,7 +107,11 @@ public class DatasetDataManage { } logger.info("calcite data table field sql: " + datasourceRequest.getQuery()); // 获取数据源表的原始字段 - if (StringUtils.equalsIgnoreCase(type, DatasetTableType.DB)) { + if (StringUtils.equalsIgnoreCase(type, DatasetTableType.DB) + && !StringUtils.equalsIgnoreCase("excel", coreDatasource.getType()) + && !StringUtils.equalsIgnoreCase("api", coreDatasource.getType())) { + datasourceRequest.setDatasource(coreDatasource); + datasourceRequest.setTable(tableInfoDTO.getTable()); tableFields = calciteProvider.fetchTableField(datasourceRequest); } else { tableFields = (List) calciteProvider.fetchResultField(datasourceRequest).get("fields"); @@ -123,7 +127,7 @@ public class DatasetDataManage { datasourceRequest.setDsList(Map.of(datasourceSchemaDTO.getId(), datasourceSchemaDTO)); datasourceRequest.setQuery(TableUtils.tableName2Sql(datasourceSchemaDTO, tableInfoDTO.getTable()) + " LIMIT 0 OFFSET 0"); logger.info("calcite data table field sql: " + datasourceRequest.getQuery()); - tableFields = calciteProvider.fetchTableField(datasourceRequest); + tableFields = (List) calciteProvider.fetchResultField(datasourceRequest).get("fields"); } return transFields(tableFields, true); }