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 f991b9f74d7 Merge DatabaseProtocolDefaultVersionProvider and 
DialectProtocolVersionOption (#37043)
f991b9f74d7 is described below

commit f991b9f74d73e9fac440e1a1111b920296bc43db
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Nov 8 20:59:46 2025 +0800

    Merge DatabaseProtocolDefaultVersionProvider and 
DialectProtocolVersionOption (#37043)
---
 .../database/metadata/DialectDatabaseMetaData.java | 10 ++++++
 .../version/DialectProtocolVersionOption.java}     | 22 ++++++-------
 .../database/FirebirdDatabaseMetaData.java         |  6 ++++
 .../metadata/database/MySQLDatabaseMetaData.java   |  6 ++++
 .../database/OpenGaussDatabaseMetaData.java        |  6 ++++
 .../database/PostgreSQLDatabaseMetaData.java       |  6 ++++
 .../DatabaseProtocolDefaultVersionProvider.java    | 35 ---------------------
 .../constant/DatabaseProtocolServerInfo.java       |  6 ++--
 ...constant.DatabaseProtocolDefaultVersionProvider | 18 -----------
 .../FirebirdProtocolDefaultVersionProvider.java    | 36 ----------------------
 ...constant.DatabaseProtocolDefaultVersionProvider | 18 -----------
 ...FirebirdProtocolDefaultVersionProviderTest.java | 33 --------------------
 .../MySQLProtocolDefaultVersionProvider.java       | 36 ----------------------
 ...constant.DatabaseProtocolDefaultVersionProvider | 18 -----------
 .../OpenGaussProtocolDefaultVersionProvider.java   | 36 ----------------------
 ...constant.DatabaseProtocolDefaultVersionProvider | 18 -----------
 .../PostgreSQLProtocolDefaultVersionProvider.java  | 36 ----------------------
 ...constant.DatabaseProtocolDefaultVersionProvider | 18 -----------
 .../database/DialectDatabaseMetaDataFixture.java   |  6 ++++
 19 files changed, 54 insertions(+), 316 deletions(-)

diff --git 
a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/DialectDatabaseMetaData.java
 
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/DialectDatabaseMetaData.java
index 05e538977b2..c1007018f12 100644
--- 
a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/DialectDatabaseMetaData.java
+++ 
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/DialectDatabaseMetaData.java
@@ -34,6 +34,7 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.metad
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.sqlbatch.DialectSQLBatchOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.table.DialectDriverQuerySystemCatalogOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 import org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPI;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 
@@ -175,4 +176,13 @@ public interface DialectDatabaseMetaData extends 
DatabaseTypedSPI {
     default DialectSQLBatchOption getSQLBatchOption() {
         return new DialectSQLBatchOption(true);
     }
+    
+    /**
+     * Get protocol version option.
+     *
+     * @return protocol version option
+     */
+    default DialectProtocolVersionOption getProtocolVersionOption() {
+        return new DialectProtocolVersionOption("");
+    }
 }
diff --git 
a/database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/constant/fixture/FixtureDatabaseProtocolDefaultVersionProvider.java
 
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/option/version/DialectProtocolVersionOption.java
similarity index 64%
rename from 
database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/constant/fixture/FixtureDatabaseProtocolDefaultVersionProvider.java
rename to 
database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/option/version/DialectProtocolVersionOption.java
index a93f2cbf4e8..cd5acc0c0b6 100644
--- 
a/database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/constant/fixture/FixtureDatabaseProtocolDefaultVersionProvider.java
+++ 
b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/metadata/database/metadata/option/version/DialectProtocolVersionOption.java
@@ -15,19 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.database.protocol.constant.fixture;
+package 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version;
 
-import 
org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 
-public final class FixtureDatabaseProtocolDefaultVersionProvider implements 
DatabaseProtocolDefaultVersionProvider {
-    
-    @Override
-    public String provide() {
-        return "1.0";
-    }
+/**
+ * Dialect protocol version option.
+ */
+@RequiredArgsConstructor
+@Getter
+public final class DialectProtocolVersionOption {
     
-    @Override
-    public String getDatabaseType() {
-        return "FIXTURE";
-    }
+    private final String defaultVersion;
 }
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaData.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaData.java
index 463ecd8ead5..52f9ec3864f 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaData.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaData.java
@@ -23,6 +23,7 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.metad
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.IdentifierPatternType;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.schema.DialectSchemaOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 import 
org.apache.shardingsphere.database.connector.firebird.metadata.database.option.FirebirdSchemaOption;
 
 import java.sql.Connection;
@@ -57,6 +58,11 @@ public final class FirebirdDatabaseMetaData implements 
DialectDatabaseMetaData {
         return new DialectTransactionOption(false, true, false, false, true, 
Connection.TRANSACTION_READ_COMMITTED, false, true);
     }
     
+    @Override
+    public DialectProtocolVersionOption getProtocolVersionOption() {
+        return new DialectProtocolVersionOption("18");
+    }
+    
     @Override
     public String getDatabaseType() {
         return "Firebird";
diff --git 
a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/MySQLDatabaseMetaData.java
 
b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/MySQLDatabaseMetaData.java
index 8e3ad7e9194..602dc0c6303 100644
--- 
a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/MySQLDatabaseMetaData.java
+++ 
b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/metadata/database/MySQLDatabaseMetaData.java
@@ -27,6 +27,7 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.metad
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.join.DialectJoinOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.keygen.DialectGeneratedKeyOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 import 
org.apache.shardingsphere.database.connector.mysql.metadata.database.option.MySQLDataTypeOption;
 
 import java.sql.Connection;
@@ -81,6 +82,11 @@ public final class MySQLDatabaseMetaData implements 
DialectDatabaseMetaData {
         return new DialectGeneratedKeyOption(true);
     }
     
+    @Override
+    public DialectProtocolVersionOption getProtocolVersionOption() {
+        return new DialectProtocolVersionOption("5.7.22");
+    }
+    
     @Override
     public String getDatabaseType() {
         return "MySQL";
diff --git 
a/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
 
b/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
index 37a04f8449f..ca13b4b31ed 100644
--- 
a/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
+++ 
b/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
@@ -26,6 +26,7 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.metad
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.schema.DialectSchemaOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.table.DialectDriverQuerySystemCatalogOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 import 
org.apache.shardingsphere.database.connector.opengauss.metadata.database.option.OpenGaussDataTypeOption;
 import 
org.apache.shardingsphere.database.connector.opengauss.metadata.database.option.OpenGaussDriverQuerySystemCatalogOption;
 import 
org.apache.shardingsphere.database.connector.opengauss.metadata.database.option.OpenGaussSchemaOption;
@@ -78,6 +79,11 @@ public final class OpenGaussDatabaseMetaData implements 
DialectDatabaseMetaData
         return new DialectTransactionOption(true, false, false, true, false, 
Connection.TRANSACTION_READ_COMMITTED, true, true);
     }
     
+    @Override
+    public DialectProtocolVersionOption getProtocolVersionOption() {
+        return new DialectProtocolVersionOption("9.2.4");
+    }
+    
     @Override
     public String getDatabaseType() {
         return "openGauss";
diff --git 
a/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
 
b/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
index 0ea515ffe4a..6397aaa380d 100644
--- 
a/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
+++ 
b/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
@@ -25,6 +25,7 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.metad
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.index.DialectIndexOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.schema.DialectSchemaOption;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 import 
org.apache.shardingsphere.database.connector.postgresql.metadata.database.option.PostgreSQLDataTypeOption;
 import 
org.apache.shardingsphere.database.connector.postgresql.metadata.database.option.PostgreSQLSchemaOption;
 
@@ -70,6 +71,11 @@ public final class PostgreSQLDatabaseMetaData implements 
DialectDatabaseMetaData
         return new DialectTransactionOption(false, false, false, true, false, 
Connection.TRANSACTION_READ_COMMITTED, true, true);
     }
     
+    @Override
+    public DialectProtocolVersionOption getProtocolVersionOption() {
+        return new DialectProtocolVersionOption("12.3");
+    }
+    
     @Override
     public String getDatabaseType() {
         return "PostgreSQL";
diff --git 
a/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolDefaultVersionProvider.java
 
b/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolDefaultVersionProvider.java
deleted file mode 100644
index 6ee1e6e3ca6..00000000000
--- 
a/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolDefaultVersionProvider.java
+++ /dev/null
@@ -1,35 +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.database.protocol.constant;
-
-import org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPI;
-import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
-
-/**
- * Database protocol default version provider.
- */
-@SingletonSPI
-public interface DatabaseProtocolDefaultVersionProvider extends 
DatabaseTypedSPI {
-    
-    /**
-     * Provide default database version.
-     *
-     * @return default database version
-     */
-    String provide();
-}
diff --git 
a/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolServerInfo.java
 
b/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolServerInfo.java
index 00050b23edc..016cf1a8a92 100644
--- 
a/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolServerInfo.java
+++ 
b/database/protocol/core/src/main/java/org/apache/shardingsphere/database/protocol/constant/DatabaseProtocolServerInfo.java
@@ -19,8 +19,9 @@ package org.apache.shardingsphere.database.protocol.constant;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import 
org.apache.shardingsphere.database.connector.core.type.DatabaseTypeRegistry;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -63,6 +64,7 @@ public final class DatabaseProtocolServerInfo {
      * @return default protocol version
      */
     public static String getDefaultProtocolVersion(final DatabaseType 
databaseType) {
-        return String.format(SERVER_INFORMATION_PATTERN, 
DatabaseTypedSPILoader.getService(DatabaseProtocolDefaultVersionProvider.class, 
databaseType).provide(), CommonConstants.PROXY_VERSION.get());
+        DialectProtocolVersionOption protocolVersionOption = new 
DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getProtocolVersionOption();
+        return String.format(SERVER_INFORMATION_PATTERN, 
protocolVersionOption.getDefaultVersion(), CommonConstants.PROXY_VERSION.get());
     }
 }
diff --git 
a/database/protocol/core/src/test/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
 
b/database/protocol/core/src/test/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
deleted file mode 100644
index 679c66fddbc..00000000000
--- 
a/database/protocol/core/src/test/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.database.protocol.constant.fixture.FixtureDatabaseProtocolDefaultVersionProvider
diff --git 
a/database/protocol/dialect/firebird/src/main/java/org/apache/shardingsphere/database/protocol/firebird/constant/FirebirdProtocolDefaultVersionProvider.java
 
b/database/protocol/dialect/firebird/src/main/java/org/apache/shardingsphere/database/protocol/firebird/constant/FirebirdProtocolDefaultVersionProvider.java
deleted file mode 100644
index 7d6bfa3b77a..00000000000
--- 
a/database/protocol/dialect/firebird/src/main/java/org/apache/shardingsphere/database/protocol/firebird/constant/FirebirdProtocolDefaultVersionProvider.java
+++ /dev/null
@@ -1,36 +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.database.protocol.firebird.constant;
-
-import 
org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider;
-
-/**
- * Default protocol version provider for Firebird.
- */
-public final class FirebirdProtocolDefaultVersionProvider implements 
DatabaseProtocolDefaultVersionProvider {
-    
-    @Override
-    public String provide() {
-        return "18";
-    }
-    
-    @Override
-    public String getDatabaseType() {
-        return "Firebird";
-    }
-}
diff --git 
a/database/protocol/dialect/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
 
b/database/protocol/dialect/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
deleted file mode 100644
index ac264605bc2..00000000000
--- 
a/database/protocol/dialect/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.database.protocol.firebird.constant.FirebirdProtocolDefaultVersionProvider
diff --git 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/constant/FirebirdProtocolDefaultVersionProviderTest.java
 
b/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/constant/FirebirdProtocolDefaultVersionProviderTest.java
deleted file mode 100644
index 4338f85e383..00000000000
--- 
a/database/protocol/dialect/firebird/src/test/java/org/apache/shardingsphere/database/protocol/firebird/constant/FirebirdProtocolDefaultVersionProviderTest.java
+++ /dev/null
@@ -1,33 +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.database.protocol.firebird.constant;
-
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-class FirebirdProtocolDefaultVersionProviderTest {
-    
-    private final FirebirdProtocolDefaultVersionProvider provider = new 
FirebirdProtocolDefaultVersionProvider();
-    
-    @Test
-    void assertGetDatabaseType() {
-        assertThat(provider.getDatabaseType(), is("Firebird"));
-    }
-}
diff --git 
a/database/protocol/dialect/mysql/src/main/java/org/apache/shardingsphere/database/protocol/mysql/constant/MySQLProtocolDefaultVersionProvider.java
 
b/database/protocol/dialect/mysql/src/main/java/org/apache/shardingsphere/database/protocol/mysql/constant/MySQLProtocolDefaultVersionProvider.java
deleted file mode 100644
index 40fd6e1ff56..00000000000
--- 
a/database/protocol/dialect/mysql/src/main/java/org/apache/shardingsphere/database/protocol/mysql/constant/MySQLProtocolDefaultVersionProvider.java
+++ /dev/null
@@ -1,36 +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.database.protocol.mysql.constant;
-
-import 
org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider;
-
-/**
- * Default protocol version provider for MySQL.
- */
-public final class MySQLProtocolDefaultVersionProvider implements 
DatabaseProtocolDefaultVersionProvider {
-    
-    @Override
-    public String provide() {
-        return "5.7.22";
-    }
-    
-    @Override
-    public String getDatabaseType() {
-        return "MySQL";
-    }
-}
diff --git 
a/database/protocol/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
 
b/database/protocol/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
deleted file mode 100644
index 67be3b1df35..00000000000
--- 
a/database/protocol/dialect/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.database.protocol.mysql.constant.MySQLProtocolDefaultVersionProvider
diff --git 
a/database/protocol/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/protocol/opengauss/constant/OpenGaussProtocolDefaultVersionProvider.java
 
b/database/protocol/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/protocol/opengauss/constant/OpenGaussProtocolDefaultVersionProvider.java
deleted file mode 100644
index 5309ab1ca8f..00000000000
--- 
a/database/protocol/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/protocol/opengauss/constant/OpenGaussProtocolDefaultVersionProvider.java
+++ /dev/null
@@ -1,36 +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.database.protocol.opengauss.constant;
-
-import 
org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider;
-
-/**
- * Default protocol version provider for openGauss.
- */
-public final class OpenGaussProtocolDefaultVersionProvider implements 
DatabaseProtocolDefaultVersionProvider {
-    
-    @Override
-    public String provide() {
-        return "9.2.4";
-    }
-    
-    @Override
-    public String getDatabaseType() {
-        return "openGauss";
-    }
-}
diff --git 
a/database/protocol/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
 
b/database/protocol/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
deleted file mode 100644
index 183c63148dd..00000000000
--- 
a/database/protocol/dialect/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.database.protocol.opengauss.constant.OpenGaussProtocolDefaultVersionProvider
diff --git 
a/database/protocol/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/protocol/postgresql/constant/PostgreSQLProtocolDefaultVersionProvider.java
 
b/database/protocol/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/protocol/postgresql/constant/PostgreSQLProtocolDefaultVersionProvider.java
deleted file mode 100644
index 4ddf5cd97ff..00000000000
--- 
a/database/protocol/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/protocol/postgresql/constant/PostgreSQLProtocolDefaultVersionProvider.java
+++ /dev/null
@@ -1,36 +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.database.protocol.postgresql.constant;
-
-import 
org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider;
-
-/**
- * Default protocol version provider for PostgreSQL.
- */
-public final class PostgreSQLProtocolDefaultVersionProvider implements 
DatabaseProtocolDefaultVersionProvider {
-    
-    @Override
-    public String provide() {
-        return "12.3";
-    }
-    
-    @Override
-    public String getDatabaseType() {
-        return "PostgreSQL";
-    }
-}
diff --git 
a/database/protocol/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
 
b/database/protocol/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
deleted file mode 100644
index 8c805fd241f..00000000000
--- 
a/database/protocol/dialect/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.database.protocol.constant.DatabaseProtocolDefaultVersionProvider
+++ /dev/null
@@ -1,18 +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.
-#
-
-org.apache.shardingsphere.database.protocol.postgresql.constant.PostgreSQLProtocolDefaultVersionProvider
diff --git 
a/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/database/DialectDatabaseMetaDataFixture.java
 
b/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/database/DialectDatabaseMetaDataFixture.java
index 91ae1a29f9c..183490dbf06 100644
--- 
a/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/database/DialectDatabaseMetaDataFixture.java
+++ 
b/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/database/DialectDatabaseMetaDataFixture.java
@@ -21,6 +21,7 @@ import 
org.apache.shardingsphere.database.connector.core.metadata.database.enums
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.IdentifierPatternType;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.version.DialectProtocolVersionOption;
 
 public final class DialectDatabaseMetaDataFixture implements 
DialectDatabaseMetaData {
     
@@ -39,6 +40,11 @@ public final class DialectDatabaseMetaDataFixture implements 
DialectDatabaseMeta
         return NullsOrderType.LOW;
     }
     
+    @Override
+    public DialectProtocolVersionOption getProtocolVersionOption() {
+        return new DialectProtocolVersionOption("1.0");
+    }
+    
     @Override
     public String getDatabaseType() {
         return "FIXTURE";


Reply via email to