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

sunnianjun 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 fc37c1837db Rename DatabaseCommunicationEngine to DatabaseConnector 
(#24247)
fc37c1837db is described below

commit fc37c1837dbecc00df55654c3e90aa09ef7001bd
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 19 21:23:16 2023 +0800

    Rename DatabaseCommunicationEngine to DatabaseConnector (#24247)
---
 ...unicationEngine.java => DatabaseConnector.java} | 10 ++---
 ...eFactory.java => DatabaseConnectorFactory.java} | 14 +++----
 .../proxy/backend/connector/ProxySQLExecutor.java  |  4 +-
 .../connector/jdbc/executor/ProxyJDBCExecutor.java |  8 ++--
 .../callback/ProxyJDBCExecutorCallback.java        | 12 +++---
 .../callback/ProxyJDBCExecutorCallbackFactory.java | 10 ++---
 .../ProxyPreparedStatementExecutorCallback.java    |  6 +--
 .../impl/ProxyStatementExecutorCallback.java       |  6 +--
 .../admin/mysql/MySQLSetVariableAdminExecutor.java |  6 +--
 .../executor/UnicastResourceShowExecutor.java      | 18 ++++-----
 .../data/DatabaseBackendHandlerFactory.java        |  4 +-
 .../data/impl/UnicastDatabaseBackendHandler.java   | 20 +++++-----
 .../TransactionBackendHandlerFactory.java          |  4 +-
 .../handler/transaction/TransactionXAHandler.java  |  8 ++--
 ...Test.java => DatabaseConnectorFactoryTest.java} | 15 ++++---
 .../backend/connector/ProxySQLExecutorTest.java    | 24 +++++------
 ...nEngineTest.java => DatabaseConnectorTest.java} | 40 +++++++++----------
 .../jdbc/connection/BackendConnectionTest.java     | 46 +++++++++++-----------
 .../handler/ProxyBackendHandlerFactoryTest.java    |  4 +-
 .../mysql/MySQLSetVariableAdminExecutorTest.java   |  4 +-
 .../data/DatabaseBackendHandlerFactoryTest.java    |  6 +--
 .../impl/UnicastDatabaseBackendHandlerTest.java    | 18 ++++-----
 .../TransactionBackendHandlerFactoryTest.java      | 14 +++----
 .../fieldlist/MySQLComFieldListPacketExecutor.java | 16 ++++----
 24 files changed, 158 insertions(+), 159 deletions(-)

diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngine.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
similarity index 97%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngine.java
rename to 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index fb34f0dd3cb..56a9f3aa1af 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngine.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -88,9 +88,9 @@ import java.util.Optional;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
- * Database communication engine.
+ * Database connector.
  */
-public final class DatabaseCommunicationEngine implements 
DatabaseBackendHandler {
+public final class DatabaseConnector implements DatabaseBackendHandler {
     
     private final ProxySQLExecutor proxySQLExecutor;
     
@@ -112,7 +112,7 @@ public final class DatabaseCommunicationEngine implements 
DatabaseBackendHandler
     
     private MergedResult mergedResult;
     
-    public DatabaseCommunicationEngine(final String driverType, final 
ShardingSphereDatabase database, final QueryContext queryContext, final 
BackendConnection backendConnection) {
+    public DatabaseConnector(final String driverType, final 
ShardingSphereDatabase database, final QueryContext queryContext, final 
BackendConnection backendConnection) {
         SQLStatementContext<?> sqlStatementContext = 
queryContext.getSqlStatementContext();
         failedIfBackendNotReady(backendConnection.getConnectionSession(), 
sqlStatementContext);
         this.driverType = driverType;
@@ -120,7 +120,7 @@ public final class DatabaseCommunicationEngine implements 
DatabaseBackendHandler
         this.queryContext = queryContext;
         this.backendConnection = backendConnection;
         if (sqlStatementContext instanceof CursorAvailable) {
-            
DatabaseCommunicationEngine.this.prepareCursorStatementContext((CursorAvailable)
 sqlStatementContext, backendConnection.getConnectionSession());
+            
DatabaseConnector.this.prepareCursorStatementContext((CursorAvailable) 
sqlStatementContext, backendConnection.getConnectionSession());
         }
         proxySQLExecutor = new ProxySQLExecutor(driverType, backendConnection, 
this);
     }
@@ -342,7 +342,7 @@ public final class DatabaseCommunicationEngine implements 
DatabaseBackendHandler
     }
     
     /**
-     * Close database communication engine.
+     * Close database connector.
      *
      * @throws SQLException SQL exception
      */
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngineFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactory.java
similarity index 75%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngineFactory.java
rename to 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactory.java
index b1119b68e20..6520bc97a0b 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngineFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactory.java
@@ -25,34 +25,34 @@ import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 
 /**
- * Database communication engine factory.
+ * Database connector factory.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class DatabaseCommunicationEngineFactory {
+public final class DatabaseConnectorFactory {
     
-    private static final DatabaseCommunicationEngineFactory INSTANCE = new 
DatabaseCommunicationEngineFactory();
+    private static final DatabaseConnectorFactory INSTANCE = new 
DatabaseConnectorFactory();
     
     /**
      * Get backend handler factory instance.
      *
      * @return backend handler factory
      */
-    public static DatabaseCommunicationEngineFactory getInstance() {
+    public static DatabaseConnectorFactory getInstance() {
         return INSTANCE;
     }
     
     /**
-     * Create new instance of {@link DatabaseCommunicationEngine}.
+     * Create new instance of {@link DatabaseConnector}.
      *
      * @param queryContext query context
      * @param backendConnection backend connection
      * @param preferPreparedStatement use prepared statement as possible
      * @return created instance
      */
-    public DatabaseCommunicationEngine newDatabaseCommunicationEngine(final 
QueryContext queryContext, final BackendConnection backendConnection, final 
boolean preferPreparedStatement) {
+    public DatabaseConnector newInstance(final QueryContext queryContext, 
final BackendConnection backendConnection, final boolean 
preferPreparedStatement) {
         ShardingSphereDatabase database = 
ProxyContext.getInstance().getDatabase(backendConnection.getConnectionSession().getDatabaseName());
         String driverType = preferPreparedStatement || 
!queryContext.getParameters().isEmpty() ? JDBCDriverType.PREPARED_STATEMENT : 
JDBCDriverType.STATEMENT;
-        DatabaseCommunicationEngine result = new 
DatabaseCommunicationEngine(driverType, database, queryContext, 
backendConnection);
+        DatabaseConnector result = new DatabaseConnector(driverType, database, 
queryContext, backendConnection);
         backendConnection.add(result);
         return result;
     }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
index 3d75f2a4e14..c598ddf8beb 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
@@ -82,12 +82,12 @@ public final class ProxySQLExecutor {
     
     private final RawExecutor rawExecutor;
     
-    public ProxySQLExecutor(final String type, final BackendConnection 
backendConnection, final DatabaseCommunicationEngine 
databaseCommunicationEngine) {
+    public ProxySQLExecutor(final String type, final BackendConnection 
backendConnection, final DatabaseConnector databaseConnector) {
         this.type = type;
         this.backendConnection = backendConnection;
         ExecutorEngine executorEngine = 
BackendExecutorContext.getInstance().getExecutorEngine();
         ConnectionContext connectionContext = 
backendConnection.getConnectionSession().getConnectionContext();
-        jdbcExecutor = new ProxyJDBCExecutor(type, 
backendConnection.getConnectionSession(), databaseCommunicationEngine, new 
JDBCExecutor(executorEngine, connectionContext));
+        jdbcExecutor = new ProxyJDBCExecutor(type, 
backendConnection.getConnectionSession(), databaseConnector, new 
JDBCExecutor(executorEngine, connectionContext));
         rawExecutor = new RawExecutor(executorEngine, connectionContext);
     }
     
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
index 7551425525a..d4390aea87a 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/ProxyJDBCExecutor.java
@@ -28,7 +28,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult
 import 
org.apache.shardingsphere.infra.executor.sql.process.ExecuteProcessEngine;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.ProxyJDBCExecutorCallbackFactory;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -47,7 +47,7 @@ public final class ProxyJDBCExecutor {
     
     private final ConnectionSession connectionSession;
     
-    private final DatabaseCommunicationEngine databaseCommunicationEngine;
+    private final DatabaseConnector databaseConnector;
     
     private final JDBCExecutor jdbcExecutor;
     
@@ -72,9 +72,9 @@ public final class ProxyJDBCExecutor {
             executeProcessEngine.initializeExecution(executionGroupContext, 
queryContext);
             SQLStatementContext<?> context = 
queryContext.getSqlStatementContext();
             return jdbcExecutor.execute(executionGroupContext,
-                    ProxyJDBCExecutorCallbackFactory.newInstance(type, 
protocolType, storageTypes, context.getSqlStatement(), 
databaseCommunicationEngine, isReturnGeneratedKeys, isExceptionThrown,
+                    ProxyJDBCExecutorCallbackFactory.newInstance(type, 
protocolType, storageTypes, context.getSqlStatement(), databaseConnector, 
isReturnGeneratedKeys, isExceptionThrown,
                             true),
-                    ProxyJDBCExecutorCallbackFactory.newInstance(type, 
protocolType, storageTypes, context.getSqlStatement(), 
databaseCommunicationEngine, isReturnGeneratedKeys, isExceptionThrown,
+                    ProxyJDBCExecutorCallbackFactory.newInstance(type, 
protocolType, storageTypes, context.getSqlStatement(), databaseConnector, 
isReturnGeneratedKeys, isExceptionThrown,
                             false));
         } finally {
             executeProcessEngine.cleanExecution();
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallback.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallback.java
index 4cd104a5eca..709ff34b153 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallback.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallback.java
@@ -30,7 +30,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.dr
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.stream.JDBCStreamQueryResult;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.update.UpdateResult;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
@@ -46,7 +46,7 @@ import java.util.Optional;
  */
 public abstract class ProxyJDBCExecutorCallback extends 
JDBCExecutorCallback<ExecuteResult> {
     
-    private final DatabaseCommunicationEngine databaseCommunicationEngine;
+    private final DatabaseConnector databaseConnector;
     
     private final boolean isReturnGeneratedKeys;
     
@@ -55,10 +55,10 @@ public abstract class ProxyJDBCExecutorCallback extends 
JDBCExecutorCallback<Exe
     private boolean hasMetaData;
     
     public ProxyJDBCExecutorCallback(final DatabaseType protocolType, final 
Map<String, DatabaseType> storageTypes, final SQLStatement sqlStatement,
-                                     final DatabaseCommunicationEngine 
databaseCommunicationEngine,
+                                     final DatabaseConnector databaseConnector,
                                      final boolean isReturnGeneratedKeys, 
final boolean isExceptionThrown, final boolean fetchMetaData) {
         super(protocolType, storageTypes, sqlStatement, isExceptionThrown);
-        this.databaseCommunicationEngine = databaseCommunicationEngine;
+        this.databaseConnector = databaseConnector;
         this.isReturnGeneratedKeys = isReturnGeneratedKeys;
         this.fetchMetaData = fetchMetaData;
     }
@@ -73,10 +73,10 @@ public abstract class ProxyJDBCExecutorCallback extends 
JDBCExecutorCallback<Exe
     }
     
     private ExecuteResult executeSQL(final String sql, final Statement 
statement, final ConnectionMode connectionMode, final boolean withMetaData, 
final DatabaseType storageType) throws SQLException {
-        databaseCommunicationEngine.add(statement);
+        databaseConnector.add(statement);
         if (execute(sql, statement, isReturnGeneratedKeys)) {
             ResultSet resultSet = statement.getResultSet();
-            databaseCommunicationEngine.add(resultSet);
+            databaseConnector.add(resultSet);
             return createQueryResult(resultSet, connectionMode, storageType);
         }
         return new UpdateResult(statement.getUpdateCount(), 
isReturnGeneratedKeys ? getGeneratedKey(statement) : 0L);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
index 0e14c2724ec..4b95dc5545a 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/ProxyJDBCExecutorCallbackFactory.java
@@ -22,7 +22,7 @@ import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.JDBCDriverType;
 import 
org.apache.shardingsphere.infra.util.exception.external.sql.type.generic.UnsupportedSQLOperationException;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.impl.ProxyPreparedStatementExecutorCallback;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.impl.ProxyStatementExecutorCallback;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -42,20 +42,20 @@ public final class ProxyJDBCExecutorCallbackFactory {
      * @param protocolType protocol type
      * @param storageTypes storage types
      * @param sqlStatement SQL statement
-     * @param databaseCommunicationEngine database communication engine
+     * @param databaseConnector database connector
      * @param isReturnGeneratedKeys is return generated keys or not
      * @param isExceptionThrown is exception thrown or not
      * @param isFetchMetaData is fetch meta data or not
      * @return created instance
      */
     public static ProxyJDBCExecutorCallback newInstance(final String type, 
final DatabaseType protocolType, final Map<String, DatabaseType> storageTypes, 
final SQLStatement sqlStatement,
-                                                        final 
DatabaseCommunicationEngine databaseCommunicationEngine, final boolean 
isReturnGeneratedKeys, final boolean isExceptionThrown,
+                                                        final 
DatabaseConnector databaseConnector, final boolean isReturnGeneratedKeys, final 
boolean isExceptionThrown,
                                                         final boolean 
isFetchMetaData) {
         if (JDBCDriverType.STATEMENT.equals(type)) {
-            return new ProxyStatementExecutorCallback(protocolType, 
storageTypes, sqlStatement, databaseCommunicationEngine, isReturnGeneratedKeys, 
isExceptionThrown, isFetchMetaData);
+            return new ProxyStatementExecutorCallback(protocolType, 
storageTypes, sqlStatement, databaseConnector, isReturnGeneratedKeys, 
isExceptionThrown, isFetchMetaData);
         }
         if (JDBCDriverType.PREPARED_STATEMENT.equals(type)) {
-            return new ProxyPreparedStatementExecutorCallback(protocolType, 
storageTypes, sqlStatement, databaseCommunicationEngine, isReturnGeneratedKeys, 
isExceptionThrown, isFetchMetaData);
+            return new ProxyPreparedStatementExecutorCallback(protocolType, 
storageTypes, sqlStatement, databaseConnector, isReturnGeneratedKeys, 
isExceptionThrown, isFetchMetaData);
         }
         throw new UnsupportedSQLOperationException(String.format("Unsupported 
driver type: `%s`", type));
     }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyPreparedStatementExecutorCallback.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyPreparedStatementExecutorCallback.java
index 9a39d399872..1bbcc969579 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyPreparedStatementExecutorCallback.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyPreparedStatementExecutorCallback.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.impl;
 
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.ProxyJDBCExecutorCallback;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
@@ -33,9 +33,9 @@ import java.util.Map;
 public final class ProxyPreparedStatementExecutorCallback extends 
ProxyJDBCExecutorCallback {
     
     public ProxyPreparedStatementExecutorCallback(final DatabaseType 
protocolType, final Map<String, DatabaseType> storageTypes, final SQLStatement 
sqlStatement,
-                                                  final 
DatabaseCommunicationEngine databaseCommunicationEngine, final boolean 
isReturnGeneratedKeys,
+                                                  final DatabaseConnector 
databaseConnector, final boolean isReturnGeneratedKeys,
                                                   final boolean 
isExceptionThrown, final boolean fetchMetaData) {
-        super(protocolType, storageTypes, sqlStatement, 
databaseCommunicationEngine, isReturnGeneratedKeys, isExceptionThrown, 
fetchMetaData);
+        super(protocolType, storageTypes, sqlStatement, databaseConnector, 
isReturnGeneratedKeys, isExceptionThrown, fetchMetaData);
     }
     
     @Override
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyStatementExecutorCallback.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyStatementExecutorCallback.java
index 97f1fbead89..396ce3d6214 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyStatementExecutorCallback.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/executor/callback/impl/ProxyStatementExecutorCallback.java
@@ -18,7 +18,7 @@
 package 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.impl;
 
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.ProxyJDBCExecutorCallback;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
@@ -32,9 +32,9 @@ import java.util.Map;
 public final class ProxyStatementExecutorCallback extends 
ProxyJDBCExecutorCallback {
     
     public ProxyStatementExecutorCallback(final DatabaseType protocolType, 
final Map<String, DatabaseType> storageTypes, final SQLStatement sqlStatement,
-                                          final DatabaseCommunicationEngine 
databaseCommunicationEngine, final boolean isReturnGeneratedKeys,
+                                          final DatabaseConnector 
databaseConnector, final boolean isReturnGeneratedKeys,
                                           final boolean isExceptionThrown, 
final boolean fetchMetaData) {
-        super(protocolType, storageTypes, sqlStatement, 
databaseCommunicationEngine, isReturnGeneratedKeys, isExceptionThrown, 
fetchMetaData);
+        super(protocolType, storageTypes, sqlStatement, databaseConnector, 
isReturnGeneratedKeys, isExceptionThrown, fetchMetaData);
     }
     
     @Override
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
index e1796caf31c..a076b026cb9 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.parser.rule.SQLParserRule;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutor;
 import 
org.apache.shardingsphere.proxy.backend.handler.data.DatabaseBackendHandler;
@@ -85,8 +85,8 @@ public final class MySQLSetVariableAdminExecutor implements 
DatabaseAdminExecuto
         SQLStatement sqlStatement = 
sqlParserRule.getSQLParserEngine(TypedSPILoader.getService(DatabaseType.class, 
"MySQL").getType()).parse(sql, false);
         SQLStatementContext<?> sqlStatementContext = 
SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
                 sqlStatement, connectionSession.getDefaultDatabaseName());
-        DatabaseBackendHandler databaseBackendHandler = 
DatabaseCommunicationEngineFactory.getInstance()
-                .newDatabaseCommunicationEngine(new 
QueryContext(sqlStatementContext, sql, Collections.emptyList()), 
connectionSession.getBackendConnection(), false);
+        DatabaseBackendHandler databaseBackendHandler = 
DatabaseConnectorFactory.getInstance()
+                .newInstance(new QueryContext(sqlStatementContext, sql, 
Collections.emptyList()), connectionSession.getBackendConnection(), false);
         try {
             databaseBackendHandler.execute();
         } finally {
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
index 345fb3eeae0..b7871fb1517 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
@@ -32,8 +32,8 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.type.me
 import org.apache.shardingsphere.infra.merge.result.MergedResult;
 import 
org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.backend.exception.StorageUnitNotExistedException;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminQueryExecutor;
@@ -59,7 +59,7 @@ import java.util.stream.Collectors;
 @Getter
 public final class UnicastResourceShowExecutor implements 
DatabaseAdminQueryExecutor {
     
-    private final DatabaseCommunicationEngineFactory 
databaseCommunicationEngineFactory = 
DatabaseCommunicationEngineFactory.getInstance();
+    private final DatabaseConnectorFactory databaseConnectorFactory = 
DatabaseConnectorFactory.getInstance();
     
     private final SelectStatement sqlStatement;
     
@@ -67,7 +67,7 @@ public final class UnicastResourceShowExecutor implements 
DatabaseAdminQueryExec
     
     private MergedResult mergedResult;
     
-    private DatabaseCommunicationEngine databaseCommunicationEngine;
+    private DatabaseConnector databaseConnector;
     
     private ResponseHeader responseHeader;
     
@@ -80,13 +80,13 @@ public final class UnicastResourceShowExecutor implements 
DatabaseAdminQueryExec
             connectionSession.setCurrentDatabase(databaseName);
             SQLStatementContext<?> sqlStatementContext = 
SQLStatementContextFactory.newInstance(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData(),
                     sqlStatement, connectionSession.getDefaultDatabaseName());
-            databaseCommunicationEngine = 
databaseCommunicationEngineFactory.newDatabaseCommunicationEngine(new 
QueryContext(sqlStatementContext, sql, Collections.emptyList()),
+            databaseConnector = databaseConnectorFactory.newInstance(new 
QueryContext(sqlStatementContext, sql, Collections.emptyList()),
                     connectionSession.getBackendConnection(), false);
-            responseHeader = databaseCommunicationEngine.execute();
+            responseHeader = databaseConnector.execute();
             mergedResult = new TransparentMergedResult(createQueryResult());
         } finally {
             connectionSession.setCurrentDatabase(originDatabase);
-            databaseCommunicationEngine.close();
+            databaseConnector.close();
         }
     }
     
@@ -110,8 +110,8 @@ public final class UnicastResourceShowExecutor implements 
DatabaseAdminQueryExec
     
     private QueryResult createQueryResult() throws SQLException {
         List<MemoryQueryResultDataRow> rows = new LinkedList<>();
-        while (databaseCommunicationEngine.next()) {
-            List<Object> data = 
databaseCommunicationEngine.getRowData().getData();
+        while (databaseConnector.next()) {
+            List<Object> data = databaseConnector.getRowData().getData();
             rows.add(new MemoryQueryResultDataRow(data));
         }
         return new RawMemoryQueryResult(getQueryResultMetaData(), rows);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
index 3e77d813088..c1b9ac69850 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactory.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.binder.QueryContext;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import 
org.apache.shardingsphere.proxy.backend.handler.data.impl.UnicastDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -57,6 +57,6 @@ public final class DatabaseBackendHandlerFactory {
         if (sqlStatement instanceof DALStatement || (sqlStatement instanceof 
SelectStatement && null == ((SelectStatement) sqlStatement).getFrom())) {
             return new UnicastDatabaseBackendHandler(queryContext, 
connectionSession);
         }
-        return 
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(queryContext,
 connectionSession.getBackendConnection(), preferPreparedStatement);
+        return 
DatabaseConnectorFactory.getInstance().newInstance(queryContext, 
connectionSession.getBackendConnection(), preferPreparedStatement);
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
index 4bede6bc379..655f29fe829 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.authority.rule.AuthorityRule;
 import 
org.apache.shardingsphere.dialect.exception.syntax.database.NoDatabaseSelectedException;
 import org.apache.shardingsphere.infra.binder.QueryContext;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.backend.exception.StorageUnitNotExistedException;
 import 
org.apache.shardingsphere.proxy.backend.handler.data.DatabaseBackendHandler;
@@ -43,13 +43,13 @@ import java.util.stream.Stream;
 @RequiredArgsConstructor
 public final class UnicastDatabaseBackendHandler implements 
DatabaseBackendHandler {
     
-    private final DatabaseCommunicationEngineFactory 
databaseCommunicationEngineFactory = 
DatabaseCommunicationEngineFactory.getInstance();
+    private final DatabaseConnectorFactory databaseConnectorFactory = 
DatabaseConnectorFactory.getInstance();
     
     private final QueryContext queryContext;
     
     private final ConnectionSession connectionSession;
     
-    private DatabaseCommunicationEngine databaseCommunicationEngine;
+    private DatabaseConnector databaseConnector;
     
     @Override
     public ResponseHeader execute() throws SQLException {
@@ -58,8 +58,8 @@ public final class UnicastDatabaseBackendHandler implements 
DatabaseBackendHandl
         
ShardingSpherePreconditions.checkState(ProxyContext.getInstance().getDatabase(databaseName).containsDataSource(),
 () -> new StorageUnitNotExistedException(databaseName));
         try {
             connectionSession.setCurrentDatabase(databaseName);
-            databaseCommunicationEngine = 
databaseCommunicationEngineFactory.newDatabaseCommunicationEngine(queryContext, 
connectionSession.getBackendConnection(), false);
-            return databaseCommunicationEngine.execute();
+            databaseConnector = 
databaseConnectorFactory.newInstance(queryContext, 
connectionSession.getBackendConnection(), false);
+            return databaseConnector.execute();
         } finally {
             connectionSession.setCurrentDatabase(databaseName);
         }
@@ -80,18 +80,18 @@ public final class UnicastDatabaseBackendHandler implements 
DatabaseBackendHandl
     
     @Override
     public boolean next() throws SQLException {
-        return databaseCommunicationEngine.next();
+        return databaseConnector.next();
     }
     
     @Override
     public QueryResponseRow getRowData() throws SQLException {
-        return databaseCommunicationEngine.getRowData();
+        return databaseConnector.getRowData();
     }
     
     @Override
     public void close() throws SQLException {
-        if (null != databaseCommunicationEngine) {
-            databaseCommunicationEngine.close();
+        if (null != databaseConnector) {
+            databaseConnector.close();
         }
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
index e00cc6464b6..d1d9089835c 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactory.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.binder.QueryContext;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
 import org.apache.shardingsphere.sql.parser.sql.common.enums.OperationScope;
@@ -82,6 +82,6 @@ public final class TransactionBackendHandlerFactory {
             return new TransactionXAHandler(sqlStatementContext, sql, 
connectionSession);
         }
         QueryContext queryContext = new QueryContext(sqlStatementContext, sql, 
Collections.emptyList());
-        return 
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(queryContext,
 connectionSession.getBackendConnection(), false);
+        return 
DatabaseConnectorFactory.getInstance().newInstance(queryContext, 
connectionSession.getBackendConnection(), false);
     }
 }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
index f063a24bedf..67a535017f6 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
@@ -21,8 +21,8 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.binder.QueryContext;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
 import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
 import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
@@ -46,13 +46,13 @@ public final class TransactionXAHandler implements 
ProxyBackendHandler {
     
     private final ConnectionSession connectionSession;
     
-    private final DatabaseCommunicationEngine backendHandler;
+    private final DatabaseConnector backendHandler;
     
     public TransactionXAHandler(final SQLStatementContext<? extends 
TCLStatement> sqlStatementContext, final String sql, final ConnectionSession 
connectionSession) {
         this.tclStatement = (XAStatement) 
sqlStatementContext.getSqlStatement();
         this.connectionSession = connectionSession;
         QueryContext queryContext = new QueryContext(sqlStatementContext, sql, 
Collections.emptyList());
-        backendHandler = 
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(queryContext,
 connectionSession.getBackendConnection(), false);
+        backendHandler = 
DatabaseConnectorFactory.getInstance().newInstance(queryContext, 
connectionSession.getBackendConnection(), false);
     }
     
     @Override
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngineFactoryTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java
similarity index 84%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngineFactoryTest.java
rename to 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java
index 578d45e00f0..1d493cfb2c7 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseCommunicationEngineFactoryTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorFactoryTest.java
@@ -43,7 +43,7 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-public final class DatabaseCommunicationEngineFactoryTest extends 
ProxyContextRestorer {
+public final class DatabaseConnectorFactoryTest extends ProxyContextRestorer {
     
     @Before
     public void setUp() {
@@ -66,24 +66,23 @@ public final class DatabaseCommunicationEngineFactoryTest 
extends ProxyContextRe
     }
     
     @Test
-    public void assertNewDatabaseCommunicationEngineWithoutParameter() {
+    public void assertNewDatabaseConnectorWithoutParameter() {
         BackendConnection backendConnection = mock(BackendConnection.class, 
RETURNS_DEEP_STUBS);
         
when(backendConnection.getConnectionSession().getDatabaseName()).thenReturn("db");
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
         QueryContext queryContext = new QueryContext(sqlStatementContext, 
"schemaName", Collections.emptyList());
-        DatabaseCommunicationEngine engine = 
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(queryContext,
 backendConnection, false);
-        assertThat(engine, instanceOf(DatabaseCommunicationEngine.class));
+        DatabaseConnector engine = 
DatabaseConnectorFactory.getInstance().newInstance(queryContext, 
backendConnection, false);
+        assertThat(engine, instanceOf(DatabaseConnector.class));
     }
     
     @Test
-    public void assertNewDatabaseCommunicationEngineWithParameters() {
+    public void assertNewDatabaseConnectorWithParameters() {
         BackendConnection backendConnection = mock(BackendConnection.class, 
RETURNS_DEEP_STUBS);
         
when(backendConnection.getConnectionSession().getDatabaseName()).thenReturn("db");
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
-        assertThat(
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false),
-                instanceOf(DatabaseCommunicationEngine.class));
+        assertThat(DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false),
+                instanceOf(DatabaseConnector.class));
     }
 }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
index 3487686ada8..1606779bce4 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutorTest.java
@@ -91,14 +91,14 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
     public void assertCheckExecutePrerequisitesWhenExecuteDDLInXATransaction() 
{
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLCreateTableStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test(expected = TableModifyInTransactionException.class)
     public void 
assertCheckExecutePrerequisitesWhenExecuteTruncateInMySQLXATransaction() {
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLTruncateStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -106,14 +106,14 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.LOCAL);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLTruncateStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
     public void assertCheckExecutePrerequisitesWhenExecuteDMLInXATransaction() 
{
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLInsertStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -121,7 +121,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.BASE);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLCreateTableStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -129,7 +129,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().isInTransaction()).thenReturn(false);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLCreateTableStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test(expected = TableModifyInTransactionException.class)
@@ -137,7 +137,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.LOCAL);
         ExecutionContext executionContext = new ExecutionContext(
                 new 
QueryContext(createPostgreSQLCreateTableStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -145,7 +145,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.LOCAL);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createPostgreSQLTruncateStatementContext(), 
"", Collections.emptyList()), Collections.emptyList(), 
mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -153,7 +153,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.LOCAL);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createCursorStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -161,7 +161,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.LOCAL);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createPostgreSQLInsertStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -169,7 +169,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().getTransactionType()).thenReturn(TransactionType.LOCAL);
         ExecutionContext executionContext = new ExecutionContext(
                 new QueryContext(createMySQLCreateTableStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     @Test
@@ -178,7 +178,7 @@ public final class ProxySQLExecutorTest extends 
ProxyContextRestorer {
         
when(connectionSession.getTransactionStatus().isInTransaction()).thenReturn(false);
         ExecutionContext executionContext = new ExecutionContext(
                 new 
QueryContext(createPostgreSQLCreateTableStatementContext(), "", 
Collections.emptyList()), Collections.emptyList(), mock(RouteContext.class));
-        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseCommunicationEngine.class)).checkExecutePrerequisites(executionContext);
+        new ProxySQLExecutor(JDBCDriverType.STATEMENT, backendConnection, 
mock(DatabaseConnector.class)).checkExecutePrerequisites(executionContext);
     }
     
     private CreateTableStatementContext 
createMySQLCreateTableStatementContext() {
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/DatabaseCommunicationEngineTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/DatabaseConnectorTest.java
similarity index 88%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/DatabaseCommunicationEngineTest.java
rename to 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/DatabaseConnectorTest.java
index e8f049aba68..9b179c64781 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/DatabaseCommunicationEngineTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/DatabaseConnectorTest.java
@@ -45,8 +45,8 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback.ProxyJDBCExecutorCallback;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -97,7 +97,7 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer {
+public final class DatabaseConnectorTest extends ProxyContextRestorer {
     
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private BackendConnection backendConnection;
@@ -135,8 +135,8 @@ public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer
     public void assertExecuteFederationAndClose() throws SQLException {
         SQLStatementContext<?> sqlStatementContext = 
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
         when(sqlStatementContext.getDatabaseType()).thenReturn(new 
MySQLDatabaseType());
-        DatabaseCommunicationEngine engine =
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, true);
+        DatabaseConnector engine =
+                DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, true);
         
when(backendConnection.getConnectionSession().getStatementManager()).thenReturn(new
 JDBCBackendStatement());
         SQLFederationExecutor federationExecutor = 
mock(SQLFederationExecutor.class);
         try (
@@ -165,16 +165,16 @@ public final class DatabaseCommunicationEngineTest 
extends ProxyContextRestorer
     public void assertBinaryProtocolQueryHeader() throws SQLException, 
NoSuchFieldException, IllegalAccessException {
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
-        DatabaseCommunicationEngine engine =
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, true);
+        DatabaseConnector engine =
+                DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, true);
         assertNotNull(engine);
-        assertThat(engine, instanceOf(DatabaseCommunicationEngine.class));
-        Field queryHeadersField = 
DatabaseCommunicationEngine.class.getDeclaredField("queryHeaders");
+        assertThat(engine, instanceOf(DatabaseConnector.class));
+        Field queryHeadersField = 
DatabaseConnector.class.getDeclaredField("queryHeaders");
         ShardingSphereDatabase database = createDatabaseMetaData();
         MemberAccessor accessor = Plugins.getMemberAccessor();
         accessor.set(queryHeadersField, engine, Collections.singletonList(
                 new QueryHeaderBuilderEngine(new 
MySQLDatabaseType()).build(createQueryResultMetaData(), database, 1)));
-        Field mergedResultField = 
DatabaseCommunicationEngine.class.getDeclaredField("mergedResult");
+        Field mergedResultField = 
DatabaseConnector.class.getDeclaredField("mergedResult");
         accessor.set(mergedResultField, engine, new 
MemoryMergedResult<ShardingSphereRule>(null, null, null, 
Collections.emptyList()) {
             
             @Override
@@ -221,8 +221,8 @@ public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer
     public void assertAddStatementCorrectly() {
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
-        DatabaseCommunicationEngine engine =
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
+        DatabaseConnector engine =
+                DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
         engine.add(statement);
         Collection<?> actual = getField(engine, "cachedStatements");
         assertThat(actual.size(), is(1));
@@ -233,8 +233,8 @@ public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer
     public void assertAddResultSetCorrectly() {
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
-        DatabaseCommunicationEngine engine =
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
+        DatabaseConnector engine =
+                DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
         engine.add(resultSet);
         Collection<?> actual = getField(engine, "cachedResultSets");
         assertThat(actual.size(), is(1));
@@ -245,8 +245,8 @@ public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer
     public void assertCloseCorrectly() throws SQLException {
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
-        DatabaseCommunicationEngine engine =
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
+        DatabaseConnector engine =
+                DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
         Collection<ResultSet> cachedResultSets = getField(engine, 
"cachedResultSets");
         cachedResultSets.add(resultSet);
         Collection<Statement> cachedStatements = getField(engine, 
"cachedStatements");
@@ -263,8 +263,8 @@ public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer
     public void assertCloseResultSetsWithExceptionThrown() throws SQLException 
{
         SQLStatementContext<?> sqlStatementContext = 
mock(SQLStatementContext.class, RETURNS_DEEP_STUBS);
         
when(sqlStatementContext.getTablesContext().getSchemaNames()).thenReturn(Collections.emptyList());
-        DatabaseCommunicationEngine engine =
-                
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(new
 QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
+        DatabaseConnector engine =
+                DatabaseConnectorFactory.getInstance().newInstance(new 
QueryContext(sqlStatementContext, "schemaName", Collections.emptyList()), 
backendConnection, false);
         Collection<ResultSet> cachedResultSets = getField(engine, 
"cachedResultSets");
         SQLException sqlExceptionByResultSet = new SQLException("ResultSet");
         doThrow(sqlExceptionByResultSet).when(resultSet).close();
@@ -290,7 +290,7 @@ public final class DatabaseCommunicationEngineTest extends 
ProxyContextRestorer
     
     @SuppressWarnings("unchecked")
     @SneakyThrows(ReflectiveOperationException.class)
-    private <T> T getField(final DatabaseCommunicationEngine target, final 
String fieldName) {
-        return (T) 
Plugins.getMemberAccessor().get(DatabaseCommunicationEngine.class.getDeclaredField(fieldName),
 target);
+    private <T> T getField(final DatabaseConnector target, final String 
fieldName) {
+        return (T) 
Plugins.getMemberAccessor().get(DatabaseConnector.class.getDeclaredField(fieldName),
 target);
     }
 }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/BackendConnectionTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/BackendConnectionTest.java
index f69aa69be62..5300e96d6d8 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/BackendConnectionTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/connection/BackendConnectionTest.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.statement.JDBCBackendStatement;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -315,28 +315,28 @@ public final class BackendConnectionTest extends 
ProxyContextRestorer {
     }
     
     @Test
-    public void assertAddDatabaseCommunicationEngine() {
-        ProxyBackendHandler expectedEngine = 
mock(DatabaseCommunicationEngine.class);
+    public void assertAddDatabaseConnector() {
+        ProxyBackendHandler expectedEngine = mock(DatabaseConnector.class);
         backendConnection.add(expectedEngine);
-        Collection<ProxyBackendHandler> actual = 
getDatabaseCommunicationEngines();
+        Collection<ProxyBackendHandler> actual = getDatabaseConnectors();
         assertThat(actual.size(), is(1));
         assertThat(actual.iterator().next(), is(expectedEngine));
     }
     
     @Test
-    public void assertMarkDatabaseCommunicationEngineInUse() {
-        ProxyBackendHandler expectedEngine = 
mock(DatabaseCommunicationEngine.class);
+    public void assertMarkDatabaseConnectorInUse() {
+        ProxyBackendHandler expectedEngine = mock(DatabaseConnector.class);
         backendConnection.add(expectedEngine);
         backendConnection.markResourceInUse(expectedEngine);
-        Collection<ProxyBackendHandler> actual = 
getInUseDatabaseCommunicationEngines();
+        Collection<ProxyBackendHandler> actual = getInUseDatabaseConnectors();
         assertThat(actual.size(), is(1));
         assertThat(actual.iterator().next(), is(expectedEngine));
     }
     
     @Test
-    public void assertUnmarkInUseDatabaseCommunicationEngine() {
-        ProxyBackendHandler engine = mock(DatabaseCommunicationEngine.class);
-        Collection<ProxyBackendHandler> actual = 
getInUseDatabaseCommunicationEngines();
+    public void assertUnmarkInUseDatabaseConnector() {
+        ProxyBackendHandler engine = mock(DatabaseConnector.class);
+        Collection<ProxyBackendHandler> actual = getInUseDatabaseConnectors();
         actual.add(engine);
         backendConnection.unmarkResourceInUse(engine);
         assertTrue(actual.isEmpty());
@@ -344,36 +344,36 @@ public final class BackendConnectionTest extends 
ProxyContextRestorer {
     
     @Test
     public void assertCloseHandlers() throws SQLException {
-        ProxyBackendHandler engine = mock(DatabaseCommunicationEngine.class);
-        ProxyBackendHandler inUseEngine = 
mock(DatabaseCommunicationEngine.class);
+        ProxyBackendHandler engine = mock(DatabaseConnector.class);
+        ProxyBackendHandler inUseEngine = mock(DatabaseConnector.class);
         SQLException expectedException = mock(SQLException.class);
         doThrow(expectedException).when(engine).close();
-        Collection<ProxyBackendHandler> databaseCommunicationEngines = 
getDatabaseCommunicationEngines();
-        Collection<ProxyBackendHandler> inUseDatabaseCommunicationEngines = 
getInUseDatabaseCommunicationEngines();
-        databaseCommunicationEngines.add(engine);
-        databaseCommunicationEngines.add(inUseEngine);
-        inUseDatabaseCommunicationEngines.add(inUseEngine);
+        Collection<ProxyBackendHandler> databaseConnectors = 
getDatabaseConnectors();
+        Collection<ProxyBackendHandler> inUseDatabaseConnectors = 
getInUseDatabaseConnectors();
+        databaseConnectors.add(engine);
+        databaseConnectors.add(inUseEngine);
+        inUseDatabaseConnectors.add(inUseEngine);
         Collection<SQLException> actual = 
backendConnection.closeHandlers(false);
         assertThat(actual.size(), is(1));
         assertThat(actual.iterator().next(), is(expectedException));
-        assertThat(inUseDatabaseCommunicationEngines.size(), is(1));
-        assertThat(databaseCommunicationEngines.size(), is(1));
+        assertThat(inUseDatabaseConnectors.size(), is(1));
+        assertThat(databaseConnectors.size(), is(1));
         verify(engine).close();
         backendConnection.closeHandlers(true);
         verify(inUseEngine).close();
-        assertTrue(databaseCommunicationEngines.isEmpty());
-        assertTrue(inUseDatabaseCommunicationEngines.isEmpty());
+        assertTrue(databaseConnectors.isEmpty());
+        assertTrue(inUseDatabaseConnectors.isEmpty());
     }
     
     @SuppressWarnings("unchecked")
     @SneakyThrows(ReflectiveOperationException.class)
-    private Collection<ProxyBackendHandler> getDatabaseCommunicationEngines() {
+    private Collection<ProxyBackendHandler> getDatabaseConnectors() {
         return (Collection<ProxyBackendHandler>) 
Plugins.getMemberAccessor().get(BackendConnection.class.getDeclaredField("backendHandlers"),
 backendConnection);
     }
     
     @SuppressWarnings("unchecked")
     @SneakyThrows(ReflectiveOperationException.class)
-    private Collection<ProxyBackendHandler> 
getInUseDatabaseCommunicationEngines() {
+    private Collection<ProxyBackendHandler> getInUseDatabaseConnectors() {
         return (Collection<ProxyBackendHandler>) 
Plugins.getMemberAccessor().get(BackendConnection.class.getDeclaredField("inUseBackendHandlers"),
 backendConnection);
     }
     
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
index 662c354b42b..4955c032db9 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/ProxyBackendHandlerFactoryTest.java
@@ -31,7 +31,7 @@ import 
org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.parser.rule.SQLParserRule;
 import 
org.apache.shardingsphere.parser.rule.builder.DefaultSQLParserRuleConfigurationBuilder;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.DatabaseAdminQueryBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.DatabaseAdminUpdateBackendHandler;
@@ -212,7 +212,7 @@ public final class ProxyBackendHandlerFactoryTest extends 
ProxyContextRestorer {
         when(proxyContext.getAllDatabaseNames()).thenReturn(new 
HashSet<>(Collections.singletonList("db")));
         
when(proxyContext.getDatabase("db").containsDataSource()).thenReturn(true);
         ProxyBackendHandler actual = 
ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
-        assertThat(actual, instanceOf(DatabaseCommunicationEngine.class));
+        assertThat(actual, instanceOf(DatabaseConnector.class));
         sql = "select * from information_schema.schemata limit 1";
         actual = ProxyBackendHandlerFactory.newInstance(databaseType, sql, 
connectionSession);
         assertThat(actual, instanceOf(DatabaseAdminQueryBackendHandler.class));
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
index 27aca8df266..1926c67f970 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
@@ -22,7 +22,7 @@ import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRule
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.parser.config.SQLParserRuleConfiguration;
 import org.apache.shardingsphere.parser.rule.SQLParserRule;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -60,7 +60,7 @@ public final class MySQLSetVariableAdminExecutorTest extends 
ProxyContextRestore
         
when(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().containsDatabase("db")).thenReturn(true);
         
when(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData())
                 .thenReturn(new 
ShardingSphereRuleMetaData(Collections.singletonList(new SQLParserRule(new 
SQLParserRuleConfiguration(false, new CacheOption(1, 1), new CacheOption(1, 
1))))));
-        try (MockedConstruction<DatabaseCommunicationEngine> mockConstruction 
= mockConstruction(DatabaseCommunicationEngine.class)) {
+        try (MockedConstruction<DatabaseConnector> mockConstruction = 
mockConstruction(DatabaseConnector.class)) {
             executor.execute(connectionSession);
             verify(mockConstruction.constructed().get(0)).execute();
         }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
index 1f3df90106f..cd4a8762805 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/DatabaseBackendHandlerFactoryTest.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.infra.binder.QueryContext;
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.mode.manager.ContextManager;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
@@ -78,9 +78,9 @@ public final class DatabaseBackendHandlerFactoryTest extends 
ProxyContextRestore
         when(connectionSession.getDatabaseName()).thenReturn("db");
         
when(connectionSession.getBackendConnection()).thenReturn(mock(BackendConnection.class));
         
when(connectionSession.getBackendConnection().getConnectionSession()).thenReturn(connectionSession);
-        try (MockedConstruction<DatabaseCommunicationEngine> unused = 
mockConstruction(DatabaseCommunicationEngine.class)) {
+        try (MockedConstruction<DatabaseConnector> unused = 
mockConstruction(DatabaseConnector.class)) {
             DatabaseBackendHandler actual = 
DatabaseBackendHandlerFactory.newInstance(new QueryContext(context, sql, 
Collections.emptyList()), connectionSession, false);
-            assertThat(actual, instanceOf(DatabaseCommunicationEngine.class));
+            assertThat(actual, instanceOf(DatabaseConnector.class));
         }
     }
 }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
index 90dc4b2d948..fc9c18185a3 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
@@ -29,8 +29,8 @@ import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.backend.handler.data.DatabaseBackendHandler;
 import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
@@ -73,10 +73,10 @@ public final class UnicastDatabaseBackendHandlerTest 
extends ProxyContextRestore
     private ConnectionSession connectionSession;
     
     @Mock
-    private DatabaseCommunicationEngineFactory 
databaseCommunicationEngineFactory;
+    private DatabaseConnectorFactory databaseConnectorFactory;
     
     @Mock
-    private DatabaseCommunicationEngine databaseCommunicationEngine;
+    private DatabaseConnector databaseConnector;
     
     @Before
     public void setUp() throws SQLException {
@@ -87,7 +87,7 @@ public final class UnicastDatabaseBackendHandlerTest extends 
ProxyContextRestore
         ProxyContext.init(contextManager);
         
when(connectionSession.getDefaultDatabaseName()).thenReturn(String.format(DATABASE_PATTERN,
 0));
         
when(connectionSession.getBackendConnection()).thenReturn(mock(BackendConnection.class));
-        mockDatabaseCommunicationEngine(new 
UpdateResponseHeader(mock(SQLStatement.class)));
+        mockDatabaseConnector(new 
UpdateResponseHeader(mock(SQLStatement.class)));
         unicastDatabaseBackendHandler = new UnicastDatabaseBackendHandler(new 
QueryContext(mock(SQLStatementContext.class), EXECUTE_SQL, 
Collections.emptyList()), connectionSession);
         setBackendHandlerFactory(unicastDatabaseBackendHandler);
     }
@@ -103,15 +103,15 @@ public final class UnicastDatabaseBackendHandlerTest 
extends ProxyContextRestore
         return result;
     }
     
-    private void mockDatabaseCommunicationEngine(final ResponseHeader 
responseHeader) throws SQLException {
-        when(databaseCommunicationEngine.execute()).thenReturn(responseHeader);
-        
when(databaseCommunicationEngineFactory.newDatabaseCommunicationEngine(any(QueryContext.class),
 any(BackendConnection.class), 
eq(false))).thenReturn(databaseCommunicationEngine);
+    private void mockDatabaseConnector(final ResponseHeader responseHeader) 
throws SQLException {
+        when(databaseConnector.execute()).thenReturn(responseHeader);
+        when(databaseConnectorFactory.newInstance(any(QueryContext.class), 
any(BackendConnection.class), eq(false))).thenReturn(databaseConnector);
     }
     
     @SneakyThrows(ReflectiveOperationException.class)
     private void setBackendHandlerFactory(final DatabaseBackendHandler 
schemaDatabaseBackendHandler) {
         Plugins.getMemberAccessor()
-                
.set(schemaDatabaseBackendHandler.getClass().getDeclaredField("databaseCommunicationEngineFactory"),
 schemaDatabaseBackendHandler, databaseCommunicationEngineFactory);
+                
.set(schemaDatabaseBackendHandler.getClass().getDeclaredField("databaseConnectorFactory"),
 schemaDatabaseBackendHandler, databaseConnectorFactory);
     }
     
     @Test
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
index 11cffb5b402..784c0764f5c 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
@@ -23,8 +23,8 @@ import 
org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
 import org.apache.shardingsphere.mode.manager.ContextManager;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.transaction.BackendTransactionManager;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
@@ -100,11 +100,11 @@ public final class TransactionBackendHandlerFactoryTest 
extends ProxyContextRest
     public void assertBroadcastBackendHandlerReturnedWhenTCLStatementNotHit() {
         SQLStatementContext<TCLStatement> context = 
mock(SQLStatementContext.class);
         when(context.getSqlStatement()).thenReturn(mock(TCLStatement.class));
-        try (MockedStatic<DatabaseCommunicationEngineFactory> mockedStatic = 
mockStatic(DatabaseCommunicationEngineFactory.class)) {
-            DatabaseCommunicationEngineFactory mockFactory = 
mock(DatabaseCommunicationEngineFactory.class);
-            
mockedStatic.when(DatabaseCommunicationEngineFactory::getInstance).thenReturn(mockFactory);
-            
when(mockFactory.newDatabaseCommunicationEngine(any(QueryContext.class), 
nullable(BackendConnection.class), 
anyBoolean())).thenReturn(mock(DatabaseCommunicationEngine.class));
-            assertThat(TransactionBackendHandlerFactory.newInstance(context, 
null, mock(ConnectionSession.class)), 
instanceOf(DatabaseCommunicationEngine.class));
+        try (MockedStatic<DatabaseConnectorFactory> mockedStatic = 
mockStatic(DatabaseConnectorFactory.class)) {
+            DatabaseConnectorFactory mockFactory = 
mock(DatabaseConnectorFactory.class);
+            
mockedStatic.when(DatabaseConnectorFactory::getInstance).thenReturn(mockFactory);
+            when(mockFactory.newInstance(any(QueryContext.class), 
nullable(BackendConnection.class), 
anyBoolean())).thenReturn(mock(DatabaseConnector.class));
+            assertThat(TransactionBackendHandlerFactory.newInstance(context, 
null, mock(ConnectionSession.class)), instanceOf(DatabaseConnector.class));
         }
     }
     
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
index a65729521bb..fb2acf147c5 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
@@ -32,8 +32,8 @@ import 
org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import org.apache.shardingsphere.parser.rule.SQLParserRule;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngine;
-import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseCommunicationEngineFactory;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
+import 
org.apache.shardingsphere.proxy.backend.connector.DatabaseConnectorFactory;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import 
org.apache.shardingsphere.proxy.frontend.command.executor.CommandExecutor;
@@ -57,7 +57,7 @@ public final class MySQLComFieldListPacketExecutor implements 
CommandExecutor {
     
     private final ConnectionSession connectionSession;
     
-    private DatabaseCommunicationEngine databaseCommunicationEngine;
+    private DatabaseConnector databaseConnector;
     
     @Override
     public Collection<DatabasePacket<?>> execute() throws SQLException {
@@ -69,16 +69,16 @@ public final class MySQLComFieldListPacketExecutor 
implements CommandExecutor {
         SQLStatementContext<?> sqlStatementContext = 
SQLStatementContextFactory.newInstance(metaDataContexts.getMetaData(), 
sqlStatement, databaseName);
         BackendConnection backendConnection = 
connectionSession.getBackendConnection();
         QueryContext queryContext = new QueryContext(sqlStatementContext, sql, 
Collections.emptyList());
-        databaseCommunicationEngine = 
DatabaseCommunicationEngineFactory.getInstance().newDatabaseCommunicationEngine(queryContext,
 backendConnection, false);
-        databaseCommunicationEngine.execute();
+        databaseConnector = 
DatabaseConnectorFactory.getInstance().newInstance(queryContext, 
backendConnection, false);
+        databaseConnector.execute();
         return createColumnDefinition41Packets(databaseName);
     }
     
     private Collection<DatabasePacket<?>> 
createColumnDefinition41Packets(final String databaseName) throws SQLException {
         Collection<DatabasePacket<?>> result = new LinkedList<>();
         int characterSet = 
connectionSession.getAttributeMap().attr(MySQLConstants.MYSQL_CHARACTER_SET_ATTRIBUTE_KEY).get().getId();
-        while (databaseCommunicationEngine.next()) {
-            String columnName = 
databaseCommunicationEngine.getRowData().getCells().iterator().next().getData().toString();
+        while (databaseConnector.next()) {
+            String columnName = 
databaseConnector.getRowData().getCells().iterator().next().getData().toString();
             result.add(new MySQLColumnDefinition41Packet(
                     characterSet, databaseName, packet.getTable(), 
packet.getTable(), columnName, columnName, 100, 
MySQLBinaryColumnType.MYSQL_TYPE_VARCHAR, 0, true));
         }
@@ -88,6 +88,6 @@ public final class MySQLComFieldListPacketExecutor implements 
CommandExecutor {
     
     @Override
     public void close() throws SQLException {
-        databaseCommunicationEngine.close();
+        databaseConnector.close();
     }
 }

Reply via email to