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

terrymanu 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 4bd6d9923a6 Simplify connector firebird (#40323)
4bd6d9923a6 is described below

commit 4bd6d9923a6de57ba41d466b359cd1964fcb30be
Author: Maxim Igoshin <[email protected]>
AuthorDate: Thu Oct 22 12:58:49 2026 +0300

    Simplify connector firebird (#40323)
    
    * Simplify Firebird connection properties parser
    
    * Simplify Firebird blob and column size registries
    
    * Simplify Firebird metadata loaders
    
    * Unwrap short lines and order private methods in Firebird connector
    
    * Simplify Firebird metadata registry tests
    
    * Remove unused stubs and flags in Firebird metadata loader tests
    
    * Keep empty blob columns check in Firebird blob registry
    
    * Restore stub flags in Firebird column size loader test
    
    * Restore schema stub in Firebird schema metadata loader test
    
    * Keep attach object name check in Firebird connection properties parser
    
    * Add release note for Firebird connector simplification
    
    * Add PR link to Firebird connector simplification release note
    
    * Keep Firebird connection properties parser loadable without Jaybird
    
    ---------
    
    Co-authored-by: Liang Zhang <[email protected]>
---
 RELEASE-NOTES.md                                   |  1 +
 .../FirebirdConnectionPropertiesParser.java        |  5 +---
 .../metadata/data/FirebirdBlobInfoRegistry.java    |  9 ++----
 .../FirebirdNonFixedLengthColumnSizeRegistry.java  | 15 ++--------
 .../data/loader/FirebirdBlobColumnLoader.java      | 24 +++++-----------
 .../data/loader/FirebirdMetaDataLoader.java        | 14 ++++-----
 .../FirebirdNonFixedLengthColumnSizeLoader.java    | 24 ++++++----------
 .../database/FirebirdDatabaseMetaData.java         |  3 +-
 .../database/option/FirebirdFunctionOption.java    |  3 +-
 .../FirebirdIdentifierCasePolicyProvider.java      |  8 +++---
 .../firebird/type/FirebirdDatabaseType.java        |  1 -
 .../data/FirebirdBlobInfoRegistryTest.java         | 33 ++++++----------------
 ...rebirdNonFixedLengthColumnSizeRegistryTest.java |  2 +-
 .../loader/FirebirdSchemaMetaDataLoaderTest.java   |  2 +-
 14 files changed, 45 insertions(+), 99 deletions(-)

diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index ed9471429bb..fef88cee685 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -192,6 +192,7 @@
 1. Sharding: Fix HASH_MOD routing mismatch for same negative numeric values 
across numeric Java types with compatibility switch 
`normalize-numeric-int-range` - 
[#38327](https://github.com/apache/shardingsphere/pull/38327)
 1. SQL Parser: Support parsing SYSTEM_USER in SQL92 dialect and bind it as a 
niladic function instead of a column - 
[#39102](https://github.com/apache/shardingsphere/pull/39102)
 1. E2E: Add Firebird to SQL E2E tests through ShardingSphere-Proxy
+1. Proxy: Simplify connection properties parsing and metadata loading in 
Firebird - [#40323](https://github.com/apache/shardingsphere/pull/40323)
 1. Proxy: Simplify SQL dialect exception mapping in Firebird - 
[#40312](https://github.com/apache/shardingsphere/pull/40312)
 1. Proxy: Simplify protocol codec and packets in Firebird - 
[#40314](https://github.com/apache/shardingsphere/pull/40314)
 1. SQL Parser: Simplify SQL statement visitors in Firebird - 
[#40315](https://github.com/apache/shardingsphere/pull/40315)
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java
index 95391c31b60..b2566256164 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java
@@ -22,7 +22,6 @@ import 
org.apache.shardingsphere.database.connector.core.jdbcurl.parser.Connecti
 import 
org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser;
 import org.firebirdsql.gds.impl.DbAttachInfo;
 import org.firebirdsql.gds.impl.GDSFactory;
-import org.firebirdsql.gds.impl.GDSType;
 import org.firebirdsql.jdbc.FBDriver;
 
 import java.util.Properties;
@@ -35,9 +34,7 @@ public final class FirebirdConnectionPropertiesParser 
implements ConnectionPrope
     @SneakyThrows(Exception.class)
     @Override
     public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
-        GDSType type = GDSFactory.getTypeForProtocol(url);
-        String databaseURL = GDSFactory.getDatabasePath(type, url);
-        DbAttachInfo dbAttachInfo = 
DbAttachInfo.parseConnectString(databaseURL);
+        DbAttachInfo dbAttachInfo = 
DbAttachInfo.parseConnectString(GDSFactory.getDatabasePath(GDSFactory.getTypeForProtocol(url),
 url));
         String attachObjectName = dbAttachInfo.getAttachObjectName();
         String databaseName = attachObjectName.contains("?") ? 
attachObjectName.split("\\?")[0] : attachObjectName;
         Properties queryProps = new Properties();
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistry.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistry.java
index 53a6384f31a..ca07daf23c2 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistry.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistry.java
@@ -77,8 +77,7 @@ public final class FirebirdBlobInfoRegistry {
         if (null == tableName || null == columnName) {
             return false;
         }
-        Map<String, Integer> blobColumns = 
BLOB_COLUMNS.get(buildTableKey(schemaName, tableName));
-        return null != blobColumns && 
blobColumns.containsKey(toKey(columnName));
+        return BLOB_COLUMNS.getOrDefault(buildTableKey(schemaName, tableName), 
Collections.emptyMap()).containsKey(toKey(columnName));
     }
     
     /**
@@ -93,11 +92,7 @@ public final class FirebirdBlobInfoRegistry {
         if (null == tableName || null == columnName) {
             return OptionalInt.empty();
         }
-        Map<String, Integer> blobColumns = 
BLOB_COLUMNS.get(buildTableKey(schemaName, tableName));
-        if (null == blobColumns) {
-            return OptionalInt.empty();
-        }
-        Integer subtype = blobColumns.get(toKey(columnName));
+        Integer subtype = BLOB_COLUMNS.getOrDefault(buildTableKey(schemaName, 
tableName), Collections.emptyMap()).get(toKey(columnName));
         return null == subtype ? OptionalInt.empty() : OptionalInt.of(subtype);
     }
     
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistry.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistry.java
index 3bb859957db..48ecd179ee4 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistry.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistry.java
@@ -47,11 +47,6 @@ public final class FirebirdNonFixedLengthColumnSizeRegistry {
         if (null == tableName) {
             return;
         }
-        String tableKey = buildTableKey(schemaName, tableName);
-        if (columnSizes.isEmpty()) {
-            COLUMN_SIZES.remove(tableKey);
-            return;
-        }
         Map<String, Integer> normalizedColumnSizes = new 
HashMap<>(columnSizes.size(), 1F);
         for (Entry<String, Integer> entry : columnSizes.entrySet()) {
             if (null == entry.getKey()) {
@@ -59,6 +54,7 @@ public final class FirebirdNonFixedLengthColumnSizeRegistry {
             }
             normalizedColumnSizes.put(toKey(entry.getKey()), entry.getValue());
         }
+        String tableKey = buildTableKey(schemaName, tableName);
         if (normalizedColumnSizes.isEmpty()) {
             COLUMN_SIZES.remove(tableKey);
             return;
@@ -78,18 +74,13 @@ public final class FirebirdNonFixedLengthColumnSizeRegistry 
{
         if (null == tableName || null == columnName) {
             return OptionalInt.empty();
         }
-        Map<String, Integer> tableSizes = 
COLUMN_SIZES.get(buildTableKey(schemaName, tableName));
-        if (null == tableSizes) {
-            return OptionalInt.empty();
-        }
-        Integer columnSize = tableSizes.get(toKey(columnName));
+        Integer columnSize = 
COLUMN_SIZES.getOrDefault(buildTableKey(schemaName, tableName), 
Collections.emptyMap()).get(toKey(columnName));
         return null == columnSize ? OptionalInt.empty() : 
OptionalInt.of(columnSize);
     }
     
     private static String buildTableKey(final String schemaName, final String 
tableName) {
         String schemaKey = null == schemaName ? "" : toKey(schemaName);
-        String logicTable = trimToLogicTableName(tableName);
-        return schemaKey + "." + toKey(logicTable);
+        return schemaKey + "." + toKey(trimToLogicTableName(tableName));
     }
     
     private static String trimToLogicTableName(final String tableName) {
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdBlobColumnLoader.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdBlobColumnLoader.java
index 54a45ff3ea3..fcdd6f8971c 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdBlobColumnLoader.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdBlobColumnLoader.java
@@ -17,6 +17,7 @@
 
 package 
org.apache.shardingsphere.database.connector.firebird.metadata.data.loader;
 
+import com.google.common.base.Strings;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.database.connector.core.metadata.data.loader.MetaDataLoaderConnection;
 import 
org.apache.shardingsphere.database.connector.core.metadata.data.loader.MetaDataLoaderMaterial;
@@ -49,12 +50,9 @@ final class FirebirdBlobColumnLoader {
             return Collections.emptyMap();
         }
         Map<String, Map<String, Integer>> result = new 
HashMap<>(material.getActualTableNames().size(), 1F);
-        try (
-                MetaDataLoaderConnection connection = new 
MetaDataLoaderConnection(
-                        material.getStorageType(), 
material.getDataSource().getConnection())) {
+        try (MetaDataLoaderConnection connection = new 
MetaDataLoaderConnection(material.getStorageType(), 
material.getDataSource().getConnection())) {
             for (String each : material.getActualTableNames()) {
-                Map<String, Integer> blobColumns = 
loadTableBlobColumns(connection, each);
-                result.put(each, blobColumns);
+                result.put(each, loadTableBlobColumns(connection, each));
             }
         }
         return result;
@@ -66,22 +64,14 @@ final class FirebirdBlobColumnLoader {
             preparedStatement.setString(1, 
formattedTableName.toUpperCase(Locale.ENGLISH));
             try (ResultSet resultSet = preparedStatement.executeQuery()) {
                 while (resultSet.next()) {
-                    String normalizedColumnName = 
normalizeColumnName(resultSet.getString("COLUMN_NAME"));
-                    if (null != normalizedColumnName) {
-                        result.put(normalizedColumnName, 
getColumnSubtype(resultSet));
+                    String columnName = 
Strings.nullToEmpty(resultSet.getString("COLUMN_NAME")).trim();
+                    if (!columnName.isEmpty()) {
+                        result.put(columnName.toUpperCase(Locale.ENGLISH), 
getColumnSubtype(resultSet));
                     }
                 }
             }
         }
-        return result.isEmpty() ? Collections.emptyMap() : 
Collections.unmodifiableMap(result);
-    }
-    
-    private String normalizeColumnName(final String columnName) {
-        if (null == columnName) {
-            return null;
-        }
-        String trimmed = columnName.trim();
-        return trimmed.isEmpty() ? null : trimmed.toUpperCase(Locale.ENGLISH);
+        return result;
     }
     
     private Integer getColumnSubtype(final ResultSet resultSet) throws 
SQLException {
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdMetaDataLoader.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdMetaDataLoader.java
index bf4104c18c8..1e719f97dbb 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdMetaDataLoader.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdMetaDataLoader.java
@@ -47,19 +47,17 @@ public final class FirebirdMetaDataLoader implements 
DialectMetaDataLoader {
         return Collections.singleton(new 
SchemaMetaData(material.getDefaultSchemaName(), tableMetaData));
     }
     
-    private void loadNonFixedLengthColumnSizes(final MetaDataLoaderMaterial 
material) throws SQLException {
-        Map<String, Map<String, Integer>> nonFixedColumnSizes = new 
FirebirdNonFixedLengthColumnSizeLoader(material).load();
+    private void loadBlobColumns(final MetaDataLoaderMaterial material) throws 
SQLException {
+        Map<String, Map<String, Integer>> blobColumns = new 
FirebirdBlobColumnLoader(material).load();
         for (String each : material.getActualTableNames()) {
-            Map<String, Integer> tableSizes = 
nonFixedColumnSizes.getOrDefault(each, Collections.emptyMap());
-            
FirebirdNonFixedLengthColumnSizeRegistry.refreshTable(material.getDefaultSchemaName(),
 each, tableSizes);
+            
FirebirdBlobInfoRegistry.refreshTable(material.getDefaultSchemaName(), each, 
blobColumns.getOrDefault(each, Collections.emptyMap()));
         }
     }
     
-    private void loadBlobColumns(final MetaDataLoaderMaterial material) throws 
SQLException {
-        Map<String, Map<String, Integer>> blobColumns = new 
FirebirdBlobColumnLoader(material).load();
+    private void loadNonFixedLengthColumnSizes(final MetaDataLoaderMaterial 
material) throws SQLException {
+        Map<String, Map<String, Integer>> nonFixedColumnSizes = new 
FirebirdNonFixedLengthColumnSizeLoader(material).load();
         for (String each : material.getActualTableNames()) {
-            Map<String, Integer> tableColumns = blobColumns.getOrDefault(each, 
Collections.emptyMap());
-            
FirebirdBlobInfoRegistry.refreshTable(material.getDefaultSchemaName(), each, 
tableColumns);
+            
FirebirdNonFixedLengthColumnSizeRegistry.refreshTable(material.getDefaultSchemaName(),
 each, nonFixedColumnSizes.getOrDefault(each, Collections.emptyMap()));
         }
     }
     
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdNonFixedLengthColumnSizeLoader.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdNonFixedLengthColumnSizeLoader.java
index 65445ec498f..afcd156262e 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdNonFixedLengthColumnSizeLoader.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdNonFixedLengthColumnSizeLoader.java
@@ -45,8 +45,7 @@ final class FirebirdNonFixedLengthColumnSizeLoader {
         Map<String, Map<String, Integer>> result = new 
HashMap<>(material.getActualTableNames().size(), 1F);
         try (MetaDataLoaderConnection connection = new 
MetaDataLoaderConnection(material.getStorageType(), 
material.getDataSource().getConnection())) {
             for (String each : material.getActualTableNames()) {
-                Map<String, Integer> columnSizes = 
loadTableColumnSizes(connection, each);
-                result.put(each, columnSizes);
+                result.put(each, loadTableColumnSizes(connection, each));
             }
         }
         return result;
@@ -54,29 +53,22 @@ final class FirebirdNonFixedLengthColumnSizeLoader {
     
     private Map<String, Integer> loadTableColumnSizes(final 
MetaDataLoaderConnection connection, final String formattedTableName) throws 
SQLException {
         Map<String, Integer> result = new HashMap<>();
-        loadColumnSizesFromMetaData(connection, formattedTableName, result);
-        return result.isEmpty() ? Collections.emptyMap() : 
Collections.unmodifiableMap(result);
-    }
-    
-    private void loadColumnSizesFromMetaData(final MetaDataLoaderConnection 
connection, final String formattedTableName, final Map<String, Integer> result) 
throws SQLException {
         try (ResultSet resultSet = 
connection.getMetaData().getColumns(connection.getCatalog(), 
connection.getSchema(), formattedTableName, "%")) {
             while (resultSet.next()) {
-                if (!Objects.equals(formattedTableName, 
resultSet.getString("TABLE_NAME"))) {
+                if (!Objects.equals(formattedTableName, 
resultSet.getString("TABLE_NAME")) || 
!isNonFixedLengthType(resultSet.getInt("DATA_TYPE"))) {
                     continue;
                 }
-                int dataType = resultSet.getInt("DATA_TYPE");
-                if (!isNonFixedLengthType(dataType)) {
+                String columnName = resultSet.getString("COLUMN_NAME");
+                if (null == columnName) {
                     continue;
                 }
-                String columnName = resultSet.getString("COLUMN_NAME");
-                if (null != columnName) {
-                    int columnSize = resultSet.getInt("COLUMN_SIZE");
-                    if (!resultSet.wasNull() && columnSize > 0) {
-                        result.put(columnName.toUpperCase(Locale.ENGLISH), 
columnSize);
-                    }
+                int columnSize = resultSet.getInt("COLUMN_SIZE");
+                if (!resultSet.wasNull() && columnSize > 0) {
+                    result.put(columnName.toUpperCase(Locale.ENGLISH), 
columnSize);
                 }
             }
         }
+        return result;
     }
     
     private boolean isNonFixedLengthType(final int dataType) {
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 099d05672b0..ede9574d84f 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
@@ -58,8 +58,7 @@ public final class FirebirdDatabaseMetaData implements 
DialectDatabaseMetaData {
     
     @Override
     public DialectTransactionOption getTransactionOption() {
-        return new DialectTransactionOption(false, 
DDLCommitPolicy.COMMIT_CURRENT_TRANSACTION, false, false, true, false, true,
-                Collections.singleton("org.firebirdsql.ds.FBXADataSource"));
+        return new DialectTransactionOption(false, 
DDLCommitPolicy.COMMIT_CURRENT_TRANSACTION, false, false, true, false, true, 
Collections.singleton("org.firebirdsql.ds.FBXADataSource"));
     }
     
     @Override
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/option/FirebirdFunctionOption.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/option/FirebirdFunctionOption.java
index fabd230bdd7..fd73442fbad 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/option/FirebirdFunctionOption.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/option/FirebirdFunctionOption.java
@@ -28,8 +28,7 @@ import java.util.Collection;
  */
 public final class FirebirdFunctionOption implements DialectFunctionOption {
     
-    private static final Collection<String> UNPARENTHESIZED_FUNCTION_NAMES = 
new CaseInsensitiveSet<>(Arrays.asList(
-            "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", 
"CURRENT_USER"));
+    private static final Collection<String> UNPARENTHESIZED_FUNCTION_NAMES = 
new CaseInsensitiveSet<>(Arrays.asList("CURRENT_DATE", "CURRENT_TIME", 
"CURRENT_TIMESTAMP", "CURRENT_USER"));
     
     @Override
     public Collection<String> getUnparenthesizedFunctionNames() {
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/identifier/FirebirdIdentifierCasePolicyProvider.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/identifier/FirebirdIdentifierCasePolicyProvider.java
index e28c7026b73..cc51e22a8cb 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/identifier/FirebirdIdentifierCasePolicyProvider.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/metadata/identifier/FirebirdIdentifierCasePolicyProvider.java
@@ -36,12 +36,12 @@ public final class FirebirdIdentifierCasePolicyProvider 
implements IdentifierCas
                 each -> each, 
FirebirdIdentifierCasePolicyProvider::toUpperCase, 
FirebirdIdentifierCasePolicyProvider::toUpperCase, each -> true));
     }
     
+    private static String toUpperCase(final String value) {
+        return value.toUpperCase(Locale.ENGLISH);
+    }
+    
     @Override
     public String getDatabaseType() {
         return "Firebird";
     }
-    
-    private static String toUpperCase(final String value) {
-        return value.toUpperCase(Locale.ENGLISH);
-    }
 }
diff --git 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/type/FirebirdDatabaseType.java
 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/type/FirebirdDatabaseType.java
index 083b9d767c9..e2022ac62c3 100644
--- 
a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/type/FirebirdDatabaseType.java
+++ 
b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/type/FirebirdDatabaseType.java
@@ -36,5 +36,4 @@ public final class FirebirdDatabaseType implements 
DatabaseType {
     public String getType() {
         return "Firebird";
     }
-    
 }
diff --git 
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistryTest.java
 
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistryTest.java
index 01cc62e291b..a094ca3903c 100644
--- 
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistryTest.java
+++ 
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdBlobInfoRegistryTest.java
@@ -63,7 +63,7 @@ class FirebirdBlobInfoRegistryTest {
     
     @Test
     void assertRefreshTableWhenTableNameIsNull() {
-        registerBlobColumns("SENTINEL", 
Collections.singletonMap("EXISTING_COL", 9));
+        blobColumns.put("SENTINEL", Collections.singletonMap("EXISTING_COL", 
9));
         FirebirdBlobInfoRegistry.refreshTable("schema_a", null, 
Collections.singletonMap("blob_col", 1));
         assertTrue(blobColumns.containsKey("SENTINEL"));
         assertThat(blobColumns.get("SENTINEL").get("EXISTING_COL"), is(9));
@@ -78,8 +78,7 @@ class FirebirdBlobInfoRegistryTest {
     
     @Test
     void assertRefreshTable() {
-        Map<String, Integer> newColumns = createColumnsWithMixedNames();
-        FirebirdBlobInfoRegistry.refreshTable(null, "table_1", newColumns);
+        FirebirdBlobInfoRegistry.refreshTable(null, "table_1", 
createColumnsWithMixedNames());
         Map<String, Integer> actual = blobColumns.get(".TABLE_1");
         assertTrue(actual.containsKey("BLOB_COL"));
         assertThat(actual.get("BLOB_COL"), is(2));
@@ -91,31 +90,29 @@ class FirebirdBlobInfoRegistryTest {
     @MethodSource("notBlobColumnCases")
     void assertIsBlobColumnWhenNotMatched(final String name, final String 
tableName, final String columnName, final boolean registerTable, final boolean 
registerColumn) {
         if (registerTable) {
-            blobColumns.put("SCHEMA_A.TABLE_A", registerColumn ? 
Collections.singletonMap("BLOB_COL", 1) : Collections.singletonMap("OTHER_COL", 
1));
+            blobColumns.put("SCHEMA_A.TABLE_A", 
Collections.singletonMap(registerColumn ? "BLOB_COL" : "OTHER_COL", 1));
         }
         assertFalse(FirebirdBlobInfoRegistry.isBlobColumn("schema_a", 
tableName, columnName));
     }
     
     @Test
     void assertIsBlobColumn() {
-        registerBlobColumns("SCHEMA_A.123", 
Collections.singletonMap("BLOB_COL", 1));
-        boolean actual = FirebirdBlobInfoRegistry.isBlobColumn("schema_a", 
"123", "blob_col");
-        assertTrue(actual);
+        blobColumns.put("SCHEMA_A.123", Collections.singletonMap("BLOB_COL", 
1));
+        assertTrue(FirebirdBlobInfoRegistry.isBlobColumn("schema_a", "123", 
"blob_col"));
     }
     
     @ParameterizedTest(name = "{0}")
-    @MethodSource("findBlobSubtypeEmptyCases")
+    @MethodSource("notBlobColumnCases")
     void assertFindBlobSubtypeWhenAbsent(final String name, final String 
tableName, final String columnName, final boolean registerTable, final boolean 
registerColumn) {
         if (registerTable) {
-            blobColumns.put("SCHEMA_A.TABLE_A", registerColumn ? 
Collections.singletonMap("BLOB_COL", 5) : Collections.singletonMap("OTHER_COL", 
5));
+            blobColumns.put("SCHEMA_A.TABLE_A", 
Collections.singletonMap(registerColumn ? "BLOB_COL" : "OTHER_COL", 5));
         }
-        OptionalInt actual = 
FirebirdBlobInfoRegistry.findBlobSubtype("schema_a", tableName, columnName);
-        assertFalse(actual.isPresent());
+        assertFalse(FirebirdBlobInfoRegistry.findBlobSubtype("schema_a", 
tableName, columnName).isPresent());
     }
     
     @Test
     void assertFindBlobSubtype() {
-        registerBlobColumns("SCHEMA_A.TABLE_A", 
Collections.singletonMap("BLOB_COL", 7));
+        blobColumns.put("SCHEMA_A.TABLE_A", 
Collections.singletonMap("BLOB_COL", 7));
         OptionalInt actual = 
FirebirdBlobInfoRegistry.findBlobSubtype("schema_a", "table_a", "blob_col");
         assertTrue(actual.isPresent());
         assertThat(actual.getAsInt(), is(7));
@@ -136,22 +133,10 @@ class FirebirdBlobInfoRegistryTest {
                 Arguments.of("column_not_registered", "table_a", "blob_col", 
true, false));
     }
     
-    private static Stream<Arguments> findBlobSubtypeEmptyCases() {
-        return Stream.of(
-                Arguments.of("null_table_name", null, "blob_col", false, 
false),
-                Arguments.of("null_column_name", "table_a", null, true, true),
-                Arguments.of("table_not_registered", "table_a", "blob_col", 
false, false),
-                Arguments.of("column_not_registered", "table_a", "blob_col", 
true, false));
-    }
-    
     private static Map<String, Integer> createColumnsWithMixedNames() {
         Map<String, Integer> result = new HashMap<>(2, 1F);
         result.put("blob_col", 2);
         result.put(null, 9);
         return result;
     }
-    
-    private void registerBlobColumns(final String tableKey, final Map<String, 
Integer> columns) {
-        blobColumns.put(tableKey, columns);
-    }
 }
diff --git 
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistryTest.java
 
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistryTest.java
index da167e7cd87..b264a7646a1 100644
--- 
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistryTest.java
+++ 
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/FirebirdNonFixedLengthColumnSizeRegistryTest.java
@@ -91,7 +91,7 @@ class FirebirdNonFixedLengthColumnSizeRegistryTest {
     @MethodSource("findColumnSizeEmptyCases")
     void assertFindColumnSizeWhenAbsent(final String name, final String 
tableName, final String columnName, final boolean registerTable, final boolean 
registerColumn) {
         if (registerTable) {
-            columnSizes.put("SCHEMA_A.TABLE_A", registerColumn ? 
Collections.singletonMap("SIZE_COL", 12) : 
Collections.singletonMap("OTHER_COL", 12));
+            columnSizes.put("SCHEMA_A.TABLE_A", 
Collections.singletonMap(registerColumn ? "SIZE_COL" : "OTHER_COL", 12));
         }
         
assertFalse(FirebirdNonFixedLengthColumnSizeRegistry.findColumnSize("schema_a", 
tableName, columnName).isPresent());
     }
diff --git 
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdSchemaMetaDataLoaderTest.java
 
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdSchemaMetaDataLoaderTest.java
index 734ec1b05a9..9b2655e9093 100644
--- 
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdSchemaMetaDataLoaderTest.java
+++ 
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/data/loader/FirebirdSchemaMetaDataLoaderTest.java
@@ -67,7 +67,7 @@ class FirebirdSchemaMetaDataLoaderTest {
     private ResultSet mockTableResultSet() throws SQLException {
         ResultSet result = mock(ResultSet.class);
         when(result.next()).thenReturn(true, true, true, true, true, false);
-        when(result.getString("TABLE_NAME")).thenReturn("tbl", "$tbl", "/tbl", 
"##tbl", "partitioned_tbl", "RDB$RELATIONS", "RDB$REL", "RDB_Relations", 
"rdb$functions");
+        when(result.getString("TABLE_NAME")).thenReturn("tbl", "$tbl", "/tbl", 
"##tbl", "partitioned_tbl");
         return result;
     }
     

Reply via email to