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

panjuan 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 8fe863ab5e7 Refactor branch database type (#27456)
8fe863ab5e7 is described below

commit 8fe863ab5e7cc99c9cb81e0ba0d5dabbf7536181
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Jul 25 20:37:05 2023 +0800

    Refactor branch database type (#27456)
---
 .../infra/database/h2/H2DatabaseType.java               |  8 +++++---
 .../infra/database/mariadb/MariaDBDatabaseType.java     | 17 ++++++++++++-----
 .../infra/database/mysql/MySQLDatabaseType.java         | 14 +++++++-------
 .../infra/database/opengauss/OpenGaussDatabaseType.java |  4 ++--
 .../infra/database/oracle/OracleDatabaseType.java       |  4 ++--
 .../database/postgresql/PostgreSQLDatabaseType.java     |  4 ++--
 6 files changed, 30 insertions(+), 21 deletions(-)

diff --git 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DatabaseType.java
 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DatabaseType.java
index 5bf5204fd91..e6218838423 100644
--- 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DatabaseType.java
+++ 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/H2DatabaseType.java
@@ -32,14 +32,16 @@ import java.util.Optional;
  */
 public final class H2DatabaseType implements DatabaseType {
     
+    private final DatabaseType trunkDatabaseType = 
TypedSPILoader.getService(DatabaseType.class, "MySQL");
+    
     @Override
     public QuoteCharacter getQuoteCharacter() {
-        return QuoteCharacter.QUOTE;
+        return trunkDatabaseType.getQuoteCharacter();
     }
     
     @Override
     public NullsOrderType getDefaultNullsOrderType() {
-        return NullsOrderType.FIRST;
+        return trunkDatabaseType.getDefaultNullsOrderType();
     }
     
     @Override
@@ -49,7 +51,7 @@ public final class H2DatabaseType implements DatabaseType {
     
     @Override
     public Optional<DatabaseType> getTrunkDatabaseType() {
-        return Optional.of(TypedSPILoader.getService(DatabaseType.class, 
"MySQL"));
+        return Optional.of(trunkDatabaseType);
     }
     
     @Override
diff --git 
a/infra/database/type/mariadb/src/main/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDatabaseType.java
 
b/infra/database/type/mariadb/src/main/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDatabaseType.java
index c6425c8bc10..66963f3c440 100644
--- 
a/infra/database/type/mariadb/src/main/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDatabaseType.java
+++ 
b/infra/database/type/mariadb/src/main/java/org/apache/shardingsphere/infra/database/mariadb/MariaDBDatabaseType.java
@@ -32,14 +32,21 @@ import java.util.Optional;
  */
 public final class MariaDBDatabaseType implements DatabaseType {
     
+    private final DatabaseType trunkDatabaseType = 
TypedSPILoader.getService(DatabaseType.class, "MySQL");
+    
     @Override
     public QuoteCharacter getQuoteCharacter() {
-        return QuoteCharacter.BACK_QUOTE;
+        return trunkDatabaseType.getQuoteCharacter();
     }
     
     @Override
     public NullsOrderType getDefaultNullsOrderType() {
-        return NullsOrderType.FIRST;
+        return trunkDatabaseType.getDefaultNullsOrderType();
+    }
+    
+    @Override
+    public boolean isReservedWord(final String identifier) {
+        return trunkDatabaseType.isReservedWord(identifier);
     }
     
     @Override
@@ -49,17 +56,17 @@ public final class MariaDBDatabaseType implements 
DatabaseType {
     
     @Override
     public Optional<DatabaseType> getTrunkDatabaseType() {
-        return Optional.of(TypedSPILoader.getService(DatabaseType.class, 
"MySQL"));
+        return Optional.of(trunkDatabaseType);
     }
     
     @Override
     public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
-        return Collections.emptyMap();
+        return trunkDatabaseType.getSystemDatabaseSchemaMap();
     }
     
     @Override
     public Collection<String> getSystemSchemas() {
-        return Collections.emptyList();
+        return trunkDatabaseType.getSystemSchemas();
     }
     
     @Override
diff --git 
a/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDatabaseType.java
 
b/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDatabaseType.java
index 1185cf2d915..dcd60576801 100644
--- 
a/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDatabaseType.java
+++ 
b/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/MySQLDatabaseType.java
@@ -55,11 +55,11 @@ public final class MySQLDatabaseType implements 
DatabaseType {
     private static final Map<String, Collection<String>> 
SYSTEM_DATABASE_SCHEMA_MAP = new HashMap<>();
     
     static {
-        SYSTEM_DATABASE_SCHEMA_MAP.put("information_schema", 
Collections.singletonList("information_schema"));
-        SYSTEM_DATABASE_SCHEMA_MAP.put("performance_schema", 
Collections.singletonList("performance_schema"));
-        SYSTEM_DATABASE_SCHEMA_MAP.put("mysql", 
Collections.singletonList("mysql"));
-        SYSTEM_DATABASE_SCHEMA_MAP.put("sys", 
Collections.singletonList("sys"));
-        SYSTEM_DATABASE_SCHEMA_MAP.put("shardingsphere", 
Collections.singletonList("shardingsphere"));
+        SYSTEM_DATABASE_SCHEMA_MAP.put("information_schema", 
Collections.singleton("information_schema"));
+        SYSTEM_DATABASE_SCHEMA_MAP.put("performance_schema", 
Collections.singleton("performance_schema"));
+        SYSTEM_DATABASE_SCHEMA_MAP.put("mysql", 
Collections.singleton("mysql"));
+        SYSTEM_DATABASE_SCHEMA_MAP.put("sys", Collections.singleton("sys"));
+        SYSTEM_DATABASE_SCHEMA_MAP.put("shardingsphere", 
Collections.singleton("shardingsphere"));
     }
     
     @Override
@@ -73,8 +73,8 @@ public final class MySQLDatabaseType implements DatabaseType {
     }
     
     @Override
-    public boolean isReservedWord(final String item) {
-        return RESERVED_WORDS.contains(item.toUpperCase());
+    public boolean isReservedWord(final String identifier) {
+        return RESERVED_WORDS.contains(identifier.toUpperCase());
     }
     
     @Override
diff --git 
a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDatabaseType.java
 
b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDatabaseType.java
index 7c410ae9f10..f7c36fe695e 100644
--- 
a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDatabaseType.java
+++ 
b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/OpenGaussDatabaseType.java
@@ -69,8 +69,8 @@ public final class OpenGaussDatabaseType implements 
DatabaseType {
     }
     
     @Override
-    public boolean isReservedWord(final String item) {
-        return RESERVED_WORDS.contains(item.toUpperCase());
+    public boolean isReservedWord(final String identifier) {
+        return RESERVED_WORDS.contains(identifier.toUpperCase());
     }
     
     @Override
diff --git 
a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDatabaseType.java
 
b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDatabaseType.java
index 00086aab573..afe23ab5004 100644
--- 
a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDatabaseType.java
+++ 
b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/OracleDatabaseType.java
@@ -54,8 +54,8 @@ public final class OracleDatabaseType implements DatabaseType 
{
     }
     
     @Override
-    public boolean isReservedWord(final String item) {
-        return RESERVED_KEYWORDS.contains(item.toUpperCase());
+    public boolean isReservedWord(final String identifier) {
+        return RESERVED_KEYWORDS.contains(identifier.toUpperCase());
     }
     
     @Override
diff --git 
a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDatabaseType.java
 
b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDatabaseType.java
index 954a5f8c332..6102bc571f6 100644
--- 
a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDatabaseType.java
+++ 
b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/PostgreSQLDatabaseType.java
@@ -65,8 +65,8 @@ public final class PostgreSQLDatabaseType implements 
DatabaseType {
     }
     
     @Override
-    public boolean isReservedWord(final String item) {
-        return RESERVED_WORDS.contains(item.toUpperCase());
+    public boolean isReservedWord(final String identifier) {
+        return RESERVED_WORDS.contains(identifier.toUpperCase());
     }
     
     @Override

Reply via email to