You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/04/13 16:09:22 UTC

(shardingsphere) branch master updated: Add DatabaseTypeRegistry.formatTableNamePattern() (#35190)

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 7a142e4da5c Add DatabaseTypeRegistry.formatTableNamePattern() (#35190)
7a142e4da5c is described below

commit 7a142e4da5c0515e1d69cd0e4dab8030a2355b78
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Apr 14 00:09:16 2025 +0800

    Add DatabaseTypeRegistry.formatTableNamePattern() (#35190)
---
 .../encrypt/enums/EncryptDerivedColumnSuffix.java  |  4 +--
 .../data/loader/type/TableMetaDataLoader.java      |  4 +--
 .../database/metadata/DialectDatabaseMetaData.java | 11 ++++---
 ...tTableOption.java => TableNamePatternType.java} | 35 ++--------------------
 .../database/core/type/DatabaseTypeRegistry.java   | 19 ++++++++++++
 .../database/FirebirdDatabaseMetaData.java         |  9 +++---
 .../database/OpenGaussDatabaseMetaData.java        |  7 ++---
 .../metadata/database/OracleDatabaseMetaData.java  |  7 ++---
 .../database/OracleDatabaseMetaDataTest.java       |  5 ----
 .../database/PostgreSQLDatabaseMetaData.java       |  7 ++---
 .../database/PostgreSQLDatabaseMetaDataTest.java   |  5 ----
 .../metadata/refresher/util/TableRefreshUtils.java |  2 +-
 .../test/e2e/env/DataSetEnvironmentManager.java    |  5 ++--
 13 files changed, 45 insertions(+), 75 deletions(-)

diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
index 26362f9dfd0..7f6b4f1c3c3 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.encrypt.enums;
 
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
@@ -43,7 +42,6 @@ public enum EncryptDerivedColumnSuffix {
      * @return derived column name
      */
     public String getDerivedColumnName(final String columnName, final DatabaseType databaseType) {
-        DialectDatabaseMetaData dialectDatabaseMetaData = new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData();
-        return String.format("%s%s", columnName, dialectDatabaseMetaData.getTableOption().formatTableNamePattern(suffix));
+        return String.format("%s%s", columnName, new DatabaseTypeRegistry(databaseType).formatTableNamePattern(suffix));
     }
 }
diff --git a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
index 17fa728ec15..f4774129076 100644
--- a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
+++ b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
@@ -21,7 +21,6 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.database.core.metadata.data.loader.MetaDataLoaderConnection;
 import org.apache.shardingsphere.infra.database.core.metadata.data.model.TableMetaData;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
@@ -48,9 +47,8 @@ public final class TableMetaDataLoader {
      * @throws SQLException SQL exception
      */
     public static Optional<TableMetaData> load(final DataSource dataSource, final String tableNamePattern, final DatabaseType databaseType) throws SQLException {
-        DialectDatabaseMetaData dialectDatabaseMetaData = new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData();
         try (MetaDataLoaderConnection connection = new MetaDataLoaderConnection(databaseType, dataSource.getConnection())) {
-            String formattedTableNamePattern = dialectDatabaseMetaData.getTableOption().formatTableNamePattern(tableNamePattern);
+            String formattedTableNamePattern = new DatabaseTypeRegistry(databaseType).formatTableNamePattern(tableNamePattern);
             return isTableExist(connection, formattedTableNamePattern)
                     ? Optional.of(new TableMetaData(tableNamePattern, ColumnMetaDataLoader.load(
                             connection, formattedTableNamePattern, databaseType), IndexMetaDataLoader.load(connection, formattedTableNamePattern), Collections.emptyList()))
diff --git a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java
index 9b3b9607210..98eb490f358 100644
--- a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java
+++ b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java
@@ -25,8 +25,7 @@ import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.join.DialectJoinOrderOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DefaultSchemaOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DialectSchemaOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption.Type;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.TableNamePatternType;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPI;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
@@ -71,12 +70,12 @@ public interface DialectDatabaseMetaData extends DatabaseTypedSPI {
     }
     
     /**
-     * Get table option.
+     * Get table name pattern type.
      *
-     * @return table option
+     * @return table name pattern type
      */
-    default DialectTableOption getTableOption() {
-        return new DialectTableOption(Type.KEEP_ORIGIN);
+    default TableNamePatternType getTableNamePatternType() {
+        return TableNamePatternType.KEEP_ORIGIN;
     }
     
     /**
diff --git a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/table/DialectTableOption.java b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/table/TableNamePatternType.java
similarity index 52%
rename from infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/table/DialectTableOption.java
rename to infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/table/TableNamePatternType.java
index 182f2fdd9d6..b504e3851d0 100644
--- a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/table/DialectTableOption.java
+++ b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/table/TableNamePatternType.java
@@ -17,39 +17,10 @@
 
 package org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table;
 
-import lombok.RequiredArgsConstructor;
-
 /**
- * Dialect table option.
+ * Table name pattern type.
  */
-@RequiredArgsConstructor
-public final class DialectTableOption {
-    
-    private final Type type;
-    
-    /**
-     * Format table name pattern.
-     *
-     * @param tableNamePattern table name pattern
-     * @return formatted table name pattern
-     */
-    public String formatTableNamePattern(final String tableNamePattern) {
-        switch (type) {
-            case UPPER_CASE:
-                return tableNamePattern.toUpperCase();
-            case LOWER_CASE:
-                return tableNamePattern.toLowerCase();
-            case KEEP_ORIGIN:
-            default:
-                return tableNamePattern;
-        }
-    }
+public enum TableNamePatternType {
     
-    /**
-     * Dialect table option type.
-     */
-    public enum Type {
-        
-        UPPER_CASE, LOWER_CASE, KEEP_ORIGIN
-    }
+    UPPER_CASE, LOWER_CASE, KEEP_ORIGIN
 }
diff --git a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
index bae3aeacc90..01b7d8b5dbc 100644
--- a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
+++ b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
@@ -66,4 +66,23 @@ public final class DatabaseTypeRegistry {
     public String getDefaultSchemaName(final String databaseName) {
         return dialectDatabaseMetaData.getSchemaOption().getDefaultSchema().orElseGet(() -> null == databaseName ? null : databaseName.toLowerCase());
     }
+    
+    /**
+     * Format table name pattern.
+     *
+     * @param tableNamePattern table name pattern
+     * @return formatted table name pattern
+     */
+    public String formatTableNamePattern(final String tableNamePattern) {
+        DatabaseType databaseType = this.databaseType.getTrunkDatabaseType().orElse(this.databaseType);
+        switch (DatabaseTypedSPILoader.getService(DialectDatabaseMetaData.class, databaseType).getTableNamePatternType()) {
+            case UPPER_CASE:
+                return tableNamePattern.toUpperCase();
+            case LOWER_CASE:
+                return tableNamePattern.toLowerCase();
+            case KEEP_ORIGIN:
+            default:
+                return tableNamePattern;
+        }
+    }
 }
diff --git a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
index dd245f49405..1a38d0c17be 100644
--- a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
+++ b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
@@ -17,11 +17,10 @@
 
 package org.apache.shardingsphere.infra.database.firebird.metadata.database;
 
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption.Type;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.TableNamePatternType;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
 
 /**
@@ -40,8 +39,8 @@ public final class FirebirdDatabaseMetaData implements DialectDatabaseMetaData {
     }
     
     @Override
-    public DialectTableOption getTableOption() {
-        return new DialectTableOption(Type.UPPER_CASE);
+    public TableNamePatternType getTableNamePatternType() {
+        return TableNamePatternType.UPPER_CASE;
     }
     
     @Override
diff --git a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
index f246b00aca9..0f3f70dc92a 100644
--- a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
+++ b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
@@ -23,8 +23,7 @@ import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.datatype.DialectDataTypeOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DefaultSchemaOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DialectSchemaOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption.Type;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.TableNamePatternType;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.opengauss.metadata.database.option.OpenGaussDataTypeOption;
 
@@ -59,8 +58,8 @@ public final class OpenGaussDatabaseMetaData implements DialectDatabaseMetaData
     }
     
     @Override
-    public DialectTableOption getTableOption() {
-        return new DialectTableOption(Type.LOWER_CASE);
+    public TableNamePatternType getTableNamePatternType() {
+        return TableNamePatternType.LOWER_CASE;
     }
     
     @Override
diff --git a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
index 7f7455478db..b7a311ab6aa 100644
--- a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
+++ b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
@@ -23,8 +23,7 @@ import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.connection.DialectConnectionOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.datatype.DialectDataTypeOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DialectSchemaOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption.Type;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.TableNamePatternType;
 import org.apache.shardingsphere.infra.database.oracle.metadata.database.option.OracleDataTypeOption;
 import org.apache.shardingsphere.infra.database.oracle.metadata.database.option.OracleSchemaOption;
 
@@ -54,8 +53,8 @@ public final class OracleDatabaseMetaData implements DialectDatabaseMetaData {
     }
     
     @Override
-    public DialectTableOption getTableOption() {
-        return new DialectTableOption(Type.UPPER_CASE);
+    public TableNamePatternType getTableNamePatternType() {
+        return TableNamePatternType.UPPER_CASE;
     }
     
     @Override
diff --git a/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java b/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
index bd76a81ce07..425a2b72919 100644
--- a/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
+++ b/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
@@ -56,9 +56,4 @@ class OracleDatabaseMetaDataTest {
         when(connection.getMetaData().getUserName()).thenThrow(SQLException.class);
         assertNull(dialectDatabaseMetaData.getSchemaOption().getSchema(connection));
     }
-    
-    @Test
-    void assertFormatTableNamePattern() {
-        assertThat(dialectDatabaseMetaData.getTableOption().formatTableNamePattern("tbl"), is("TBL"));
-    }
 }
diff --git a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
index 89b7b62f83f..2befc131028 100644
--- a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
+++ b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
@@ -23,8 +23,7 @@ import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.datatype.DialectDataTypeOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DefaultSchemaOption;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DialectSchemaOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.DialectTableOption.Type;
+import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.table.TableNamePatternType;
 import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.postgresql.metadata.database.option.PostgreSQLDataTypeOption;
 
@@ -54,8 +53,8 @@ public final class PostgreSQLDatabaseMetaData implements DialectDatabaseMetaData
     }
     
     @Override
-    public DialectTableOption getTableOption() {
-        return new DialectTableOption(Type.LOWER_CASE);
+    public TableNamePatternType getTableNamePatternType() {
+        return TableNamePatternType.LOWER_CASE;
     }
     
     @Override
diff --git a/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java b/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
index e2667ea9ae5..22c5c0cdb4a 100644
--- a/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
+++ b/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
@@ -48,9 +48,4 @@ class PostgreSQLDatabaseMetaDataTest {
     void assertGetDefaultSchema() {
         assertThat(dialectDatabaseMetaData.getSchemaOption().getDefaultSchema(), is(Optional.of("public")));
     }
-    
-    @Test
-    void assertFormatTableNamePattern() {
-        assertThat(dialectDatabaseMetaData.getTableOption().formatTableNamePattern("T_ORDER"), is("t_order"));
-    }
 }
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/TableRefreshUtils.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/TableRefreshUtils.java
index 825e005c338..6bce690f359 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/TableRefreshUtils.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/TableRefreshUtils.java
@@ -53,7 +53,7 @@ public final class TableRefreshUtils {
      */
     public static String getTableName(final IdentifierValue tableIdentifierValue, final DatabaseType databaseType) {
         return QuoteCharacter.NONE == tableIdentifierValue.getQuoteCharacter()
-                ? new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getTableOption().formatTableNamePattern(tableIdentifierValue.getValue())
+                ? new DatabaseTypeRegistry(databaseType).formatTableNamePattern(tableIdentifierValue.getValue())
                 : tableIdentifierValue.getValue();
     }
     
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
index 6efdd8564be..cf9f37d884e 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.test.e2e.env;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
@@ -236,8 +235,8 @@ public final class DataSetEnvironmentManager {
         }
         
         private String getQuotedTableName(final String tableName, final DatabaseType databaseType) {
-            DialectDatabaseMetaData dialectDatabaseMetaData = new DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData();
-            return dialectDatabaseMetaData.getQuoteCharacter().wrap(dialectDatabaseMetaData.getTableOption().formatTableNamePattern(tableName));
+            DatabaseTypeRegistry databaseTypeRegistry = new DatabaseTypeRegistry(databaseType);
+            return databaseTypeRegistry.getDialectDatabaseMetaData().getQuoteCharacter().wrap(databaseTypeRegistry.formatTableNamePattern(tableName));
         }
     }
 }