You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2021/09/20 14:44:30 UTC

[shardingsphere] branch master updated: Rename FederationMetaData (#12599)

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

duanzhengqiang 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 1ce1e5b  Rename FederationMetaData (#12599)
1ce1e5b is described below

commit 1ce1e5bd7434011f80a456d2cd35fdb6c384d469
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Sep 20 22:44:00 2021 +0800

    Rename FederationMetaData (#12599)
---
 .../metadata/EncryptTableMetaDataBuilder.java      |  4 +--
 .../metadata/ShardingTableMetaDataBuilder.java     | 26 +++++++++---------
 .../metadata/schema/builder/SchemaBuilder.java     | 22 +++++++--------
 .../metadata/schema/builder/SchemaBuilderTest.java |  6 ++--
 .../context/refresher/MetaDataRefreshEngine.java   | 12 ++++----
 .../refresher/MetaDataRefresherFactory.java        | 12 ++++----
 .../sql/federate/execute/FederateJDBCExecutor.java |  2 +-
 .../sql/federate/schema/FederateLogicSchema.java   | 10 +++----
 .../federate/schema/row/FederateRowExecutor.java   |  4 +--
 .../schema/table/AbstractFederateTable.java        |  4 +--
 .../schema/table/FederateFilterableTable.java      |  4 +--
 .../sql/federate/FederateJDBCExecutorTest.java     | 32 +++++++++++-----------
 .../optimize/context/OptimizeContextFactory.java   |  6 ++--
 ...chemaMetaDatas.java => FederationMetaData.java} | 20 ++++----------
 ...MetaData.java => FederationSchemaMetaData.java} | 12 ++++----
 ...eMetaData.java => FederationTableMetaData.java} |  6 ++--
 ...rateRefresher.java => FederationRefresher.java} | 12 ++++----
 ...=> AlterTableStatementFederationRefresher.java} | 10 +++----
 ...> CreateTableStatementFederationRefresher.java} | 10 +++----
 ... => DropTableStatementFederationRefresher.java} | 10 +++----
 ...lterTableStatementFederationRefresherTest.java} | 22 +++++++--------
 ...eateTableStatementFederationRefresherTest.java} | 16 +++++------
 ...DropTableStatementFederationRefresherTest.java} | 18 ++++++------
 .../driver/executor/JDBCLockEngine.java            |  2 +-
 .../metadata/SingleTableMetaDataBuilder.java       |  4 +--
 .../metadata/SingleTableSchemaBuilderTest.java     |  6 ++--
 .../mode/metadata/MetaDataContextsBuilder.java     |  6 ++--
 .../ClusterContextManagerCoordinator.java          | 12 ++++----
 .../ClusterContextManagerCoordinatorTest.java      |  4 +--
 .../communication/DatabaseCommunicationEngine.java |  2 +-
 .../DatabaseCommunicationEngineFactoryTest.java    |  4 +--
 .../DatabaseCommunicationEngineTest.java           |  4 +--
 .../command/MySQLCommandExecutorFactoryTest.java   |  4 +--
 .../execute/MySQLComStmtExecuteExecutorTest.java   |  4 +--
 34 files changed, 161 insertions(+), 171 deletions(-)

diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptTableMetaDataBuilder.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptTableMetaDataBuilder.java
index 0ef6df3..4dc8dde 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptTableMetaDataBuilder.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptTableMetaDataBuilder.java
@@ -53,8 +53,8 @@ public final class EncryptTableMetaDataBuilder implements RuleBasedTableMetaData
         if (tableMetaDataLoaderMaterials.isEmpty()) {
             return Collections.emptyMap();
         }
-        Collection<TableMetaData> tableMetaDatas = TableMetaDataLoaderEngine.load(tableMetaDataLoaderMaterials, materials.getDatabaseType());
-        return tableMetaDatas.stream().collect(Collectors.toMap(TableMetaData::getName, Function.identity(), (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
+        Collection<TableMetaData> tableMetaDataList = TableMetaDataLoaderEngine.load(tableMetaDataLoaderMaterials, materials.getDatabaseType());
+        return tableMetaDataList.stream().collect(Collectors.toMap(TableMetaData::getName, Function.identity(), (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
     }
     
     @Override
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingTableMetaDataBuilder.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingTableMetaDataBuilder.java
index 05bf0c6..de101e5 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingTableMetaDataBuilder.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingTableMetaDataBuilder.java
@@ -61,21 +61,21 @@ public final class ShardingTableMetaDataBuilder implements RuleBasedTableMetaDat
         if (tableMetaDataLoaderMaterials.isEmpty()) {
             return Collections.emptyMap();
         }
-        Collection<TableMetaData> tableMetaDatas = TableMetaDataLoaderEngine.load(tableMetaDataLoaderMaterials, materials.getDatabaseType());
+        Collection<TableMetaData> tableMetaDataList = TableMetaDataLoaderEngine.load(tableMetaDataLoaderMaterials, materials.getDatabaseType());
         if (isCheckingMetaData) {
-            checkTableMetaData(tableMetaDatas, rule);
+            checkTableMetaData(tableMetaDataList, rule);
         }
-        return getTableMetaDataMap(tableMetaDatas, rule);
+        return getTableMetaDataMap(tableMetaDataList, rule);
     }
     
-    private void checkTableMetaData(final Collection<TableMetaData> tableMetaDatas, final ShardingRule rule) {
+    private void checkTableMetaData(final Collection<TableMetaData> tableMetaDataList, final ShardingRule rule) {
         Map<String, Collection<TableMetaData>> logicTableMetaDataMap = new LinkedHashMap<>();
-        for (TableMetaData each : tableMetaDatas) {
+        for (TableMetaData each : tableMetaDataList) {
             Optional<String> logicName = rule.findLogicTableByActualTable(each.getName());
             if (logicName.isPresent()) {
-                Collection<TableMetaData> logicTableMetaDatas = logicTableMetaDataMap.getOrDefault(logicName.get(), new LinkedList<>());
-                logicTableMetaDatas.add(each);
-                logicTableMetaDataMap.putIfAbsent(logicName.get(), logicTableMetaDatas);
+                Collection<TableMetaData> logicTableMetaDataList = logicTableMetaDataMap.getOrDefault(logicName.get(), new LinkedList<>());
+                logicTableMetaDataList.add(each);
+                logicTableMetaDataMap.putIfAbsent(logicName.get(), logicTableMetaDataList);
             }
         }
         for (Entry<String, Collection<TableMetaData>> entry : logicTableMetaDataMap.entrySet()) {
@@ -83,17 +83,17 @@ public final class ShardingTableMetaDataBuilder implements RuleBasedTableMetaDat
         }
     }
     
-    private Map<String, TableMetaData> getTableMetaDataMap(final Collection<TableMetaData> tableMetaDatas, final ShardingRule rule) {
+    private Map<String, TableMetaData> getTableMetaDataMap(final Collection<TableMetaData> tableMetaDataList, final ShardingRule rule) {
         Map<String, TableMetaData> result = new LinkedHashMap<>();
-        for (TableMetaData each : tableMetaDatas) {
+        for (TableMetaData each : tableMetaDataList) {
             rule.findLogicTableByActualTable(each.getName()).ifPresent(tableName -> result.putIfAbsent(tableName, each));
         }
         return result;
     }
     
-    private void checkUniformed(final String logicTableName, final Collection<TableMetaData> tableMetaDatas, final ShardingRule shardingRule) {
-        TableMetaData sample = decorate(logicTableName, tableMetaDatas.iterator().next(), shardingRule);
-        Collection<TableMetaDataViolation> violations = tableMetaDatas.stream()
+    private void checkUniformed(final String logicTableName, final Collection<TableMetaData> tableMetaDataList, final ShardingRule shardingRule) {
+        TableMetaData sample = decorate(logicTableName, tableMetaDataList.iterator().next(), shardingRule);
+        Collection<TableMetaDataViolation> violations = tableMetaDataList.stream()
                 .filter(each -> !sample.equals(decorate(logicTableName, each, shardingRule)))
                 .map(each -> new TableMetaDataViolation(each.getName(), each)).collect(Collectors.toList());
         throwExceptionIfNecessary(violations, logicTableName);
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java
index 780fbd7..4502cc4 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java
@@ -38,27 +38,27 @@ public final class SchemaBuilder {
     /**
      * Build kernel schema.
      *
-     * @param tableMetaDatas table meta datas
+     * @param tableMetaDataList table meta data list
      * @param rules sharding sphere rule
-     * @return sharding sphere schema
+     * @return ShardingSphere schema
      */
-    public static ShardingSphereSchema buildKernelSchema(final Collection<TableMetaData> tableMetaDatas, final Collection<ShardingSphereRule> rules) {
-        return buildSchema(tableMetaDatas, each -> TableMetaDataBuilder.decorateKernelTableMetaData(each, rules));
+    public static ShardingSphereSchema buildKernelSchema(final Collection<TableMetaData> tableMetaDataList, final Collection<ShardingSphereRule> rules) {
+        return buildSchema(tableMetaDataList, each -> TableMetaDataBuilder.decorateKernelTableMetaData(each, rules));
     }
     
     /**
-     * Build federate schema.
+     * Build federation schema.
      *
-     * @param tableMetaDatas table meta datas
+     * @param tableMetaDataList table meta data list
      * @param rules sharding sphere rule
-     * @return sharding sphere schema
+     * @return ShardingSphere schema
      */
-    public static ShardingSphereSchema buildFederateSchema(final Collection<TableMetaData> tableMetaDatas, final Collection<ShardingSphereRule> rules) {
-        return buildSchema(tableMetaDatas, each -> TableMetaDataBuilder.decorateFederateTableMetaData(each, rules));
+    public static ShardingSphereSchema buildFederateSchema(final Collection<TableMetaData> tableMetaDataList, final Collection<ShardingSphereRule> rules) {
+        return buildSchema(tableMetaDataList, each -> TableMetaDataBuilder.decorateFederateTableMetaData(each, rules));
     }
     
-    private static ShardingSphereSchema buildSchema(final Collection<TableMetaData> tableMetaDatas, final Function<TableMetaData, TableMetaData> mapper) {
-        Map<String, TableMetaData> tableMetaDataMap = tableMetaDatas.stream().map(mapper)
+    private static ShardingSphereSchema buildSchema(final Collection<TableMetaData> tableMetaDataList, final Function<TableMetaData, TableMetaData> mapper) {
+        Map<String, TableMetaData> tableMetaDataMap = tableMetaDataList.stream().map(mapper)
                 .collect(Collectors.toMap(TableMetaData::getName, Function.identity(), (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
         return new ShardingSphereSchema(tableMetaDataMap);
     }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilderTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilderTest.java
index a2424c6..8f6717e 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilderTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilderTest.java
@@ -60,10 +60,10 @@ public final class SchemaBuilderTest {
         Collection<ShardingSphereRule> rules = Arrays.asList(new CommonFixtureRule(), new DataNodeContainedFixtureRule());
         Collection<String> tableNames = rules.stream().filter(rule -> rule instanceof TableContainedRule)
                 .flatMap(shardingSphereRule -> ((TableContainedRule) shardingSphereRule).getTables().stream()).collect(Collectors.toSet());
-        Collection<TableMetaData> tableMetaDatas = TableMetaDataBuilder.load(tableNames, new SchemaBuilderMaterials(
+        Collection<TableMetaData> tableMetaDataList = TableMetaDataBuilder.load(tableNames, new SchemaBuilderMaterials(
                 databaseType, Collections.singletonMap("logic_db", dataSource), rules, props)).values();
-        ShardingSphereSchema schemaForKernel = SchemaBuilder.buildKernelSchema(tableMetaDatas, rules);
-        ShardingSphereSchema schemaForFederate = SchemaBuilder.buildFederateSchema(tableMetaDatas, rules);
+        ShardingSphereSchema schemaForKernel = SchemaBuilder.buildKernelSchema(tableMetaDataList, rules);
+        ShardingSphereSchema schemaForFederate = SchemaBuilder.buildFederateSchema(tableMetaDataList, rules);
         assertThat(schemaForKernel.getTables().keySet().size(), is(2));
         assertSchemaOfShardingTables(schemaForKernel.getTables().values());
         assertThat(schemaForFederate.getTables().keySet().size(), is(2));
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngine.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngine.java
index 94f7dea..e324d32 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngine.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngine.java
@@ -26,8 +26,8 @@ import org.apache.shardingsphere.infra.metadata.mapper.SQLStatementEventMapperFa
 import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMaterials;
 import org.apache.shardingsphere.infra.metadata.schema.refresher.SchemaRefresher;
 import org.apache.shardingsphere.infra.metadata.schema.refresher.event.SchemaAlteredEvent;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederationRefresher;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
 import java.sql.SQLException;
@@ -41,11 +41,11 @@ public final class MetaDataRefreshEngine {
     
     private final ShardingSphereMetaData schemaMetaData;
     
-    private final FederateSchemaMetaData federateMetaData;
+    private final FederationSchemaMetaData federateMetaData;
     
     private final SchemaBuilderMaterials materials;
     
-    public MetaDataRefreshEngine(final ShardingSphereMetaData schemaMetaData, final FederateSchemaMetaData federateMetaData, final ConfigurationProperties props) {
+    public MetaDataRefreshEngine(final ShardingSphereMetaData schemaMetaData, final FederationSchemaMetaData federateMetaData, final ConfigurationProperties props) {
         this.schemaMetaData = schemaMetaData;
         this.federateMetaData = federateMetaData;
         materials = new SchemaBuilderMaterials(schemaMetaData.getResource().getDatabaseType(), schemaMetaData.getResource().getDataSources(), schemaMetaData.getRuleMetaData().getRules(), props);
@@ -76,8 +76,8 @@ public final class MetaDataRefreshEngine {
             if (each instanceof SchemaRefresher) {
                 ((SchemaRefresher) each).refresh(schemaMetaData, logicDataSourceNames, sqlStatement, materials.getProps());
             }
-            if (each instanceof FederateRefresher) {
-                ((FederateRefresher) each).refresh(federateMetaData, logicDataSourceNames, sqlStatement, materials);
+            if (each instanceof FederationRefresher) {
+                ((FederationRefresher) each).refresh(federateMetaData, logicDataSourceNames, sqlStatement, materials);
             }
         }
         ShardingSphereEventBus.getInstance().post(new SchemaAlteredEvent(schemaMetaData.getName(), schemaMetaData.getSchema()));
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefresherFactory.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefresherFactory.java
index 86f8855..e32f096 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefresherFactory.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefresherFactory.java
@@ -28,9 +28,9 @@ import org.apache.shardingsphere.infra.metadata.schema.refresher.type.CreateView
 import org.apache.shardingsphere.infra.metadata.schema.refresher.type.DropIndexStatementSchemaRefresher;
 import org.apache.shardingsphere.infra.metadata.schema.refresher.type.DropTableStatementSchemaRefresher;
 import org.apache.shardingsphere.infra.metadata.schema.refresher.type.DropViewStatementSchemaRefresher;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.AlterTableStatementFederateRefresher;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.CreateTableStatementFederateRefresher;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.DropTableStatementFederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.AlterTableStatementFederationRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.CreateTableStatementFederationRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.DropTableStatementFederationRefresher;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterIndexStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTableStatement;
@@ -66,11 +66,11 @@ public final class MetaDataRefresherFactory {
         REGISTRY.put(CreateViewStatement.class, new LinkedHashSet<>());
         REGISTRY.put(DropViewStatement.class, new LinkedHashSet<>());
         REGISTRY.get(CreateTableStatement.class).add(new CreateTableStatementSchemaRefresher());
-        REGISTRY.get(CreateTableStatement.class).add(new CreateTableStatementFederateRefresher());
+        REGISTRY.get(CreateTableStatement.class).add(new CreateTableStatementFederationRefresher());
         REGISTRY.get(AlterTableStatement.class).add(new AlterTableStatementSchemaRefresher());
-        REGISTRY.get(AlterTableStatement.class).add(new AlterTableStatementFederateRefresher());
+        REGISTRY.get(AlterTableStatement.class).add(new AlterTableStatementFederationRefresher());
         REGISTRY.get(DropTableStatement.class).add(new DropTableStatementSchemaRefresher());
-        REGISTRY.get(DropTableStatement.class).add(new DropTableStatementFederateRefresher());
+        REGISTRY.get(DropTableStatement.class).add(new DropTableStatementFederationRefresher());
         REGISTRY.get(CreateIndexStatement.class).add(new CreateIndexStatementSchemaRefresher());
         REGISTRY.get(AlterIndexStatement.class).add(new AlterIndexStatementSchemaRefresher());
         REGISTRY.get(DropIndexStatement.class).add(new DropIndexStatementSchemaRefresher());
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/FederateJDBCExecutor.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/FederateJDBCExecutor.java
index f3dd7b2..c7602d5 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/FederateJDBCExecutor.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/FederateJDBCExecutor.java
@@ -107,7 +107,7 @@ public final class FederateJDBCExecutor implements FederateExecutor {
     private void addSchema(final CalciteConnection calciteConnection, final ExecutionContext executionContext, final JDBCExecutorCallback<? extends ExecuteResult> callback, 
                            final DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine) throws SQLException {
         FederateRowExecutor executor = new FederateRowExecutor(props, jdbcExecutor, executionContext, callback, prepareEngine, factory.getDatabaseType().getQuoteCharacter());
-        FederateLogicSchema logicSchema = new FederateLogicSchema(factory.getSchemaMetaDatas().getSchemaMetaDataBySchemaName(schema), executor);
+        FederateLogicSchema logicSchema = new FederateLogicSchema(factory.getMetaData().getSchemas().get(schema), executor);
         calciteConnection.getRootSchema().add(schema, logicSchema);
         calciteConnection.setSchema(schema);
     }
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/FederateLogicSchema.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/FederateLogicSchema.java
index 5cd62f5..123de6e 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/FederateLogicSchema.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/FederateLogicSchema.java
@@ -23,8 +23,8 @@ import org.apache.calcite.schema.impl.AbstractSchema;
 import org.apache.commons.collections4.map.LinkedMap;
 import org.apache.shardingsphere.infra.executor.sql.federate.schema.row.FederateRowExecutor;
 import org.apache.shardingsphere.infra.executor.sql.federate.schema.table.FederateFilterableTable;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateTableMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationTableMetaData;
 
 import java.util.Map;
 
@@ -39,13 +39,13 @@ public final class FederateLogicSchema extends AbstractSchema {
     
     private final Map<String, Table> tables = new LinkedMap<>();
     
-    public FederateLogicSchema(final FederateSchemaMetaData metadata, final FederateRowExecutor executor) {
+    public FederateLogicSchema(final FederationSchemaMetaData metadata, final FederateRowExecutor executor) {
         this.name = metadata.getName();
         initTables(metadata, executor);
     }
     
-    private void initTables(final FederateSchemaMetaData metadata, final FederateRowExecutor executor) {
-        for (FederateTableMetaData each : metadata.getTables().values()) {
+    private void initTables(final FederationSchemaMetaData metadata, final FederateRowExecutor executor) {
+        for (FederationTableMetaData each : metadata.getTables().values()) {
             tables.put(each.getName(), new FederateFilterableTable(each, executor));
         }
     }
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/row/FederateRowExecutor.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/row/FederateRowExecutor.java
index dfa8887..0172027 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/row/FederateRowExecutor.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/row/FederateRowExecutor.java
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.infra.executor.sql.federate.schema.table.genera
 import org.apache.shardingsphere.infra.executor.sql.federate.schema.table.generator.FederateExecutionSQLGenerator;
 import org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
 import org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessEngine;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateTableMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationTableMetaData;
 import org.apache.shardingsphere.sql.parser.sql.common.constant.QuoteCharacter;
 
 import java.sql.Connection;
@@ -69,7 +69,7 @@ public final class FederateRowExecutor {
      * @param projects projects
      * @return a query result list
      */
-    public Collection<QueryResult> execute(final FederateTableMetaData metadata, final DataContext root, final List<RexNode> filters, final int[] projects) {
+    public Collection<QueryResult> execute(final FederationTableMetaData metadata, final DataContext root, final List<RexNode> filters, final int[] projects) {
         FederateExecutionContextGenerator generator = new FederateExecutionContextGenerator(metadata.getName(), routeExecutionContext, 
                 new FederateExecutionSQLGenerator(root, filters, projects, metadata.getColumnNames(), quoteCharacter));
         return execute(generator.generate());
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/AbstractFederateTable.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/AbstractFederateTable.java
index af06b43..32099f4 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/AbstractFederateTable.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/AbstractFederateTable.java
@@ -24,7 +24,7 @@ import org.apache.calcite.rel.type.RelDataType;
 import org.apache.calcite.rel.type.RelDataTypeFactory;
 import org.apache.calcite.schema.impl.AbstractTable;
 import org.apache.shardingsphere.infra.executor.sql.federate.schema.row.FederateRowExecutor;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateTableMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationTableMetaData;
 
 /**
  * Abstract Federate table.
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.infra.optimize.core.metadata.FederateTableMetaD
 @RequiredArgsConstructor
 public abstract class AbstractFederateTable extends AbstractTable {
     
-    private final FederateTableMetaData metaData;
+    private final FederationTableMetaData metaData;
     
     private final FederateRowExecutor executor;
     
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/FederateFilterableTable.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/FederateFilterableTable.java
index 786b346..ee93960 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/FederateFilterableTable.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/schema/table/FederateFilterableTable.java
@@ -25,7 +25,7 @@ import org.apache.calcite.rex.RexNode;
 import org.apache.calcite.schema.ProjectableFilterableTable;
 import org.apache.shardingsphere.infra.executor.sql.federate.schema.row.FederateRowEnumerator;
 import org.apache.shardingsphere.infra.executor.sql.federate.schema.row.FederateRowExecutor;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateTableMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationTableMetaData;
 
 import java.util.List;
 
@@ -35,7 +35,7 @@ import java.util.List;
  */
 public final class FederateFilterableTable extends AbstractFederateTable implements ProjectableFilterableTable {
     
-    public FederateFilterableTable(final FederateTableMetaData metadata, final FederateRowExecutor executor) {
+    public FederateFilterableTable(final FederationTableMetaData metadata, final FederateRowExecutor executor) {
         super(metadata, executor);
     }
     
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/federate/FederateJDBCExecutorTest.java b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/federate/FederateJDBCExecutorTest.java
index dfeab8a..987a898 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/federate/FederateJDBCExecutorTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/federate/FederateJDBCExecutorTest.java
@@ -37,7 +37,7 @@ import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
 import org.apache.shardingsphere.infra.optimize.ShardingSphereOptimizer;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContext;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.rule.builder.schema.SchemaRulesBuilderMaterials;
 import org.apache.shardingsphere.infra.rule.builder.schema.SchemaRulesBuilder;
@@ -138,32 +138,32 @@ public final class FederateJDBCExecutorTest {
     }
     
     private FederateLogicSchema initializeCalciteSchema(final String schemaName, final Map<String, List<String>> columnMap, final Map<String, List<String>> tableMap) {
-        FederateSchemaMetaData federateSchemaMetaData = buildSchemaMetaData(schemaName, tableMap.get(schemaName), columnMap);
-        return new FederateLogicSchema(federateSchemaMetaData, null);
+        FederationSchemaMetaData federationSchemaMetaData = buildSchemaMetaData(schemaName, tableMap.get(schemaName), columnMap);
+        return new FederateLogicSchema(federationSchemaMetaData, null);
     }
     
-    private FederateSchemaMetaData buildSchemaMetaData(final String schemaName, final List<String> tableNames, final Map<String, List<String>> tableColumns) {
-        Map<String, TableMetaData> tableMetaDatas = new HashMap<>();
+    private FederationSchemaMetaData buildSchemaMetaData(final String schemaName, final List<String> tableNames, final Map<String, List<String>> tableColumns) {
+        Map<String, TableMetaData> tableMetaDataList = new HashMap<>();
         for (String table: tableNames) {
-            List<ColumnMetaData> columnMetaDatas = new ArrayList<>();
-            List<IndexMetaData> indexMetaDatas = new ArrayList<>();
+            List<ColumnMetaData> columnMetaDataList = new ArrayList<>();
+            List<IndexMetaData> indexMetaDataList = new ArrayList<>();
             for (String column: tableColumns.get(table)) {
-                columnMetaDatas.add(new ColumnMetaData(column, 1, false, false, false));
-                indexMetaDatas.add(new IndexMetaData("index"));
+                columnMetaDataList.add(new ColumnMetaData(column, 1, false, false, false));
+                indexMetaDataList.add(new IndexMetaData("index"));
             }
-            TableMetaData tableMetaData = new TableMetaData(table, columnMetaDatas, indexMetaDatas);
-            tableMetaDatas.put(table, tableMetaData);
+            TableMetaData tableMetaData = new TableMetaData(table, columnMetaDataList, indexMetaDataList);
+            tableMetaDataList.put(table, tableMetaData);
         }
-        return new FederateSchemaMetaData(schemaName, tableMetaDatas);
+        return new FederationSchemaMetaData(schemaName, tableMetaDataList);
     }
     
     private OptimizeContextFactory initializeOptimizeContextFactory(final String schemaName, final Map<String, DataSource> actualDataSourceMap) throws SQLException {
         DataSource dataSource = actualDataSourceMap.get(schemaName);
         H2TableMetaDataLoader loader = new H2TableMetaDataLoader();
-        Map<String, TableMetaData> tableMetaDatas = loader.load(dataSource, Collections.emptyList());
+        Map<String, TableMetaData> tableMetaDataList = loader.load(dataSource, Collections.emptyList());
         Collection<RuleConfiguration> ruleConfigurations = Collections.singletonList(testRuleConfig);
         Map<String, String> accessConfiguration = initializeAccessConfiguration();
-        Map<String, ShardingSphereMetaData> shardingSphereMetaDataMap = createMetaDataMap(tableMetaDatas, ruleConfigurations, schemaName, accessConfiguration, actualDataSourceMap);
+        Map<String, ShardingSphereMetaData> shardingSphereMetaDataMap = createMetaDataMap(tableMetaDataList, ruleConfigurations, schemaName, accessConfiguration, actualDataSourceMap);
         return new OptimizeContextFactory(shardingSphereMetaDataMap);
     }
     
@@ -174,11 +174,11 @@ public final class FederateJDBCExecutorTest {
         return result;
     }
     
-    private Map<String, ShardingSphereMetaData> createMetaDataMap(final Map<String, TableMetaData> tableMetaDatas, final Collection<RuleConfiguration> ruleConfigs, 
+    private Map<String, ShardingSphereMetaData> createMetaDataMap(final Map<String, TableMetaData> tableMetaDataList, final Collection<RuleConfiguration> ruleConfigs, 
         final String schemaName, final Map<String, String> accessConfiguration, final Map<String, DataSource> actualDataSourceMap) {
         DataSourcesMetaData dataSourcesMetaData = getInstance(schemaName, accessConfiguration);
         ShardingSphereResource resource = new ShardingSphereResource(actualDataSourceMap, dataSourcesMetaData, null, new MySQLDatabaseType());
-        ShardingSphereSchema schema = new ShardingSphereSchema(tableMetaDatas);
+        ShardingSphereSchema schema = new ShardingSphereSchema(tableMetaDataList);
         Collection<ShardingSphereRule> rules = SchemaRulesBuilder.buildRules(
                 new SchemaRulesBuilderMaterials(schemaName, ruleConfigs, new MySQLDatabaseType(), actualDataSourceMap, new ConfigurationProperties(new Properties())));
         ShardingSphereRuleMetaData shardingSphereRuleMetaData = new ShardingSphereRuleMetaData(ruleConfigs, rules);
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContextFactory.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContextFactory.java
index 06f9391..8a5c8ab 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContextFactory.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContextFactory.java
@@ -53,7 +53,7 @@ import org.apache.shardingsphere.infra.database.type.dialect.SQL92DatabaseType;
 import org.apache.shardingsphere.infra.database.type.dialect.SQLServerDatabaseType;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaDatas;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.infra.optimize.core.plan.PlannerInitializer;
 
 import java.util.Collections;
@@ -91,7 +91,7 @@ public final class OptimizeContextFactory {
     private final RelDataTypeFactory typeFactory;
     
     @Getter
-    private final FederateSchemaMetaDatas schemaMetaDatas;
+    private final FederationMetaData metaData;
     
     private final RelOptCluster cluster;
     
@@ -100,7 +100,7 @@ public final class OptimizeContextFactory {
         initProperties(databaseType);
         typeFactory = new JavaTypeFactoryImpl();
         cluster = newCluster();
-        schemaMetaDatas = new FederateSchemaMetaDatas(metaDataMap);
+        metaData = new FederationMetaData(metaDataMap);
         connectionConfig = new CalciteConnectionConfigImpl(props);
         parserConfig = SqlParser.config()
                 .withLex(connectionConfig.lex())
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateSchemaMetaDatas.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationMetaData.java
similarity index 64%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateSchemaMetaDatas.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationMetaData.java
index a9782c4..34cb2a2 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateSchemaMetaDatas.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationMetaData.java
@@ -25,26 +25,16 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 /**
- * Federate schema meta datas.
+ * Federation meta data.
  */
 @Getter
-public final class FederateSchemaMetaDatas {
+public final class FederationMetaData {
     
-    private final Map<String, FederateSchemaMetaData> schemas = new LinkedMap<>();
+    private final Map<String, FederationSchemaMetaData> schemas = new LinkedMap<>();
     
-    public FederateSchemaMetaDatas(final Map<String, ShardingSphereMetaData> metaDataMap) {
+    public FederationMetaData(final Map<String, ShardingSphereMetaData> metaDataMap) {
         for (Entry<String, ShardingSphereMetaData> each : metaDataMap.entrySet()) {
-            schemas.put(each.getKey(), new FederateSchemaMetaData(each.getKey(), each.getValue().getSchema().getTables()));
+            schemas.put(each.getKey(), new FederationSchemaMetaData(each.getKey(), each.getValue().getSchema().getTables()));
         }
     }
-    
-    /**
-     * Get schema meta data by schema name.
-     * 
-     * @param schemaName schema name
-     * @return schema meta data
-     */
-    public FederateSchemaMetaData getSchemaMetaDataBySchemaName(final String schemaName) {
-        return schemas.get(schemaName);
-    }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateSchemaMetaData.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationSchemaMetaData.java
similarity index 79%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateSchemaMetaData.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationSchemaMetaData.java
index ad404f6..0ca32bf 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateSchemaMetaData.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationSchemaMetaData.java
@@ -26,19 +26,19 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 /**
- * Federate schema meta data.
+ * Federation schema meta data.
  */
 @Getter
-public final class FederateSchemaMetaData {
+public final class FederationSchemaMetaData {
     
     private final String name;
     
-    private final Map<String, FederateTableMetaData> tables = new LinkedHashMap<>();
+    private final Map<String, FederationTableMetaData> tables = new LinkedHashMap<>();
     
-    public FederateSchemaMetaData(final String name, final Map<String, TableMetaData> metaData) {
+    public FederationSchemaMetaData(final String name, final Map<String, TableMetaData> metaData) {
         this.name = name;
         for (Entry<String, TableMetaData> entry : metaData.entrySet()) {
-            tables.put(entry.getKey(), new FederateTableMetaData(entry.getValue().getName(), entry.getValue()));
+            tables.put(entry.getKey(), new FederationTableMetaData(entry.getValue().getName(), entry.getValue()));
         }
     }
     
@@ -49,7 +49,7 @@ public final class FederateSchemaMetaData {
      */
     @Synchronized
     public void renew(final TableMetaData metaData) {
-        tables.put(metaData.getName().toLowerCase(), new FederateTableMetaData(metaData.getName(), metaData));
+        tables.put(metaData.getName().toLowerCase(), new FederationTableMetaData(metaData.getName(), metaData));
     }
     
     /**
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateTableMetaData.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationTableMetaData.java
similarity index 93%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateTableMetaData.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationTableMetaData.java
index e844c2d..5919484 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederateTableMetaData.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/FederationTableMetaData.java
@@ -32,10 +32,10 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 /**
- * Federate table meta data.
+ * Federation table meta data.
  */
 @Getter
-public final class FederateTableMetaData {
+public final class FederationTableMetaData {
     
     private static final RelDataTypeFactory TYPE_FACTORY = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);   
     
@@ -45,7 +45,7 @@ public final class FederateTableMetaData {
     
     private final List<String> columnNames = new ArrayList<>();
     
-    public FederateTableMetaData(final String name, final TableMetaData tableMetaData) {
+    public FederationTableMetaData(final String name, final TableMetaData tableMetaData) {
         this.name = name;
         relProtoDataType = createRelDataType(tableMetaData);
         columnNames.addAll(tableMetaData.getColumns().values().stream().map(ColumnMetaData::getName).collect(Collectors.toList()));
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/FederateRefresher.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/FederationRefresher.java
similarity index 79%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/FederateRefresher.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/FederationRefresher.java
index 8e7c901..2a87739 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/FederateRefresher.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/FederationRefresher.java
@@ -19,27 +19,27 @@ package org.apache.shardingsphere.infra.optimize.core.metadata.refresher;
 
 import org.apache.shardingsphere.infra.metadata.MetaDataRefresher;
 import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMaterials;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
 import java.sql.SQLException;
 import java.util.Collection;
 
 /**
- * ShardingSphere federate refresher.
+ * Federation refresher.
  *
  * @param <T> type of SQL statement
  */
-public interface FederateRefresher<T extends SQLStatement> extends MetaDataRefresher {
+public interface FederationRefresher<T extends SQLStatement> extends MetaDataRefresher {
     
     /**
-     * Refresh federate schema.
+     * Refresh federation schema.
      *
-     * @param schema Federate schema to be refreshed
+     * @param schema federation schema to be refreshed
      * @param logicDataSourceNames logic dataSource names
      * @param sqlStatement SQL statement
      * @param materials schema builder materials
      * @throws SQLException SQL exception
      */
-    void refresh(FederateSchemaMetaData schema, Collection<String> logicDataSourceNames, T sqlStatement, SchemaBuilderMaterials materials) throws SQLException;
+    void refresh(FederationSchemaMetaData schema, Collection<String> logicDataSourceNames, T sqlStatement, SchemaBuilderMaterials materials) throws SQLException;
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederationRefresher.java
similarity index 88%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederationRefresher.java
index 0210443..1add810 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederationRefresher.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type;
 import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMaterials;
 import org.apache.shardingsphere.infra.metadata.schema.builder.TableMetaDataBuilder;
 import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederationRefresher;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.AlterTableStatement;
 
 import java.sql.SQLException;
@@ -30,12 +30,12 @@ import java.util.Collections;
 import java.util.Optional;
 
 /**
- * ShardingSphere federate refresher for alter table statement.
+ * Federation refresher for alter table statement.
  */
-public final class AlterTableStatementFederateRefresher implements FederateRefresher<AlterTableStatement> {
+public final class AlterTableStatementFederationRefresher implements FederationRefresher<AlterTableStatement> {
 
     @Override
-    public void refresh(final FederateSchemaMetaData schema, final Collection<String> logicDataSourceNames,
+    public void refresh(final FederationSchemaMetaData schema, final Collection<String> logicDataSourceNames,
                         final AlterTableStatement sqlStatement, final SchemaBuilderMaterials materials) throws SQLException {
         String tableName = sqlStatement.getTable().getTableName().getIdentifier().getValue();
         if (sqlStatement.getRenameTable().isPresent()) {
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/CreateTableStatementFederateRefresher.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/CreateTableStatementFederationRefresher.java
similarity index 85%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/CreateTableStatementFederateRefresher.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/CreateTableStatementFederationRefresher.java
index 299604c..e8fc88c 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/CreateTableStatementFederateRefresher.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/CreateTableStatementFederationRefresher.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type;
 
 import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMaterials;
 import org.apache.shardingsphere.infra.metadata.schema.builder.TableMetaDataBuilder;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederationRefresher;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateTableStatement;
 
 import java.sql.SQLException;
@@ -29,12 +29,12 @@ import java.util.Collections;
 import java.util.Optional;
 
 /**
- * ShardingSphere federate refresher for create table statement.
+ * Federation refresher for create table statement.
  */
-public final class CreateTableStatementFederateRefresher implements FederateRefresher<CreateTableStatement> {
+public final class CreateTableStatementFederationRefresher implements FederationRefresher<CreateTableStatement> {
     
     @Override
-    public void refresh(final FederateSchemaMetaData schema, final Collection<String> logicDataSourceNames,
+    public void refresh(final FederationSchemaMetaData schema, final Collection<String> logicDataSourceNames,
                         final CreateTableStatement sqlStatement, final SchemaBuilderMaterials materials) throws SQLException {
         String tableName = sqlStatement.getTable().getTableName().getIdentifier().getValue();
         Optional.ofNullable(TableMetaDataBuilder.load(Collections.singletonList(tableName), materials).get(tableName))
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/DropTableStatementFederateRefresher.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/DropTableStatementFederationRefresher.java
similarity index 77%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/DropTableStatementFederateRefresher.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/DropTableStatementFederationRefresher.java
index 88cfdbc..91df0e1 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/DropTableStatementFederateRefresher.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/DropTableStatementFederationRefresher.java
@@ -18,20 +18,20 @@
 package org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type;
 
 import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMaterials;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.FederationRefresher;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
 
 import java.sql.SQLException;
 import java.util.Collection;
 
 /**
- * ShardingSphere Federate refresher for drop table statement.
+ * Federation refresher for drop table statement.
  */
-public final class DropTableStatementFederateRefresher implements FederateRefresher<DropTableStatement> {
+public final class DropTableStatementFederationRefresher implements FederationRefresher<DropTableStatement> {
 
     @Override
-    public void refresh(final FederateSchemaMetaData schema, final Collection<String> logicDataSourceNames, final DropTableStatement sqlStatement, final SchemaBuilderMaterials materials)
+    public void refresh(final FederationSchemaMetaData schema, final Collection<String> logicDataSourceNames, final DropTableStatement sqlStatement, final SchemaBuilderMaterials materials)
             throws SQLException {
         sqlStatement.getTables().forEach(each -> schema.remove(each.getTableName().getIdentifier().getValue()));
     }
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/AlterTableStatementFederateRefresherTest.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/AlterTableStatementFederationRefresherTest.java
similarity index 85%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/AlterTableStatementFederateRefresherTest.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/AlterTableStatementFederationRefresherTest.java
index 3e8039c..e4659af 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/AlterTableStatementFederateRefresherTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/AlterTableStatementFederationRefresherTest.java
@@ -22,8 +22,8 @@ import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMate
 import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.IndexMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.AlterTableStatementFederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.AlterTableStatementFederationRefresher;
 import org.apache.shardingsphere.infra.optimize.core.metadata.rule.CommonFixtureRule;
 import org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
@@ -51,7 +51,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class AlterTableStatementFederateRefresherTest {
+public final class AlterTableStatementFederationRefresherTest {
     
     @Mock
     private SchemaBuilderMaterials materials;
@@ -69,9 +69,9 @@ public final class AlterTableStatementFederateRefresherTest {
         alterTableStatement.setTable(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order"))));
         TableContainedRule rule = mock(TableContainedRule.class);
         when(materials.getRules()).thenReturn(Collections.singletonList(rule));
-        FederateRefresher<AlterTableStatement> federateRefresher = new AlterTableStatementFederateRefresher();
-        FederateSchemaMetaData schema = buildSchema();
-        federateRefresher.refresh(schema, Collections.singletonList("ds"), alterTableStatement, materials);
+        FederationRefresher<AlterTableStatement> federationRefresher = new AlterTableStatementFederationRefresher();
+        FederationSchemaMetaData schema = buildSchema();
+        federationRefresher.refresh(schema, Collections.singletonList("ds"), alterTableStatement, materials);
         assertTrue(schema.getTables().containsKey("t_order"));
     }
     
@@ -89,16 +89,16 @@ public final class AlterTableStatementFederateRefresherTest {
         alterTableStatement.setRenameTable(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order_new"))));
         when(materials.getRules()).thenReturn(Collections.singletonList(new CommonFixtureRule()));
         when(materials.getDataSourceMap()).thenReturn(Collections.singletonMap("ds", mock(DataSource.class)));
-        FederateRefresher<AlterTableStatement> federateRefresher = new AlterTableStatementFederateRefresher();
-        FederateSchemaMetaData schema = buildSchema();
-        federateRefresher.refresh(schema, Collections.singletonList("ds"), alterTableStatement, materials);
+        FederationRefresher<AlterTableStatement> federationRefresher = new AlterTableStatementFederationRefresher();
+        FederationSchemaMetaData schema = buildSchema();
+        federationRefresher.refresh(schema, Collections.singletonList("ds"), alterTableStatement, materials);
         assertFalse(schema.getTables().containsKey("t_order"));
         assertTrue(schema.getTables().containsKey("t_order_new"));
     }
     
-    private FederateSchemaMetaData buildSchema() {
+    private FederationSchemaMetaData buildSchema() {
         Map<String, TableMetaData> metaData = ImmutableMap.of("t_order", new TableMetaData("t_order", Collections.singletonList(new ColumnMetaData("order_id", 1, false, false, false)),
                         Collections.singletonList(new IndexMetaData("index"))));
-        return new FederateSchemaMetaData("t_order", metaData);
+        return new FederationSchemaMetaData("t_order", metaData);
     }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/CreateTableStatementFederateRefresherTest.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/CreateTableStatementFederationRefresherTest.java
similarity index 88%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/CreateTableStatementFederateRefresherTest.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/CreateTableStatementFederationRefresherTest.java
index 8fc7f82..673fe4d 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/CreateTableStatementFederateRefresherTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/CreateTableStatementFederationRefresherTest.java
@@ -22,8 +22,8 @@ import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMate
 import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.IndexMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.CreateTableStatementFederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.CreateTableStatementFederationRefresher;
 import org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
@@ -48,7 +48,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class CreateTableStatementFederateRefresherTest {
+public final class CreateTableStatementFederationRefresherTest {
     
     @Mock
     private SchemaBuilderMaterials materials;
@@ -82,16 +82,16 @@ public final class CreateTableStatementFederateRefresherTest {
         createTableStatement.setTable(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order"))));
         TableContainedRule rule = mock(TableContainedRule.class);
         when(materials.getRules()).thenReturn(Collections.singletonList(rule));
-        FederateRefresher<CreateTableStatement> federateRefresher = new CreateTableStatementFederateRefresher();
-        FederateSchemaMetaData schema = buildSchema();
-        federateRefresher.refresh(schema, Collections.singletonList("ds"), createTableStatement, materials);
+        FederationRefresher<CreateTableStatement> federationRefresher = new CreateTableStatementFederationRefresher();
+        FederationSchemaMetaData schema = buildSchema();
+        federationRefresher.refresh(schema, Collections.singletonList("ds"), createTableStatement, materials);
         assertTrue(schema.getTables().containsKey("t_order"));
         assertTrue(schema.getTables().get("t_order").getColumnNames().contains("order_id"));
     }
     
-    private FederateSchemaMetaData buildSchema() {
+    private FederationSchemaMetaData buildSchema() {
         Map<String, TableMetaData> metaData = ImmutableMap.of("t_order", new TableMetaData("t_order", Collections.singletonList(new ColumnMetaData("order_id", 1, false, false, false)),
                 Collections.singletonList(new IndexMetaData("index"))));
-        return new FederateSchemaMetaData("t_order", metaData);
+        return new FederationSchemaMetaData("t_order", metaData);
     }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/DropTableStatementFederateRefresherTest.java b/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/DropTableStatementFederationRefresherTest.java
similarity index 89%
rename from shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/DropTableStatementFederateRefresherTest.java
rename to shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/DropTableStatementFederationRefresherTest.java
index 10e2a3a..0713edf 100644
--- a/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/DropTableStatementFederateRefresherTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-optimize/src/test/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/DropTableStatementFederationRefresherTest.java
@@ -22,8 +22,8 @@ import org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilderMate
 import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.IndexMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
-import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.DropTableStatementFederateRefresher;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.refresher.type.DropTableStatementFederationRefresher;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
@@ -42,7 +42,7 @@ import java.util.Map;
 import static org.junit.Assert.assertFalse;
 import static org.mockito.Mockito.mock;
 
-public final class DropTableStatementFederateRefresherTest {
+public final class DropTableStatementFederationRefresherTest {
     
     @Test
     public void refreshForMySQL() throws SQLException {
@@ -70,8 +70,8 @@ public final class DropTableStatementFederateRefresherTest {
     }
     
     private void refresh(final DropTableStatement dropTableStatement) throws SQLException {
-        FederateSchemaMetaData schema = buildSchema();
-        FederateRefresher<DropTableStatement> schemaRefresher = new DropTableStatementFederateRefresher();
+        FederationSchemaMetaData schema = buildSchema();
+        FederationRefresher<DropTableStatement> schemaRefresher = new DropTableStatementFederationRefresher();
         dropTableStatement.getTables().add(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order"))));
         schemaRefresher.refresh(schema, Collections.emptyList(), dropTableStatement, mock(SchemaBuilderMaterials.class));
         assertFalse(schema.getTables().containsKey("t_order"));
@@ -103,15 +103,15 @@ public final class DropTableStatementFederateRefresherTest {
     }
     
     private void refreshWithUnConfigured(final DropTableStatement dropTableStatement) throws SQLException {
-        FederateSchemaMetaData schema = buildSchema();
-        FederateRefresher<DropTableStatement> schemaRefresher = new DropTableStatementFederateRefresher();
+        FederationSchemaMetaData schema = buildSchema();
+        FederationRefresher<DropTableStatement> schemaRefresher = new DropTableStatementFederationRefresher();
         dropTableStatement.getTables().add(new SimpleTableSegment(new TableNameSegment(1, 3, new IdentifierValue("t_order_item"))));
         schemaRefresher.refresh(schema, Collections.singletonList("t_order_item"), dropTableStatement, mock(SchemaBuilderMaterials.class));
     }
     
-    private FederateSchemaMetaData buildSchema() {
+    private FederationSchemaMetaData buildSchema() {
         Map<String, TableMetaData> metaData = ImmutableMap.of("t_order", new TableMetaData("t_order", Collections.singletonList(new ColumnMetaData("order_id", 1, false, false, false)),
                 Collections.singletonList(new IndexMetaData("index"))));
-        return new FederateSchemaMetaData("t_order", metaData);
+        return new FederationSchemaMetaData("t_order", metaData);
     }
 }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/JDBCLockEngine.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/JDBCLockEngine.java
index 1641d6f..d2748cd 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/JDBCLockEngine.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/JDBCLockEngine.java
@@ -58,7 +58,7 @@ public final class JDBCLockEngine {
         this.metaDataContexts = metaDataContexts;
         this.jdbcExecutor = jdbcExecutor;
         metadataRefreshEngine = new MetaDataRefreshEngine(metaDataContexts.getMetaData(schemaName),
-                metaDataContexts.getOptimizeContextFactory().getSchemaMetaDatas().getSchemaMetaDataBySchemaName(schemaName), metaDataContexts.getProps());
+                metaDataContexts.getOptimizeContextFactory().getMetaData().getSchemas().get(schemaName), metaDataContexts.getProps());
     }
     
     /**
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableMetaDataBuilder.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableMetaDataBuilder.java
index 4421f7a..dd56efe 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableMetaDataBuilder.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableMetaDataBuilder.java
@@ -52,8 +52,8 @@ public final class SingleTableMetaDataBuilder implements RuleBasedTableMetaDataB
         if (tableMetaDataLoaderMaterials.isEmpty()) {
             return Collections.emptyMap();
         }
-        Collection<TableMetaData> tableMetaDatas = TableMetaDataLoaderEngine.load(tableMetaDataLoaderMaterials, materials.getDatabaseType());
-        return tableMetaDatas.stream().collect(Collectors.toMap(TableMetaData::getName, Function.identity(), (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
+        Collection<TableMetaData> tableMetaDataList = TableMetaDataLoaderEngine.load(tableMetaDataLoaderMaterials, materials.getDatabaseType());
+        return tableMetaDataList.stream().collect(Collectors.toMap(TableMetaData::getName, Function.identity(), (oldValue, currentValue) -> oldValue, LinkedHashMap::new));
     }
     
     @Override
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
index eac7a0d..762f200 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
@@ -76,10 +76,10 @@ public final class SingleTableSchemaBuilderTest {
         when(dataSource.getConnection()).thenReturn(connection);
         Collection<ShardingSphereRule> rules = Collections.singletonList(mockSingleTableRuleLoad(connection));
         mockSQLLoad(connection);
-        Collection<TableMetaData> tableMetaDatas = TableMetaDataBuilder.load(Arrays.asList(singleTableNames),
+        Collection<TableMetaData> tableMetaDataList = TableMetaDataBuilder.load(Arrays.asList(singleTableNames),
                 new SchemaBuilderMaterials(databaseType, Collections.singletonMap("logic_db", dataSource), rules, props)).values();
-        ShardingSphereSchema schemaForKernel = SchemaBuilder.buildKernelSchema(tableMetaDatas, rules);
-        ShardingSphereSchema schemaForFederate = SchemaBuilder.buildFederateSchema(tableMetaDatas, rules);
+        ShardingSphereSchema schemaForKernel = SchemaBuilder.buildKernelSchema(tableMetaDataList, rules);
+        ShardingSphereSchema schemaForFederate = SchemaBuilder.buildFederateSchema(tableMetaDataList, rules);
         assertThat(schemaForKernel.getTables().size(), is(2));
         assertActualOfSingleTables(schemaForKernel.getTables().values());
         assertThat(schemaForFederate.getTables().size(), is(2));
diff --git a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
index d7ef7ac..99d2de7 100644
--- a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
+++ b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsBuilder.java
@@ -98,11 +98,11 @@ public final class MetaDataContextsBuilder {
             Collection<RuleConfiguration> ruleConfigs = schemaRuleConfigs.get(each);
             DatabaseType databaseType = DatabaseTypeRecognizer.getDatabaseType(dataSourceMap.values());
             Collection<ShardingSphereRule> rules = SchemaRulesBuilder.buildRules(new SchemaRulesBuilderMaterials(each, ruleConfigs, databaseType, dataSourceMap, props));
-            Collection<TableMetaData> tableMetaDatas = TableMetaDataBuilder.load(getAllTableNames(rules), new SchemaBuilderMaterials(databaseType, dataSourceMap, rules, props)).values();
+            Collection<TableMetaData> tableMetaDataList = TableMetaDataBuilder.load(getAllTableNames(rules), new SchemaBuilderMaterials(databaseType, dataSourceMap, rules, props)).values();
             ShardingSphereRuleMetaData ruleMetaData = new ShardingSphereRuleMetaData(ruleConfigs, rules);
             ShardingSphereResource resource = buildResource(databaseType, dataSourceMap);
-            actualMetaDataMap.put(each, new ShardingSphereMetaData(each, resource, ruleMetaData, SchemaBuilder.buildFederateSchema(tableMetaDatas, rules)));
-            metaDataMap.put(each, new ShardingSphereMetaData(each, resource, ruleMetaData, SchemaBuilder.buildKernelSchema(tableMetaDatas, rules)));
+            actualMetaDataMap.put(each, new ShardingSphereMetaData(each, resource, ruleMetaData, SchemaBuilder.buildFederateSchema(tableMetaDataList, rules)));
+            metaDataMap.put(each, new ShardingSphereMetaData(each, resource, ruleMetaData, SchemaBuilder.buildKernelSchema(tableMetaDataList, rules)));
         }
         OptimizeContextFactory optimizeContextFactory = new OptimizeContextFactory(actualMetaDataMap);
         return new MetaDataContexts(metaDataPersistService, metaDataMap, buildGlobalSchemaMetaData(metaDataMap), executorEngine, props, optimizeContextFactory);
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
index b4968d6..cd52c69 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
 import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaData;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationSchemaMetaData;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
 import org.apache.shardingsphere.infra.rule.event.impl.DataSourceNameDisabledEvent;
@@ -98,7 +98,7 @@ public final class ClusterContextManagerCoordinator {
     public synchronized void renew(final SchemaAddedEvent event) throws SQLException {
         persistSchema(event.getSchemaName());
         ShardingSphereMetaData metaData = buildMetaData(event.getSchemaName());
-        contextManager.getMetaDataContexts().getOptimizeContextFactory().getSchemaMetaDatas().getSchemas().put(event.getSchemaName(), new FederateSchemaMetaData(event.getSchemaName(), 
+        contextManager.getMetaDataContexts().getOptimizeContextFactory().getMetaData().getSchemas().put(event.getSchemaName(), new FederationSchemaMetaData(event.getSchemaName(), 
                 metaData.getSchema().getTables()));
         contextManager.getMetaDataContexts().getMetaDataMap().put(event.getSchemaName(), metaData);
         contextManager.renewMetaDataContexts(rebuildMetaDataContexts(contextManager.getMetaDataContexts().getMetaDataMap()));
@@ -117,7 +117,7 @@ public final class ClusterContextManagerCoordinator {
         closeDataSources(schemaName);
         Map<String, ShardingSphereMetaData> schemaMetaData = new HashMap<>(contextManager.getMetaDataContexts().getMetaDataMap());
         schemaMetaData.remove(schemaName);
-        contextManager.getMetaDataContexts().getOptimizeContextFactory().getSchemaMetaDatas().getSchemas().remove(schemaName);
+        contextManager.getMetaDataContexts().getOptimizeContextFactory().getMetaData().getSchemas().remove(schemaName);
         contextManager.renewMetaDataContexts(rebuildMetaDataContexts(schemaMetaData));
         ShardingSphereEventBus.getInstance().post(new DataSourceDeletedEvent(schemaName));
     }
@@ -159,8 +159,8 @@ public final class ClusterContextManagerCoordinator {
                 ShardingSphereMetaData originalMetaData = entry.getValue();
                 ShardingSphereMetaData metaData = event.getSchemaName().equals(schemaName) ? getChangedMetaData(originalMetaData, event.getSchema(), schemaName) : originalMetaData;
                 schemaMetaData.put(schemaName, metaData);
-                contextManager.getMetaDataContexts().getOptimizeContextFactory().getSchemaMetaDatas().getSchemas().put(event.getSchemaName(),
-                        new FederateSchemaMetaData(event.getSchemaName(), metaData.getSchema().getTables()));
+                contextManager.getMetaDataContexts().getOptimizeContextFactory().getMetaData().getSchemas().put(event.getSchemaName(),
+                        new FederationSchemaMetaData(event.getSchemaName(), metaData.getSchema().getTables()));
             }
             contextManager.renewMetaDataContexts(rebuildMetaDataContexts(schemaMetaData));
         } finally {
@@ -273,7 +273,7 @@ public final class ClusterContextManagerCoordinator {
     private Map<String, ShardingSphereMetaData> rebuildSchemaMetaData(final String schemaName, final ShardingSphereMetaData metaData) {
         Map<String, ShardingSphereMetaData> result = new HashMap<>(contextManager.getMetaDataContexts().getMetaDataMap());
         result.put(schemaName, metaData);
-        contextManager.getMetaDataContexts().getOptimizeContextFactory().getSchemaMetaDatas().getSchemas().put(schemaName, new FederateSchemaMetaData(schemaName, metaData.getSchema().getTables()));
+        contextManager.getMetaDataContexts().getOptimizeContextFactory().getMetaData().getSchemas().put(schemaName, new FederationSchemaMetaData(schemaName, metaData.getSchema().getTables()));
         return result;
     }
     
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
index 8cf22df..deb833c 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
@@ -36,7 +36,7 @@ import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
 import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaDatas;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
@@ -275,7 +275,7 @@ public final class ClusterContextManagerCoordinatorTest {
     
     private OptimizeContextFactory mockOptimizeContextFactory() {
         OptimizeContextFactory result = mock(OptimizeContextFactory.class);
-        when(result.getSchemaMetaDatas()).thenReturn(new FederateSchemaMetaDatas(Collections.emptyMap()));
+        when(result.getMetaData()).thenReturn(new FederationMetaData(Collections.emptyMap()));
         return result;
     }
 }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
index d5ed2af..3822b0f 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
@@ -89,7 +89,7 @@ public final class DatabaseCommunicationEngine {
         proxySQLExecutor = new ProxySQLExecutor(driverType, backendConnection, this);
         kernelProcessor = new KernelProcessor();
         proxyLockEngine = new ProxyLockEngine(proxySQLExecutor, new MetaDataRefreshEngine(metaData,
-                ProxyContext.getInstance().getContextManager().getMetaDataContexts().getOptimizeContextFactory().getSchemaMetaDatas().getSchemas().get(backendConnection.getSchemaName()),
+                ProxyContext.getInstance().getContextManager().getMetaDataContexts().getOptimizeContextFactory().getMetaData().getSchemas().get(backendConnection.getSchemaName()),
                 ProxyContext.getInstance().getContextManager().getMetaDataContexts().getProps()), backendConnection.getSchemaName());
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactoryTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactoryTest.java
index f94cedf..afb48ef 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactoryTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineFactoryTest.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaDatas;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.junit.Before;
@@ -69,7 +69,7 @@ public final class DatabaseCommunicationEngineFactoryTest {
 
     private OptimizeContextFactory mockOptimizeContextFactory() {
         OptimizeContextFactory result = mock(OptimizeContextFactory.class);
-        when(result.getSchemaMetaDatas()).thenReturn(new FederateSchemaMetaDatas(Collections.emptyMap()));
+        when(result.getMetaData()).thenReturn(new FederationMetaData(Collections.emptyMap()));
         return result;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineTest.java
index 3545833..0ee391e 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngineTest.java
@@ -35,7 +35,7 @@ import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.IndexMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaDatas;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
@@ -105,7 +105,7 @@ public final class DatabaseCommunicationEngineTest {
 
     private OptimizeContextFactory mockOptimizeContextFactory() {
         OptimizeContextFactory result = mock(OptimizeContextFactory.class, RETURNS_DEEP_STUBS);
-        when(result.getSchemaMetaDatas()).thenReturn(new FederateSchemaMetaDatas(Collections.emptyMap()));
+        when(result.getMetaData()).thenReturn(new FederationMetaData(Collections.emptyMap()));
         return result;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecutorFactoryTest.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecutorFactoryTest.java
index 9e7b391..a50b2c7 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecutorFactoryTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecutorFactoryTest.java
@@ -34,7 +34,7 @@ import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaDatas;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -96,7 +96,7 @@ public final class MySQLCommandExecutorFactoryTest {
 
     private OptimizeContextFactory mockOptimizeContextFactory() {
         OptimizeContextFactory result = mock(OptimizeContextFactory.class, RETURNS_DEEP_STUBS);
-        when(result.getSchemaMetaDatas()).thenReturn(new FederateSchemaMetaDatas(Collections.emptyMap()));
+        when(result.getMetaData()).thenReturn(new FederationMetaData(Collections.emptyMap()));
         return result;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
index 77494b2..7222f9c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutorTest.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
-import org.apache.shardingsphere.infra.optimize.core.metadata.FederateSchemaMetaDatas;
+import org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngine;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -83,7 +83,7 @@ public final class MySQLComStmtExecuteExecutorTest {
     
     private OptimizeContextFactory mockOptimizeContextFactory() {
         OptimizeContextFactory result = mock(OptimizeContextFactory.class);
-        when(result.getSchemaMetaDatas()).thenReturn(new FederateSchemaMetaDatas(Collections.emptyMap()));
+        when(result.getMetaData()).thenReturn(new FederationMetaData(Collections.emptyMap()));
         return result;
     }