From c3092ca38e7b9d49ec882c20812f96412e92f5d3 Mon Sep 17 00:00:00 2001 From: junjie Date: Tue, 18 May 2021 15:32:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):sql=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E6=9C=80=E5=90=8E=E6=94=AF=E6=8C=81=E5=8A=A0?= =?UTF-8?q?1=E4=B8=AA=E5=88=86=E5=8F=B7=E7=BB=93=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/mysql/MysqlQueryProvider.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java index be5d697573..f182c6109a 100644 --- a/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/mysql/MysqlQueryProvider.java @@ -60,12 +60,12 @@ public class MysqlQueryProvider extends QueryProvider { @Override public String createQueryCountSQLAsTmp(String sql) { - return createQueryCountSQL(" (" + sql + ") AS tmp "); + return createQueryCountSQL(" (" + sqlFix(sql) + ") AS tmp "); } @Override public String createSQLPreview(String sql, String orderBy) { - return "SELECT * FROM (" + sql + ") AS tmp ORDER BY " + orderBy + " LIMIT 0,1000"; + return "SELECT * FROM (" + sqlFix(sql) + ") AS tmp ORDER BY " + orderBy + " LIMIT 0,1000"; } @Override @@ -94,7 +94,7 @@ public class MysqlQueryProvider extends QueryProvider { @Override public String createQuerySQLAsTmp(String sql, List fields) { - return createQuerySQL(" (" + sql + ") AS tmp ", fields); + return createQuerySQL(" (" + sqlFix(sql) + ") AS tmp ", fields); } @Override @@ -228,7 +228,7 @@ public class MysqlQueryProvider extends QueryProvider { @Override public String getSQLAsTmp(String sql, List xAxis, List yAxis, List extFilterRequestList) { - return getSQL(" (" + sql + ") AS tmp ", xAxis, yAxis, extFilterRequestList); + return getSQL(" (" + sqlFix(sql) + ") AS tmp ", xAxis, yAxis, extFilterRequestList); } @Override @@ -298,4 +298,11 @@ public class MysqlQueryProvider extends QueryProvider { } return filter.toString(); } + + private String sqlFix(String sql) { + if (sql.lastIndexOf(";") == (sql.length() - 1)) { + sql = sql.substring(0, sql.length() - 1); + } + return sql; + } }