From 8a6c10242092704c85bfd9a9f50991a46beec6ab Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 26 Oct 2023 16:58:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A0=A1=E9=AA=8C=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=B1=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/server/DatasourceServer.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java index d6ffb52a20..b66e6e2ae8 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/server/DatasourceServer.java @@ -34,6 +34,7 @@ import io.dataease.datasource.provider.ApiUtils; import io.dataease.datasource.provider.CalciteProvider; import io.dataease.datasource.provider.ExcelUtils; import io.dataease.datasource.request.DatasourceRequest; +import io.dataease.datasource.type.Pg; import io.dataease.engine.constant.SQLConstants; import io.dataease.exception.DEException; import io.dataease.i18n.Translator; @@ -300,11 +301,28 @@ public class DatasourceServer implements DatasourceApi { } } } else { + checkParams(dataSourceDTO.getConfiguration()); calciteProvider.update(dataSourceDTO); } return dataSourceDTO; } + private static void checkParams(String configurationStr) { + DatasourceConfiguration configuration = JsonUtil.parseObject(configurationStr, DatasourceConfiguration.class); + if(configuration.getInitialPoolSize() < configuration.getMinPoolSize()){ + DEException.throwException("初始连接数不能小于最小连接数!"); + } + if(configuration.getInitialPoolSize() > configuration.getMaxPoolSize()){ + DEException.throwException("初始连接数不能大于最大连接数!"); + } + if(configuration.getMaxPoolSize() < configuration.getMinPoolSize()){ + DEException.throwException("最大连接数不能小于最小连接数!"); + } + if(configuration.getQueryTimeout() < 0){ + DEException.throwException("查询超时不能小于0!"); + } + } + private static void checkName(List tables) { for (int i = 0; i < tables.size() - 1; i++) { for (int j = i + 1; j < tables.size(); j++) { @@ -421,6 +439,7 @@ public class DatasourceServer implements DatasourceApi { dataSourceManage.innerEdit(requestDatasource); } } else { + checkParams(dataSourceDTO.getConfiguration()); dataSourceManage.innerEdit(requestDatasource); calciteProvider.update(dataSourceDTO); }