From 442b76c0131f8c4b2d2071449c44ad1b34436917 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 29 Dec 2022 14:27:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/provider/query/mysql/MysqlQueryProvider.java | 8 ++++++++ .../io/dataease/service/dataset/ExtractDataService.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 566488b0c2..20cc4c0e6e 100644 --- a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -811,6 +811,14 @@ public class MysqlQueryProvider extends QueryProvider { return MessageFormat.format("SELECT {0} FROM {1} LIMIT DE_OFFSET, DE_PAGE_SIZE ", StringUtils.join(array, ","), table); } + public String getTotalCount(boolean isTable, String sql, Datasource ds) { + if(isTable){ + return "SELECT COUNT(*) from " + String.format(MySQLConstants.KEYWORD_TABLE, sql); + }else { + return "SELECT COUNT(*) from ( " + sql + " ) DE_COUNT_TEMP"; + } + } + @Override public String createRawQuerySQLAsTmp(String sql, List fields) { return createRawQuerySQL(" (" + sqlFix(sql) + ") AS DE_TEMP LIMIT DE_OFFSET, DE_PAGE_SIZE ", fields, null); diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 73f1c37050..d2cd3b99c5 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -452,7 +452,7 @@ public class ExtractDataService { extractDataByKettle(datasetTable, datasource, datasetTableFields, extractType, sql.get("selectSQL").replace("DE_OFFSET", offset.toString()).replace("DE_PAGE_SIZE", extractPageSize.toString()).replace("DE_ALL", all.toString())); } } else { - extractDataByKettle(datasetTable, datasource, datasetTableFields, extractType, selectSQL); + extractDataByKettle(datasetTable, datasource, datasetTableFields, extractType, sql.get("selectSQL")); } }