This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 2e8f6048b1a Remove default SQLFederationColumnTypeConverter's impl 
(#37306)
2e8f6048b1a is described below

commit 2e8f6048b1a9098c0d111a3a29530e4f14cc0e19
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Dec 9 10:52:41 2025 +0800

    Remove default SQLFederationColumnTypeConverter's impl (#37306)
    
    * Remove default SQLFederationColumnTypeConverter's impl
    
    * Remove default SQLFederationColumnTypeConverter's impl
---
 .../resultset/SQLFederationResultSet.java          |  4 +--
 .../resultset/SQLFederationResultSetMetaData.java  |  5 ++--
 .../SQLFederationColumnTypeConverter.java          |  8 ++----
 .../impl/OpenGaussColumnTypeConverter.java         | 31 ----------------------
 .../converter/impl/OracleColumnTypeConverter.java  | 31 ----------------------
 .../impl/PostgreSQLColumnTypeConverter.java        | 31 ----------------------
 ...tset.converter.SQLFederationColumnTypeConverter |  3 ---
 .../SQLFederationColumnTypeConverterFixture.java   | 11 ++++++++
 8 files changed, 18 insertions(+), 106 deletions(-)

diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSet.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSet.java
index fd5423a7827..922e99216b4 100644
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSet.java
+++ 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSet.java
@@ -87,7 +87,7 @@ public final class SQLFederationResultSet extends 
AbstractUnsupportedOperationSQ
                                   final RelDataType resultColumnType, final 
String processId) {
         this.enumerator = enumerator;
         this.processId = processId;
-        columnTypeConverter = 
DatabaseTypedSPILoader.getService(SQLFederationColumnTypeConverter.class, 
databaseType);
+        columnTypeConverter = 
DatabaseTypedSPILoader.findService(SQLFederationColumnTypeConverter.class, 
databaseType).orElse(null);
         columnLabelAndIndexes = new 
CaseInsensitiveMap<>(expandProjections.size(), 1F);
         Map<Integer, String> indexAndColumnLabels = new 
CaseInsensitiveMap<>(expandProjections.size(), 1F);
         handleColumnLabelAndIndex(columnLabelAndIndexes, indexAndColumnLabels, 
expandProjections);
@@ -494,7 +494,7 @@ public final class SQLFederationResultSet extends 
AbstractUnsupportedOperationSQ
         ShardingSpherePreconditions.checkNotContains(INVALID_FEDERATION_TYPES, 
type, () -> new SQLFeatureNotSupportedException(String.format("Get value from 
`%s`", type.getName())));
         Object result = currentRows[columnIndex - 1];
         wasNull = null == result;
-        return columnTypeConverter.convertColumnValue(result);
+        return null == columnTypeConverter ? result : 
columnTypeConverter.convertColumnValue(result);
     }
     
     private Object getCalendarValue(final int columnIndex) {
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSetMetaData.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSetMetaData.java
index d21218b359d..afb2a7f17f3 100644
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSetMetaData.java
+++ 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/SQLFederationResultSetMetaData.java
@@ -152,13 +152,14 @@ public final class SQLFederationResultSetMetaData extends 
SQLFederationWrapperAd
         if (relDataType instanceof JavaType && 
BigInteger.class.isAssignableFrom(((JavaType) relDataType).getJavaClass())) {
             return SqlType.BIGINT.id;
         }
-        return 
columnTypeConverter.convertColumnType(relDataType.getSqlTypeName());
+        return null == columnTypeConverter ? 
relDataType.getSqlTypeName().getJdbcOrdinal() : 
columnTypeConverter.convertColumnType(relDataType.getSqlTypeName());
     }
     
     @Override
     public String getColumnTypeName(final int column) {
         SqlTypeName originalSqlTypeName = 
resultColumnType.getFieldList().get(column - 1).getType().getSqlTypeName();
-        SqlTypeName convertSqlTypeName = 
SqlTypeName.getNameForJdbcType(columnTypeConverter.convertColumnType(originalSqlTypeName));
+        SqlTypeName convertSqlTypeName = SqlTypeName.getNameForJdbcType(
+                null == columnTypeConverter ? 
originalSqlTypeName.getJdbcOrdinal() : 
columnTypeConverter.convertColumnType(originalSqlTypeName));
         return null == convertSqlTypeName ? originalSqlTypeName.getName() : 
convertSqlTypeName.getName();
     }
     
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/SQLFederationColumnTypeConverter.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/SQLFederationColumnTypeConverter.java
index 394416dc8e6..65562b0c59c 100644
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/SQLFederationColumnTypeConverter.java
+++ 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/SQLFederationColumnTypeConverter.java
@@ -33,9 +33,7 @@ public interface SQLFederationColumnTypeConverter extends 
DatabaseTypedSPI {
      * @param columnValue column value
      * @return converted column value
      */
-    default Object convertColumnValue(Object columnValue) {
-        return columnValue;
-    }
+    Object convertColumnValue(Object columnValue);
     
     /**
      * Convert column type.
@@ -43,7 +41,5 @@ public interface SQLFederationColumnTypeConverter extends 
DatabaseTypedSPI {
      * @param sqlTypeName column type
      * @return converted column type
      */
-    default int convertColumnType(SqlTypeName sqlTypeName) {
-        return sqlTypeName.getJdbcOrdinal();
-    }
+    int convertColumnType(SqlTypeName sqlTypeName);
 }
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/OpenGaussColumnTypeConverter.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/OpenGaussColumnTypeConverter.java
deleted file mode 100644
index b0cdf5f6764..00000000000
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/OpenGaussColumnTypeConverter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sqlfederation.resultset.converter.impl;
-
-import 
org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter;
-
-/**
- * OpenGauss column type converter.
- */
-public final class OpenGaussColumnTypeConverter implements 
SQLFederationColumnTypeConverter {
-    
-    @Override
-    public String getDatabaseType() {
-        return "openGauss";
-    }
-}
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/OracleColumnTypeConverter.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/OracleColumnTypeConverter.java
deleted file mode 100644
index da0af0796ff..00000000000
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/OracleColumnTypeConverter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sqlfederation.resultset.converter.impl;
-
-import 
org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter;
-
-/**
- * Oracle column type converter.
- */
-public final class OracleColumnTypeConverter implements 
SQLFederationColumnTypeConverter {
-    
-    @Override
-    public String getDatabaseType() {
-        return "Oracle";
-    }
-}
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/PostgreSQLColumnTypeConverter.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/PostgreSQLColumnTypeConverter.java
deleted file mode 100644
index b3e4fa66f58..00000000000
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/resultset/converter/impl/PostgreSQLColumnTypeConverter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sqlfederation.resultset.converter.impl;
-
-import 
org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter;
-
-/**
- * PostgreSQL column type converter.
- */
-public final class PostgreSQLColumnTypeConverter implements 
SQLFederationColumnTypeConverter {
-    
-    @Override
-    public String getDatabaseType() {
-        return "PostgreSQL";
-    }
-}
diff --git 
a/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter
 
b/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter
index 20c93fcf59d..eced0c7ac36 100644
--- 
a/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter
+++ 
b/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter
@@ -16,6 +16,3 @@
 #
 
 
org.apache.shardingsphere.sqlfederation.resultset.converter.impl.MySQLColumnTypeConverter
-org.apache.shardingsphere.sqlfederation.resultset.converter.impl.OracleColumnTypeConverter
-org.apache.shardingsphere.sqlfederation.resultset.converter.impl.OpenGaussColumnTypeConverter
-org.apache.shardingsphere.sqlfederation.resultset.converter.impl.PostgreSQLColumnTypeConverter
diff --git 
a/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/resultset/fixture/converter/SQLFederationColumnTypeConverterFixture.java
 
b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/resultset/fixture/converter/SQLFederationColumnTypeConverterFixture.java
index 63831d5037d..802b14019e8 100644
--- 
a/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/resultset/fixture/converter/SQLFederationColumnTypeConverterFixture.java
+++ 
b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/resultset/fixture/converter/SQLFederationColumnTypeConverterFixture.java
@@ -17,10 +17,21 @@
 
 package org.apache.shardingsphere.sqlfederation.resultset.fixture.converter;
 
+import org.apache.calcite.sql.type.SqlTypeName;
 import 
org.apache.shardingsphere.sqlfederation.resultset.converter.SQLFederationColumnTypeConverter;
 
 public final class SQLFederationColumnTypeConverterFixture implements 
SQLFederationColumnTypeConverter {
     
+    @Override
+    public Object convertColumnValue(final Object columnValue) {
+        return columnValue;
+    }
+    
+    @Override
+    public int convertColumnType(final SqlTypeName sqlTypeName) {
+        return sqlTypeName.getJdbcOrdinal();
+    }
+    
     @Override
     public String getDatabaseType() {
         return "FIXTURE";

Reply via email to