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 82ff169  Rename OptimizerContext and OptimizerContextFactory (#12600)
82ff169 is described below

commit 82ff169ef5278b986a04ed8a4102d7114bdd0266
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Sep 20 23:02:09 2021 +0800

    Rename OptimizerContext and OptimizerContextFactory (#12600)
---
 .../sql/federate/execute/FederateJDBCExecutor.java         |  4 ++--
 .../federate/execute/raw/FederateExecuteDataContext.java   |  4 ++--
 .../sql/federate/execute/raw/FederateRawExecutor.java      |  4 ++--
 .../executor/sql/federate/FederateJDBCExecutorTest.java    | 12 ++++++------
 .../infra/optimize/ShardingSphereOptimizer.java            | 12 ++++++++----
 .../{OptimizeContext.java => OptimizerContext.java}        |  2 +-
 ...izeContextFactory.java => OptimizerContextFactory.java} | 10 +++++-----
 .../shardingsphere/driver/executor/JDBCLockEngine.java     |  2 +-
 .../core/statement/ShardingSpherePreparedStatement.java    |  2 +-
 .../jdbc/core/statement/ShardingSphereStatement.java       |  2 +-
 .../shardingsphere/mode/metadata/MetaDataContexts.java     | 10 +++++-----
 .../mode/metadata/MetaDataContextsBuilder.java             |  6 +++---
 .../shardingsphere/mode/metadata/MetaDataContextsTest.java |  6 +++---
 .../coordinator/ClusterContextManagerCoordinator.java      | 14 +++++++-------
 .../coordinator/ClusterContextManagerCoordinatorTest.java  |  8 ++++----
 .../backend/communication/DatabaseCommunicationEngine.java |  2 +-
 .../proxy/backend/communication/ProxySQLExecutor.java      |  2 +-
 .../DatabaseCommunicationEngineFactoryTest.java            |  8 ++++----
 .../communication/DatabaseCommunicationEngineTest.java     |  8 ++++----
 .../jdbc/connection/BackendConnectionTest.java             |  6 ++++--
 .../jdbc/datasource/JDBCBackendDataSourceTest.java         |  4 ++--
 .../proxy/backend/context/BackendExecutorContextTest.java  |  4 ++--
 .../proxy/backend/context/ProxyContextTest.java            | 10 +++++-----
 .../admin/DatabaseOperateBackendHandlerFactoryTest.java    |  4 ++--
 .../mysql/executor/ShowCreateDatabaseExecutorTest.java     |  4 ++--
 .../admin/mysql/executor/ShowCurrentUserExecutorTest.java  |  4 ++--
 .../admin/mysql/executor/ShowDatabasesExecutorTest.java    |  4 ++--
 .../text/admin/mysql/executor/ShowTablesExecutorTest.java  |  4 ++--
 .../admin/mysql/executor/ShowTablesStatusExecutorTest.java |  4 ++--
 .../text/admin/mysql/executor/UseDatabaseExecutorTest.java |  4 ++--
 .../information/SelectInformationExecutorTest.java         |  4 ++--
 .../data/impl/BroadcastDatabaseBackendHandlerTest.java     |  4 ++--
 .../impl/SchemaAssignedDatabaseBackendHandlerTest.java     |  4 ++--
 .../text/data/impl/UnicastDatabaseBackendHandlerTest.java  |  4 ++--
 .../text/distsql/DistSQLBackendHandlerFactoryTest.java     |  4 ++--
 .../text/distsql/ral/SetVariableBackendHandlerTest.java    |  4 ++--
 .../protocol/FrontDatabaseProtocolTypeFactoryTest.java     |  8 ++++----
 .../proxy/frontend/mysql/MySQLFrontendEngineTest.java      |  4 ++--
 .../authentication/MySQLAuthenticationEngineTest.java      |  4 ++--
 .../authentication/MySQLAuthenticationHandlerTest.java     |  4 ++--
 .../mysql/command/MySQLCommandExecutorFactoryTest.java     |  8 ++++----
 .../binary/execute/MySQLComStmtExecuteExecutorTest.java    |  8 ++++----
 .../authentication/PostgreSQLAuthenticationEngineTest.java |  4 ++--
 .../PostgreSQLAuthenticationHandlerTest.java               |  4 ++--
 .../query/binary/parse/PostgreSQLComParseExecutorTest.java |  4 ++--
 45 files changed, 124 insertions(+), 118 deletions(-)

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 c7602d5..2f67580 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
@@ -31,7 +31,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.dr
 import 
org.apache.shardingsphere.infra.executor.sql.federate.schema.FederateLogicSchema;
 import 
org.apache.shardingsphere.infra.executor.sql.federate.schema.row.FederateRowExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.sql.parser.sql.common.util.SQLUtil;
 
 import java.sql.Connection;
@@ -56,7 +56,7 @@ public final class FederateJDBCExecutor implements 
FederateExecutor {
     
     private final String schema;
     
-    private final OptimizeContextFactory factory;
+    private final OptimizerContextFactory factory;
     
     private final ConfigurationProperties props;
     
diff --git 
a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateExecuteDataContext.java
 
b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateExecuteDataContext.java
index 85a9aff..56be960 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateExecuteDataContext.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateExecuteDataContext.java
@@ -22,7 +22,7 @@ import org.apache.calcite.DataContext;
 import org.apache.calcite.adapter.java.JavaTypeFactory;
 import org.apache.calcite.linq4j.QueryProvider;
 import org.apache.calcite.schema.SchemaPlus;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContext;
+import org.apache.shardingsphere.infra.optimize.context.OptimizerContext;
 
 /**
  * Federate execute data context.
@@ -30,7 +30,7 @@ import 
org.apache.shardingsphere.infra.optimize.context.OptimizeContext;
 @RequiredArgsConstructor
 public final class FederateExecuteDataContext implements DataContext {
     
-    private final OptimizeContext context;
+    private final OptimizerContext context;
     
     @Override
     public SchemaPlus getRootSchema() {
diff --git 
a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateRawExecutor.java
 
b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateRawExecutor.java
index 690db51a..e61817e 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateRawExecutor.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/federate/execute/raw/FederateRawExecutor.java
@@ -32,7 +32,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryRe
 import 
org.apache.shardingsphere.infra.executor.sql.federate.execute.FederateExecutor;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecutionPrepareEngine;
 import org.apache.shardingsphere.infra.optimize.ShardingSphereOptimizer;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContext;
+import org.apache.shardingsphere.infra.optimize.context.OptimizerContext;
 
 import java.sql.Connection;
 import java.sql.ResultSet;
@@ -48,7 +48,7 @@ public final class FederateRawExecutor implements 
FederateExecutor {
     
     private final ShardingSphereOptimizer optimizer;
     
-    public FederateRawExecutor(final OptimizeContext context) {
+    public FederateRawExecutor(final OptimizerContext context) {
         optimizer = new ShardingSphereOptimizer(context);
     }
     
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 987a898..ff78b31 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
@@ -35,8 +35,8 @@ 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.ShardingSphereOptimizer;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContext;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import org.apache.shardingsphere.infra.optimize.context.OptimizerContext;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 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;
@@ -79,9 +79,9 @@ public final class FederateJDBCExecutorTest {
         Map<String, List<String>> columnMap = initializeColumnMap();
         Map<String, List<String>> tableMap = initializeTableMap();
         Map<String, DataSource> actualDataSourceMap = 
initializeDataSourceMap(schemaName);
-        OptimizeContextFactory optimizeContextFactory = 
initializeOptimizeContextFactory(schemaName, actualDataSourceMap);
+        OptimizerContextFactory optimizerContextFactory = 
initializeOptimizerContextFactory(schemaName, actualDataSourceMap);
         FederateLogicSchema calciteSchema = 
initializeCalciteSchema(schemaName, columnMap, tableMap);
-        OptimizeContext context = optimizeContextFactory.create(schemaName, 
calciteSchema);
+        OptimizerContext context = optimizerContextFactory.create(schemaName, 
calciteSchema);
         optimizer = new ShardingSphereOptimizer(context);
     }
     
@@ -157,14 +157,14 @@ public final class FederateJDBCExecutorTest {
         return new FederationSchemaMetaData(schemaName, tableMetaDataList);
     }
     
-    private OptimizeContextFactory initializeOptimizeContextFactory(final 
String schemaName, final Map<String, DataSource> actualDataSourceMap) throws 
SQLException {
+    private OptimizerContextFactory initializeOptimizerContextFactory(final 
String schemaName, final Map<String, DataSource> actualDataSourceMap) throws 
SQLException {
         DataSource dataSource = actualDataSourceMap.get(schemaName);
         H2TableMetaDataLoader loader = new H2TableMetaDataLoader();
         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(tableMetaDataList, ruleConfigurations, schemaName, 
accessConfiguration, actualDataSourceMap);
-        return new OptimizeContextFactory(shardingSphereMetaDataMap);
+        return new OptimizerContextFactory(shardingSphereMetaDataMap);
     }
     
     private Map<String, String> initializeAccessConfiguration() {
diff --git 
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/ShardingSphereOptimizer.java
 
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/ShardingSphereOptimizer.java
index 9d66f69..cb9b560 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/ShardingSphereOptimizer.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/ShardingSphereOptimizer.java
@@ -26,24 +26,28 @@ import org.apache.calcite.sql.SqlNode;
 import 
org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContext;
+import org.apache.shardingsphere.infra.optimize.context.OptimizerContext;
 import 
org.apache.shardingsphere.infra.optimize.core.convert.SqlNodeConvertEngine;
 import org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine;
 import org.apache.shardingsphere.sql.parser.exception.SQLParsingException;
 
 import java.util.Properties;
 
+/**
+ * ShardingSphere optimizer.
+ */
 @RequiredArgsConstructor
 public final class ShardingSphereOptimizer {
     
     @Getter
-    private final OptimizeContext context;
+    private final OptimizerContext context;
     
     /**
      * Optimize.
-     * @param sql sql
+     * 
+     * @param sql SQL
      * @return rel node
-     * @throws SQLParsingException sql parsing exception
+     * @throws SQLParsingException SQL parsing exception
      */
     public RelNode optimize(final String sql) throws SQLParsingException {
         try {
diff --git 
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContext.java
 
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizerContext.java
similarity index 97%
rename from 
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContext.java
rename to 
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizerContext.java
index 851492d..fc6e820 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContext.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizerContext.java
@@ -32,7 +32,7 @@ import java.util.Properties;
  */
 @RequiredArgsConstructor
 @Getter
-public final class OptimizeContext {
+public final class OptimizerContext {
     
     private final DatabaseType databaseType;
     
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/OptimizerContextFactory.java
similarity index 96%
rename from 
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizeContextFactory.java
rename to 
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/OptimizerContextFactory.java
index 8a5c8ab..5aaaad9 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/OptimizerContextFactory.java
@@ -61,9 +61,9 @@ import java.util.Map;
 import java.util.Properties;
 
 /**
- * Optimize context factory.
+ * Optimizer context factory.
  */
-public final class OptimizeContextFactory {
+public final class OptimizerContextFactory {
     
     private static final String LEX_CAMEL_NAME = 
CalciteConnectionProperty.LEX.camelName();
     
@@ -95,7 +95,7 @@ public final class OptimizeContextFactory {
     
     private final RelOptCluster cluster;
     
-    public OptimizeContextFactory(final Map<String, ShardingSphereMetaData> 
metaDataMap) {
+    public OptimizerContextFactory(final Map<String, ShardingSphereMetaData> 
metaDataMap) {
         this.databaseType = metaDataMap.isEmpty() ? null : 
metaDataMap.values().iterator().next().getResource().getDatabaseType();
         initProperties(databaseType);
         typeFactory = new JavaTypeFactoryImpl();
@@ -173,11 +173,11 @@ public final class OptimizeContextFactory {
      * @param logicSchema logic schema
      * @return optimize context
      */
-    public OptimizeContext create(final String schemaName, final Schema 
logicSchema) {
+    public OptimizerContext create(final String schemaName, final Schema 
logicSchema) {
         CalciteCatalogReader catalogReader = 
createCalciteCatalogReader(schemaName, connectionConfig, typeFactory, 
logicSchema);
         SqlValidator validator = createSqlValidator(connectionConfig, 
typeFactory, catalogReader);
         SqlToRelConverter relConverter = createSqlToRelConverter(cluster, 
validator, catalogReader);
-        return new OptimizeContext(databaseType, props, schemaName, 
logicSchema, parserConfig, validator, relConverter);
+        return new OptimizerContext(databaseType, props, schemaName, 
logicSchema, parserConfig, validator, relConverter);
     }
     
     private CalciteCatalogReader createCalciteCatalogReader(final String 
schemaName, final CalciteConnectionConfig config,
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 d2748cd..9abda03 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().getMetaData().getSchemas().get(schemaName),
 metaDataContexts.getProps());
+                
metaDataContexts.getOptimizerContextFactory().getMetaData().getSchemas().get(schemaName),
 metaDataContexts.getProps());
     }
     
     /**
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index e1d6566..07d1a8d 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -168,7 +168,7 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
         driverJDBCExecutor = new 
DriverJDBCExecutor(connection.getSchemaName(), metaDataContexts, jdbcExecutor);
         rawExecutor = new RawExecutor(metaDataContexts.getExecutorEngine(), 
connection.isHoldTransaction(), metaDataContexts.getProps());
         // TODO Consider FederateRawExecutor
-        federateExecutor = new 
FederateJDBCExecutor(connection.getSchemaName(), 
metaDataContexts.getOptimizeContextFactory(), metaDataContexts.getProps(), 
jdbcExecutor);
+        federateExecutor = new 
FederateJDBCExecutor(connection.getSchemaName(), 
metaDataContexts.getOptimizerContextFactory(), metaDataContexts.getProps(), 
jdbcExecutor);
         batchPreparedStatementExecutor = new 
BatchPreparedStatementExecutor(metaDataContexts, jdbcExecutor, 
connection.getSchemaName());
         kernelProcessor = new KernelProcessor();
         statementsCacheable = 
isStatementsCacheable(metaDataContexts.getMetaData(connection.getSchemaName()).getRuleMetaData().getConfigurations());
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index b009e14..63503f7 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -132,7 +132,7 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         driverJDBCExecutor = new 
DriverJDBCExecutor(connection.getSchemaName(), metaDataContexts, jdbcExecutor);
         rawExecutor = new RawExecutor(metaDataContexts.getExecutorEngine(), 
connection.isHoldTransaction(), metaDataContexts.getProps());
         // TODO Consider FederateRawExecutor
-        federateExecutor = new 
FederateJDBCExecutor(connection.getSchemaName(), 
metaDataContexts.getOptimizeContextFactory(), metaDataContexts.getProps(), 
jdbcExecutor);
+        federateExecutor = new 
FederateJDBCExecutor(connection.getSchemaName(), 
metaDataContexts.getOptimizerContextFactory(), metaDataContexts.getProps(), 
jdbcExecutor);
         kernelProcessor = new KernelProcessor();
     }
     
diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
index 58b5e3b..607edfd 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import org.apache.shardingsphere.infra.lock.ShardingSphereLock;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.infra.state.StateContext;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 
@@ -49,7 +49,7 @@ public final class MetaDataContexts implements AutoCloseable {
     
     private final ExecutorEngine executorEngine;
     
-    private final OptimizeContextFactory optimizeContextFactory;
+    private final OptimizerContextFactory optimizerContextFactory;
     
     private final ConfigurationProperties props;
     
@@ -57,16 +57,16 @@ public final class MetaDataContexts implements 
AutoCloseable {
     
     public MetaDataContexts(final MetaDataPersistService 
metaDataPersistService) {
         this(metaDataPersistService, new LinkedHashMap<>(), new 
ShardingSphereRuleMetaData(Collections.emptyList(), Collections.emptyList()),
-                null, new ConfigurationProperties(new Properties()), new 
OptimizeContextFactory(new HashMap<>()));
+                null, new ConfigurationProperties(new Properties()), new 
OptimizerContextFactory(new HashMap<>()));
     }
     
     public MetaDataContexts(final MetaDataPersistService 
metaDataPersistService, final Map<String, ShardingSphereMetaData> metaDataMap, 
final ShardingSphereRuleMetaData globalRuleMetaData,
-                            final ExecutorEngine executorEngine, final 
ConfigurationProperties props, final OptimizeContextFactory 
optimizeContextFactory) {
+                            final ExecutorEngine executorEngine, final 
ConfigurationProperties props, final OptimizerContextFactory 
optimizerContextFactory) {
         this.metaDataPersistService = metaDataPersistService;
         this.metaDataMap = new LinkedHashMap<>(metaDataMap);
         this.globalRuleMetaData = globalRuleMetaData;
         this.executorEngine = executorEngine;
-        this.optimizeContextFactory = optimizeContextFactory;
+        this.optimizerContextFactory = optimizerContextFactory;
         this.props = props;
         stateContext = new StateContext();
     }
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 99d2de7..b37dc9a 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
@@ -33,7 +33,7 @@ import 
org.apache.shardingsphere.infra.metadata.schema.builder.SchemaBuilder;
 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.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.rule.builder.global.GlobalRulesBuilder;
 import 
org.apache.shardingsphere.infra.rule.builder.schema.SchemaRulesBuilderMaterials;
@@ -104,8 +104,8 @@ public final class MetaDataContextsBuilder {
             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);
+        OptimizerContextFactory optimizerContextFactory = new 
OptimizerContextFactory(actualMetaDataMap);
+        return new MetaDataContexts(metaDataPersistService, metaDataMap, 
buildGlobalSchemaMetaData(metaDataMap), executorEngine, props, 
optimizerContextFactory);
     }
     
     private Collection<String> getAllTableNames(final 
Collection<ShardingSphereRule> rules) {
diff --git 
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsTest.java
 
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsTest.java
index a283e3e..58b47e1 100644
--- 
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsTest.java
+++ 
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/MetaDataContextsTest.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.infra.config.properties.ConfigurationProperties
 import org.apache.shardingsphere.infra.database.DefaultSchema;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,7 +40,7 @@ import static org.mockito.Mockito.mock;
 public final class MetaDataContextsTest {
     
     @Mock
-    private OptimizeContextFactory optimizeContextFactory;
+    private OptimizerContextFactory optimizerContextFactory;
     
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private ShardingSphereMetaData metaData;
@@ -48,7 +48,7 @@ public final class MetaDataContextsTest {
     @Test
     public void assertGetDefaultMetaData() {
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), 
Collections.singletonMap(DefaultSchema.LOGIC_NAME, metaData), 
-                mock(ShardingSphereRuleMetaData.class), null, new 
ConfigurationProperties(new Properties()), optimizeContextFactory);
+                mock(ShardingSphereRuleMetaData.class), null, new 
ConfigurationProperties(new Properties()), optimizerContextFactory);
         assertThat(metaDataContexts.getMetaData(DefaultSchema.LOGIC_NAME), 
is(metaData));
     }
 }
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 cd52c69..9d4e062 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
@@ -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().getMetaData().getSchemas().put(event.getSchemaName(),
 new FederationSchemaMetaData(event.getSchemaName(), 
+        
contextManager.getMetaDataContexts().getOptimizerContextFactory().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().getMetaData().getSchemas().remove(schemaName);
+        
contextManager.getMetaDataContexts().getOptimizerContextFactory().getMetaData().getSchemas().remove(schemaName);
         
contextManager.renewMetaDataContexts(rebuildMetaDataContexts(schemaMetaData));
         ShardingSphereEventBus.getInstance().post(new 
DataSourceDeletedEvent(schemaName));
     }
@@ -159,7 +159,7 @@ 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().getMetaData().getSchemas().put(event.getSchemaName(),
+                
contextManager.getMetaDataContexts().getOptimizerContextFactory().getMetaData().getSchemas().put(event.getSchemaName(),
                         new FederationSchemaMetaData(event.getSchemaName(), 
metaData.getSchema().getTables()));
             }
             
contextManager.renewMetaDataContexts(rebuildMetaDataContexts(schemaMetaData));
@@ -253,27 +253,27 @@ public final class ClusterContextManagerCoordinator {
         
Preconditions.checkState(contextManager.getMetaDataContexts().getMetaDataPersistService().isPresent());
         return new 
MetaDataContexts(contextManager.getMetaDataContexts().getMetaDataPersistService().get(),
                 schemaMetaData, 
contextManager.getMetaDataContexts().getGlobalRuleMetaData(), 
contextManager.getMetaDataContexts().getExecutorEngine(),
-                contextManager.getMetaDataContexts().getProps(), 
contextManager.getMetaDataContexts().getOptimizeContextFactory());
+                contextManager.getMetaDataContexts().getProps(), 
contextManager.getMetaDataContexts().getOptimizerContextFactory());
     }
     
     private MetaDataContexts rebuildMetaDataContexts(final 
ConfigurationProperties props) {
         
Preconditions.checkState(contextManager.getMetaDataContexts().getMetaDataPersistService().isPresent());
         return new 
MetaDataContexts(contextManager.getMetaDataContexts().getMetaDataPersistService().get(),
                 contextManager.getMetaDataContexts().getMetaDataMap(), 
contextManager.getMetaDataContexts().getGlobalRuleMetaData(), 
contextManager.getMetaDataContexts().getExecutorEngine(),
-                props, 
contextManager.getMetaDataContexts().getOptimizeContextFactory());
+                props, 
contextManager.getMetaDataContexts().getOptimizerContextFactory());
     }
     
     private MetaDataContexts rebuildMetaDataContexts(final 
ShardingSphereRuleMetaData globalRuleMetaData) {
         
Preconditions.checkState(contextManager.getMetaDataContexts().getMetaDataPersistService().isPresent());
         return new 
MetaDataContexts(contextManager.getMetaDataContexts().getMetaDataPersistService().get(),
                 contextManager.getMetaDataContexts().getMetaDataMap(), 
globalRuleMetaData, contextManager.getMetaDataContexts().getExecutorEngine(),
-                contextManager.getMetaDataContexts().getProps(), 
contextManager.getMetaDataContexts().getOptimizeContextFactory());
+                contextManager.getMetaDataContexts().getProps(), 
contextManager.getMetaDataContexts().getOptimizerContextFactory());
     }
     
     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().getMetaData().getSchemas().put(schemaName,
 new FederationSchemaMetaData(schemaName, metaData.getSchema().getTables()));
+        
contextManager.getMetaDataContexts().getOptimizerContextFactory().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 deb833c..7bb8c24 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
@@ -35,7 +35,7 @@ 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.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import 
org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -120,7 +120,7 @@ public final class ClusterContextManagerCoordinatorTest {
         ClusterContextManagerBuilder builder = new 
ClusterContextManagerBuilder();
         contextManager = builder.build(configuration, new HashMap<>(), new 
HashMap<>(), new LinkedList<>(), new Properties(), false, null);
         contextManager.renewMetaDataContexts(new 
MetaDataContexts(mock(MetaDataPersistService.class), createMetaDataMap(), 
globalRuleMetaData, mock(ExecutorEngine.class),
-                new ConfigurationProperties(new Properties()), 
mockOptimizeContextFactory()));
+                new ConfigurationProperties(new Properties()), 
mockOptimizerContextFactory()));
         
contextManager.renewTransactionContexts(mock(TransactionContexts.class, 
RETURNS_DEEP_STUBS));
         coordinator = new 
ClusterContextManagerCoordinator(metaDataPersistService, contextManager);
     }
@@ -273,8 +273,8 @@ public final class ClusterContextManagerCoordinatorTest {
         return Collections.singletonMap("schema", metaData);
     }
     
-    private OptimizeContextFactory mockOptimizeContextFactory() {
-        OptimizeContextFactory result = mock(OptimizeContextFactory.class);
+    private OptimizerContextFactory mockOptimizerContextFactory() {
+        OptimizerContextFactory result = mock(OptimizerContextFactory.class);
         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 3822b0f..e7e8ff7 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().getMetaData().getSchemas().get(backendConnection.getSchemaName()),
+                
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getOptimizerContextFactory().getMetaData().getSchemas().get(backendConnection.getSchemaName()),
                 
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getProps()),
 backendConnection.getSchemaName());
     }
     
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
index b889839..6bb3613 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
@@ -86,7 +86,7 @@ public final class ProxySQLExecutor {
         MetaDataContexts metaDataContexts = 
ProxyContext.getInstance().getContextManager().getMetaDataContexts();
         rawExecutor = new RawExecutor(executorEngine, isSerialExecute, 
metaDataContexts.getProps());
         // TODO Consider FederateRawExecutor
-        federateExecutor = new 
FederateJDBCExecutor(backendConnection.getSchemaName(), 
metaDataContexts.getOptimizeContextFactory(),
+        federateExecutor = new 
FederateJDBCExecutor(backendConnection.getSchemaName(), 
metaDataContexts.getOptimizerContextFactory(),
                 metaDataContexts.getProps(), new JDBCExecutor(executorEngine, 
isSerialExecute));
     }
     
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 afb48ef..c18db31 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
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
 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.context.OptimizerContextFactory;
 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;
@@ -51,7 +51,7 @@ public final class DatabaseCommunicationEngineFactoryTest {
         Field contextManagerField = 
ProxyContext.getInstance().getClass().getDeclaredField("contextManager");
         contextManagerField.setAccessible(true);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(), 
mock(ShardingSphereRuleMetaData.class),
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mockOptimizeContextFactory());
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mockOptimizerContextFactory());
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
@@ -67,8 +67,8 @@ public final class DatabaseCommunicationEngineFactoryTest {
         return Collections.singletonMap("schema", result);
     }
 
-    private OptimizeContextFactory mockOptimizeContextFactory() {
-        OptimizeContextFactory result = mock(OptimizeContextFactory.class);
+    private OptimizerContextFactory mockOptimizerContextFactory() {
+        OptimizerContextFactory result = mock(OptimizerContextFactory.class);
         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 0ee391e..e7766b5 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
@@ -34,7 +34,7 @@ import 
org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
 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.context.OptimizerContextFactory;
 import 
org.apache.shardingsphere.infra.optimize.core.metadata.FederationMetaData;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
@@ -90,7 +90,7 @@ public final class DatabaseCommunicationEngineTest {
         when(backendConnection.getSchemaName()).thenReturn("schema");
         MetaDataContexts metaDataContexts = new MetaDataContexts(
                 mock(MetaDataPersistService.class), mockMetaDataMap(), 
mock(ShardingSphereRuleMetaData.class), mock(ExecutorEngine.class),
-                new ConfigurationProperties(new Properties()), 
mockOptimizeContextFactory());
+                new ConfigurationProperties(new Properties()), 
mockOptimizerContextFactory());
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         ProxyContext.getInstance().init(contextManager);
@@ -103,8 +103,8 @@ public final class DatabaseCommunicationEngineTest {
         return Collections.singletonMap("schema", result);
     }
 
-    private OptimizeContextFactory mockOptimizeContextFactory() {
-        OptimizeContextFactory result = mock(OptimizeContextFactory.class, 
RETURNS_DEEP_STUBS);
+    private OptimizerContextFactory mockOptimizerContextFactory() {
+        OptimizerContextFactory result = mock(OptimizerContextFactory.class, 
RETURNS_DEEP_STUBS);
         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/jdbc/connection/BackendConnectionTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java
index 651a2ba..a72b5f0 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngine;
 import 
org.apache.shardingsphere.proxy.backend.communication.jdbc.datasource.JDBCBackendDataSource;
@@ -95,7 +95,7 @@ public final class BackendConnectionTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), createMetaDataMap(),
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         TransactionContexts transactionContexts = createTransactionContexts();
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
@@ -414,6 +414,7 @@ public final class BackendConnectionTest {
         assertTrue(inUseDatabaseCommunicationEngines.isEmpty());
     }
     
+    @SuppressWarnings("unchecked")
     @SneakyThrows
     private Collection<DatabaseCommunicationEngine> 
getDatabaseCommunicationEngines() {
         Field field = 
BackendConnection.class.getDeclaredField("databaseCommunicationEngines");
@@ -421,6 +422,7 @@ public final class BackendConnectionTest {
         return (Collection<DatabaseCommunicationEngine>) 
field.get(backendConnection);
     }
     
+    @SuppressWarnings("unchecked")
     @SneakyThrows
     private Collection<DatabaseCommunicationEngine> 
getInUseDatabaseCommunicationEngines() {
         Field field = 
BackendConnection.class.getDeclaredField("inUseDatabaseCommunicationEngines");
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/datasource/JDBCBackendDataSourceTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/datasource/JDBCBackendDataSourceTest.java
index fdd877a..fb3b460 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/datasource/JDBCBackendDataSourceTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/datasource/JDBCBackendDataSourceTest.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.proxy.backend.communication.jdbc.datasource.fixture.CallTimeRecordDataSource;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -71,7 +71,7 @@ public final class JDBCBackendDataSourceTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), createMetaDataMap(), 
mock(ShardingSphereRuleMetaData.class),
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizeContextFactory.class));
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         TransactionContexts transactionContexts = createTransactionContexts();
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/BackendExecutorContextTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/BackendExecutorContextTest.java
index 8c446dd..70fd767 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/BackendExecutorContextTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/BackendExecutorContextTest.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import 
org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.transaction.context.TransactionContexts;
 import org.junit.Before;
@@ -42,7 +42,7 @@ public final class BackendExecutorContextTest {
     @Before
     public void setUp() {
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), Collections.emptyMap(), 
mock(ShardingSphereRuleMetaData.class), 
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizeContextFactory.class));
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizerContextFactory.class));
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         when(contextManager.getTransactionContexts()).thenReturn(new 
TransactionContexts());
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
index 7ecd6f4..de4eef3 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.proxy.backend.exception.NoDatabaseSelectedException;
 import org.apache.shardingsphere.transaction.context.TransactionContexts;
@@ -70,7 +70,7 @@ public final class ProxyContextTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         assertTrue(ProxyContext.getInstance().schemaExists("schema"));
@@ -94,7 +94,7 @@ public final class ProxyContextTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         ProxyContext.getInstance().getMetaData("schema1");
@@ -107,7 +107,7 @@ public final class ProxyContextTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         assertThat(metaDataMap.get("schema"), 
is(ProxyContext.getInstance().getMetaData("schema")));
@@ -120,7 +120,7 @@ public final class ProxyContextTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         assertThat(new 
LinkedHashSet<>(ProxyContext.getInstance().getAllSchemaNames()), 
is(metaDataMap.keySet()));
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseOperateBackendHandlerFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseOperateBackendHandlerFactoryTest.java
index 9d98b8e..b5d6f4c 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseOperateBackendHandlerFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseOperateBackendHandlerFactoryTest.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 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.context.OptimizerContextFactory;
 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;
@@ -62,7 +62,7 @@ public final class DatabaseOperateBackendHandlerFactoryTest {
     public void setUp() throws IllegalAccessException, NoSuchFieldException {
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                getMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                getMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         ProxyContext.getInstance().init(contextManager);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
index 44a57b9..d7adf78 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
@@ -23,7 +23,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.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
@@ -55,7 +55,7 @@ public final class ShowCreateDatabaseExecutorTest {
         Field contextManagerField = 
ProxyContext.getInstance().getClass().getDeclaredField("contextManager");
         contextManagerField.setAccessible(true);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCurrentUserExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCurrentUserExecutorTest.java
index 767ae7d..6241a36 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCurrentUserExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowCurrentUserExecutorTest.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import 
org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.metadata.user.Grantee;
 import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
@@ -59,7 +59,7 @@ public final class ShowCurrentUserExecutorTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), new HashMap<>(), 
mockShardingSphereRuleMetaData(),
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizeContextFactory.class));
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowDatabasesExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowDatabasesExecutorTest.java
index b6f3e61..f133a3e 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowDatabasesExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowDatabasesExecutorTest.java
@@ -25,7 +25,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.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 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;
@@ -63,7 +63,7 @@ public final class ShowDatabasesExecutorTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(), 
mock(ShardingSphereRuleMetaData.class),
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizeContextFactory.class));
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesExecutorTest.java
index 1c1a172..ee1fed1 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesExecutorTest.java
@@ -25,7 +25,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.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 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;
@@ -58,7 +58,7 @@ public final class ShowTablesExecutorTest {
         Field contextManagerField = 
ProxyContext.getInstance().getClass().getDeclaredField("contextManager");
         contextManagerField.setAccessible(true);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesStatusExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesStatusExecutorTest.java
index b868c96..3b6475f 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesStatusExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/ShowTablesStatusExecutorTest.java
@@ -23,7 +23,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.metadata.user.Grantee;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
@@ -61,7 +61,7 @@ public final class ShowTablesStatusExecutorTest {
         Field contextManagerField = 
ProxyContext.getInstance().getClass().getDeclaredField("contextManager");
         contextManagerField.setAccessible(true);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                metaDataMap, mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UseDatabaseExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UseDatabaseExecutorTest.java
index 9e50763..cbcf149 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UseDatabaseExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UseDatabaseExecutorTest.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
 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.context.OptimizerContextFactory;
 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;
@@ -61,7 +61,7 @@ public final class UseDatabaseExecutorTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                getMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                getMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/information/SelectInformationExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/information/SelectInformationExecutorTest.java
index 77a2898..e17e3a0 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/information/SelectInformationExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/information/SelectInformationExecutorTest.java
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.infra.metadata.resource.DataSourcesMetaData;
 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.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
@@ -72,7 +72,7 @@ public final class SelectInformationExecutorTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                new HashMap<>(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                new HashMap<>(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         ProxyContext.getInstance().init(contextManager);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
index 6d668b0..be925f6 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/BroadcastDatabaseBackendHandlerTest.java
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngine;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngineFactory;
@@ -80,7 +80,7 @@ public final class BroadcastDatabaseBackendHandlerTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(), 
mock(ShardingSphereRuleMetaData.class),
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizeContextFactory.class));
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         
when(backendConnection.getSchemaName()).thenReturn(String.format(SCHEMA_PATTERN,
 0));
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
index 96b4bb2..af0af70 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngine;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngineFactory;
@@ -81,7 +81,7 @@ public final class SchemaAssignedDatabaseBackendHandlerTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(),
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         
when(backendConnection.getSchemaName()).thenReturn(String.format(SCHEMA_PATTERN,
 0));
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
index 5052eef..2d9cd17 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngine;
 import 
org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicationEngineFactory;
@@ -81,7 +81,7 @@ public final class UnicastDatabaseBackendHandlerTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(),
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         
when(backendConnection.getSchemaName()).thenReturn(String.format(SCHEMA_PATTERN,
 0));
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/DistSQLBackendHandlerFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/DistSQLBackendHandlerFactoryTest.java
index 6926cf7..980144e 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/DistSQLBackendHandlerFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/DistSQLBackendHandlerFactoryTest.java
@@ -29,7 +29,7 @@ import 
org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 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.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
@@ -79,7 +79,7 @@ public final class DistSQLBackendHandlerFactoryTest {
         Field contextManagerField = 
ProxyContext.getInstance().getClass().getDeclaredField("contextManager");
         contextManagerField.setAccessible(true);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(),
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/SetVariableBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/SetVariableBackendHandlerTest.java
index 6f40477..22e00a5 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/SetVariableBackendHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/SetVariableBackendHandlerTest.java
@@ -27,7 +27,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.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 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;
@@ -66,7 +66,7 @@ public final class SetVariableBackendHandlerTest {
         Field contextManagerField = 
ProxyContext.getInstance().getClass().getDeclaredField("contextManager");
         contextManagerField.setAccessible(true);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                getMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                getMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
index 1ac8408..ce426a3 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-core/src/test/java/org/apache/shardingsphere/proxy/frontend/protocol/FrontDatabaseProtocolTypeFactoryTest.java
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.junit.Test;
@@ -52,7 +52,7 @@ public final class FrontDatabaseProtocolTypeFactoryTest {
     @Test
     public void 
assertGetDatabaseTypeWhenThrowShardingSphereConfigurationException() {
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                Collections.emptyMap(), 
mock(ShardingSphereRuleMetaData.class), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizeContextFactory.class));
+                Collections.emptyMap(), 
mock(ShardingSphereRuleMetaData.class), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizerContextFactory.class));
         setContextManager(metaDataContexts);
         assertTrue(metaDataContexts.getMetaDataMap().isEmpty());
         
assertThat(FrontDatabaseProtocolTypeFactory.getDatabaseType().getName(), 
is("MySQL"));
@@ -61,7 +61,7 @@ public final class FrontDatabaseProtocolTypeFactoryTest {
     @Test
     public void 
assertGetDatabaseTypeInstanceOfMySQLDatabaseTypeFromMetaDataContextsSchemaName()
 {
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                mockMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                mockMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         setContextManager(metaDataContexts);
         assertFalse(metaDataContexts.getMetaDataMap().isEmpty());
         String configuredDatabaseType = 
metaDataContexts.getProps().getValue(ConfigurationPropertyKey.PROXY_FRONTEND_DATABASE_PROTOCOL_TYPE);
@@ -77,7 +77,7 @@ public final class FrontDatabaseProtocolTypeFactoryTest {
         Properties props = new Properties();
         
props.setProperty(ConfigurationPropertyKey.PROXY_FRONTEND_DATABASE_PROTOCOL_TYPE.getKey(),
 "PostgreSQL");
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
-                mockMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(props), 
mock(OptimizeContextFactory.class));
+                mockMetaDataMap(), mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(props), 
mock(OptimizerContextFactory.class));
         setContextManager(metaDataContexts);
         assertFalse(metaDataContexts.getMetaDataMap().isEmpty());
         String configuredDatabaseType = 
metaDataContexts.getProps().getValue(ConfigurationPropertyKey.PROXY_FRONTEND_DATABASE_PROTOCOL_TYPE);
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
index f9c57bd..69237b6 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
@@ -37,7 +37,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.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.frontend.authentication.AuthenticationResult;
@@ -169,7 +169,7 @@ public final class MySQLFrontendEngineTest {
     
     private MetaDataContexts getMetaDataContexts(final ShardingSphereUser 
user) {
         return new MetaDataContexts(mock(MetaDataPersistService.class), 
getMetaDataMap(),
-                buildGlobalRuleMetaData(user), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizeContextFactory.class));
+                buildGlobalRuleMetaData(user), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizerContextFactory.class));
     }
     
     private Map<String, ShardingSphereMetaData> getMetaDataMap() {
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
index 0a92d1c..e3a051f 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
@@ -33,7 +33,7 @@ import 
org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 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.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.frontend.authentication.AuthenticationResultBuilder;
@@ -154,7 +154,7 @@ public final class MySQLAuthenticationEngineTest {
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
                 Collections.singletonMap("sharding_db", 
mock(ShardingSphereMetaData.class)), mock(ShardingSphereRuleMetaData.class),
-                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizeContextFactory.class));
+                mock(ExecutorEngine.class), new ConfigurationProperties(new 
Properties()), mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
index 3615b75..bf1719b 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
@@ -32,7 +32,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.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
@@ -143,7 +143,7 @@ public final class MySQLAuthenticationHandlerTest {
     
     private MetaDataContexts getMetaDataContexts(final ShardingSphereUser 
user, final boolean isNeedSuper) throws NoSuchFieldException, 
IllegalAccessException {
         return new MetaDataContexts(mock(MetaDataPersistService.class), 
getMetaDataMap(),
-                buildGlobalRuleMetaData(user, isNeedSuper), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                buildGlobalRuleMetaData(user, isNeedSuper), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
     }
     
     private Map<String, ShardingSphereMetaData> getMetaDataMap() {
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 a50b2c7..51f49f4 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
@@ -33,7 +33,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 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.context.OptimizerContextFactory;
 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;
@@ -82,7 +82,7 @@ public final class MySQLCommandExecutorFactoryTest {
         Map<String, ShardingSphereMetaData> metaDataMap = 
Collections.singletonMap("logic_db", metaData);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), metaDataMap,
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mockOptimizeContextFactory());
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mockOptimizerContextFactory());
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
     }
@@ -94,8 +94,8 @@ public final class MySQLCommandExecutorFactoryTest {
         return result;
     }
 
-    private OptimizeContextFactory mockOptimizeContextFactory() {
-        OptimizeContextFactory result = mock(OptimizeContextFactory.class, 
RETURNS_DEEP_STUBS);
+    private OptimizerContextFactory mockOptimizerContextFactory() {
+        OptimizerContextFactory result = mock(OptimizerContextFactory.class, 
RETURNS_DEEP_STUBS);
         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 7222f9c..b1a1ba4 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
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 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.context.OptimizerContextFactory;
 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;
@@ -68,7 +68,7 @@ public final class MySQLComStmtExecuteExecutorTest {
         ShardingSphereMetaData metaData = mockMetaData();
         Map<String, ShardingSphereMetaData> metaDataMap = 
Collections.singletonMap("logic_db", metaData);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), metaDataMap,
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mockOptimizeContextFactory());
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mockOptimizerContextFactory());
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
@@ -81,8 +81,8 @@ public final class MySQLComStmtExecuteExecutorTest {
         return result;
     }
     
-    private OptimizeContextFactory mockOptimizeContextFactory() {
-        OptimizeContextFactory result = mock(OptimizeContextFactory.class);
+    private OptimizerContextFactory mockOptimizerContextFactory() {
+        OptimizerContextFactory result = mock(OptimizerContextFactory.class);
         when(result.getMetaData()).thenReturn(new 
FederationMetaData(Collections.emptyMap()));
         return result;
     }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
index 1cc8900..0cd0db4 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
@@ -35,7 +35,7 @@ import 
org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import 
org.apache.shardingsphere.infra.metadata.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.frontend.authentication.AuthenticationResult;
@@ -145,7 +145,7 @@ public final class PostgreSQLAuthenticationEngineTest {
     
     private MetaDataContexts getMetaDataContexts(final ShardingSphereUser 
user) {
         return new MetaDataContexts(mock(MetaDataPersistService.class), new 
LinkedHashMap<>(),
-                buildGlobalRuleMetaData(user), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizeContextFactory.class));
+                buildGlobalRuleMetaData(user), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizerContextFactory.class));
     }
     
     private ShardingSphereRuleMetaData buildGlobalRuleMetaData(final 
ShardingSphereUser user) {
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationHandlerTest.java
index 804b68b..cada804 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationHandlerTest.java
@@ -38,7 +38,7 @@ 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.metadata.user.ShardingSphereUser;
-import org.apache.shardingsphere.infra.optimize.context.OptimizeContextFactory;
+import 
org.apache.shardingsphere.infra.optimize.context.OptimizerContextFactory;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.junit.Before;
@@ -131,7 +131,7 @@ public final class PostgreSQLAuthenticationHandlerTest {
     
     private MetaDataContexts getMetaDataContexts(final ShardingSphereUser 
user) {
         return new MetaDataContexts(mock(MetaDataPersistService.class), 
getMetaDataMap(),
-                buildGlobalRuleMetaData(user), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizeContextFactory.class));
+                buildGlobalRuleMetaData(user), mock(ExecutorEngine.class), new 
ConfigurationProperties(new Properties()), mock(OptimizerContextFactory.class));
     }
     
     private ByteBuf createByteBuf(final int initialCapacity, final int 
maxCapacity) {
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/parse/PostgreSQLComParseExecutorTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/parse/PostgreSQLComParseExecutorTest.java
index faf0e2e..e34c6c4 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/parse/PostgreSQLComParseExecutorTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/parse/PostgreSQLComParseExecutorTest.java
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 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.context.OptimizerContextFactory;
 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;
@@ -74,7 +74,7 @@ public final class PostgreSQLComParseExecutorTest {
         contextManagerField.setAccessible(true);
         ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), getMetaDataMap(),
-                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizeContextFactory.class));
+                mock(ShardingSphereRuleMetaData.class), 
mock(ExecutorEngine.class), new ConfigurationProperties(new Properties()), 
mock(OptimizerContextFactory.class));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         contextManagerField.set(ProxyContext.getInstance(), contextManager);
         PostgreSQLComParseExecutor actual = new 
PostgreSQLComParseExecutor(parsePacket, backendConnection);

Reply via email to