From 0ab5cbfc66cc3fbbdc7834ebd0e1b9ba95eaae01 Mon Sep 17 00:00:00 2001 From: cjh Date: Thu, 23 Oct 2025 11:19:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(calcite):=20=E4=BF=AE=E5=A4=8D=E6=96=B0?= =?UTF-8?q?=E5=BB=BA=E5=92=8C=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E6=97=B6=E7=A9=BA=E8=BF=9E=E6=8E=A5=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?unwrap=E5=BC=82=E5=B8=B8,=E5=9C=A8=E8=8E=B7=E5=8F=96CalciteConn?= =?UTF-8?q?ection=E5=89=8D=E5=A2=9E=E5=8A=A0=E7=A9=BA=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/datasource/provider/CalciteProvider.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java index c8e609f49b..089471f760 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java @@ -1597,7 +1597,8 @@ public class CalciteProvider extends Provider { DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDsList(Map.of(datasourceSchemaDTO.getId(), datasourceSchemaDTO)); try { - CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class); + Connection conn = (connection != null) ? connection : getCalciteConnection(); + CalciteConnection calciteConnection = conn.unwrap(CalciteConnection.class); SchemaPlus rootSchema = buildSchema(datasourceRequest, calciteConnection); } catch (Exception e) { DEException.throwException(e.getMessage()); @@ -1633,7 +1634,8 @@ public class CalciteProvider extends Provider { BeanUtils.copyBean(datasourceSchemaDTO, datasource); datasourceSchemaDTO.setSchemaAlias(String.format(SQLConstants.SCHEMA, datasourceSchemaDTO.getId())); try { - CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class); + Connection conn = (connection != null) ? connection : getCalciteConnection(); + CalciteConnection calciteConnection = conn.unwrap(CalciteConnection.class); SchemaPlus rootSchema = calciteConnection.getRootSchema(); if (rootSchema.getSubSchema(datasourceSchemaDTO.getSchemaAlias()) != null) { JdbcSchema jdbcSchema = rootSchema.getSubSchema(datasourceSchemaDTO.getSchemaAlias()).unwrap(JdbcSchema.class);