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