From 86eafc4d77f0bbc0eaa7fc58e5076a085257f259 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 8 Oct 2024 18:47:57 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=20pg=20jdbc=20=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E9=9D=9E=E6=B3=95=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/dto/datasource/PgConfiguration.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java b/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java index f1365071dd..400af7852f 100644 --- a/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java +++ b/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java @@ -5,12 +5,18 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; +import java.net.URLDecoder; +import java.util.Arrays; +import java.util.List; + @Getter @Setter public class PgConfiguration extends JdbcConfiguration { private String driver = "org.postgresql.Driver"; private String extraParams = ""; + private List illegalParameters = Arrays.asList("socketFactory", "socketFactoryArg", "sslfactory", "sslfactoryarg", "loggerLevel", "loggerFile", "allowUrlInLocalInfile", "allowLoadLocalInfileInPath"); + public String getJdbc() { if (StringUtils.isEmpty(extraParams.trim())) { @@ -27,6 +33,11 @@ public class PgConfiguration extends JdbcConfiguration { .replace("SCHEMA", getSchema().trim()); } } else { + for (String illegalParameter : illegalParameters) { + if (getExtraParams().toLowerCase().contains(illegalParameter.toLowerCase()) || URLDecoder.decode(getExtraParams()).contains(illegalParameter.toLowerCase())) { + throw new RuntimeException("Illegal parameter: " + illegalParameter); + } + } return "jdbc:postgresql://HOSTNAME:PORT/DATABASE?EXTRA_PARAMS" .replace("HOSTNAME", getHost().trim()) .replace("PORT", getPort().toString().trim()) From 429ceec5063db01c0c8244669c5cd8f05146a1ab Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 8 Oct 2024 18:48:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=20excel=E6=97=B6=E9=97=B4=E8=BD=AC?= =?UTF-8?q?=E6=96=87=E6=9C=AC=EF=BC=8C=E4=BD=BF=E7=94=A8=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E6=90=9C=E7=B4=A2=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/engine/doris/DorisQueryProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java index ac5055635b..6fba7a9c7c 100644 --- a/core/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java +++ b/core/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java @@ -145,6 +145,8 @@ public class DorisQueryProvider extends QueryProvider { if (f.getDeExtractType() == 1) { if (f.getDeType() == 2 || f.getDeType() == 3) { fieldName = String.format(DorisConstants.UNIX_TIMESTAMP, originField) + "*1000"; + } else if (f.getDeType().equals(DeTypeConstants.DE_STRING)) { + fieldName = String.format(DorisConstants.CAST, originField, DorisConstants.VARCHAR); } else { fieldName = originField; } From 5f940920052c714ac47e362a06557e7730a2e44e Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 9 Oct 2024 10:42:37 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=20[Bug]=20v1=20=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20->=20=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E4=B8=8D=E5=87=BA=E6=9D=A5=20#12323?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/request/DatasetTaskGridRequest.java | 2 ++ .../java/io/dataease/ext/ExtDataSetTaskMapper.java | 2 ++ .../java/io/dataease/ext/ExtDataSetTaskMapper.xml | 7 +++++-- .../service/dataset/DataSetTableTaskService.java | 11 ++++++++--- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java b/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java index c3e5654e33..886bfd5a25 100644 --- a/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java +++ b/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java @@ -21,4 +21,6 @@ public class DatasetTaskGridRequest extends KeywordRequest { private String id; private Long userId; + + private String datasetId; } diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java index 64e1b4170f..5b6c51d920 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java @@ -23,6 +23,8 @@ public interface ExtDataSetTaskMapper { List userTaskList(DatasetTaskGridRequest request); + String datasetPrivileges(DatasetTaskGridRequest request); + List taskWithTriggers(DatasetTaskGridRequest request); List findByPanelId(@Param("panelId") String panelId); diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml index 57090a03ad..d8b9149d79 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml @@ -136,9 +136,12 @@ + +