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

panjuan 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 fc64e0e10bd Move admin to backend db backend modules (#24262)
fc64e0e10bd is described below

commit fc64e0e10bd7fcbdf4594f991c80591e52ff03db
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Feb 20 21:50:42 2023 +0800

    Move admin to backend db backend modules (#24262)
---
 .../value/string/MySQLJsonBinlogProtocolValue.java |  1 -
 .../mysql/ingest/binlog/BinlogContext.java         |  2 +-
 .../handler/ProxyBackendHandlerFactoryTest.java    | 22 ---------------------
 .../DatabaseAdminQueryBackendHandlerTest.java      |  4 ++--
 proxy/backend/type/mysql/pom.xml                   | 19 ++++++++++++++++++
 .../mysql/DefaultMySQLSessionVariableHandler.java  |  0
 .../admin/mysql/MySQLAdminExecutorCreator.java     |  0
 .../MySQLInformationSchemaExecutorFactory.java     |  0
 .../admin/mysql/MySQLSessionVariableHandler.java   |  0
 .../admin/mysql/MySQLSetVariableAdminExecutor.java |  0
 .../admin/mysql/executor/KillProcessExecutor.java  |  0
 .../mysql/executor/MySQLSetCharsetExecutor.java    |  0
 .../mysql/executor/NoResourceShowExecutor.java     |  2 +-
 .../mysql/executor/ShowConnectionIdExecutor.java   |  0
 .../mysql/executor/ShowCreateDatabaseExecutor.java |  0
 .../executor/ShowCurrentDatabaseExecutor.java      |  0
 .../mysql/executor/ShowCurrentUserExecutor.java    |  0
 .../mysql/executor/ShowDatabasesExecutor.java      |  0
 .../mysql/executor/ShowFunctionStatusExecutor.java |  0
 .../executor/ShowProcedureStatusExecutor.java      |  0
 .../mysql/executor/ShowProcessListExecutor.java    |  0
 .../admin/mysql/executor/ShowTablesExecutor.java   |  0
 .../mysql/executor/ShowTransactionExecutor.java    |  0
 .../admin/mysql/executor/ShowVersionExecutor.java  |  0
 .../executor/UnicastResourceShowExecutor.java      |  0
 .../admin/mysql/executor/UseDatabaseExecutor.java  |  0
 .../SelectInformationSchemataExecutor.java         |  0
 ...er.admin.executor.DatabaseAdminExecutorCreator} |  2 +-
 ...handler.admin.mysql.MySQLSessionVariableHandler |  0
 .../DefaultMySQLSessionVariableHandlerTest.java    |  4 +++-
 .../executor}/MySQLAdminExecutorCreatorTest.java   | 18 +++--------------
 .../executor}/MySQLAdminExecutorFactoryTest.java   |  6 ++----
 .../MySQLSetVariableAdminExecutorTest.java         |  5 +++--
 .../executor/ShowConnectionIdExecutorTest.java     |  0
 .../executor/ShowCreateDatabaseExecutorTest.java   |  0
 .../executor/ShowCurrentUserExecutorTest.java      |  0
 .../mysql/executor/ShowDatabasesExecutorTest.java  |  0
 .../executor/ShowFunctionStatusExecutorTest.java   |  0
 .../executor/ShowProcedureStatusExecutorTest.java  |  0
 .../executor/ShowProcessListExecutorTest.java      |  0
 .../mysql/executor/ShowTablesExecutorTest.java     |  0
 .../mysql/executor/ShowVersionExecutorTest.java    |  0
 .../TestFixtureSessionVariableHandler.java         |  3 ++-
 .../mysql/executor/UseDatabaseExecutorTest.java    |  0
 .../SelectInformationSchemataExecutorTest.java     |  0
 .../proxy/backend/util/ProxyContextRestorer.java}  | 23 +++++++++++++---------
 ...handler.admin.mysql.MySQLSessionVariableHandler |  2 +-
 proxy/backend/type/opengauss/pom.xml               |  5 +++++
 .../opengauss/OpenGaussAdminExecutorCreator.java   |  0
 .../OpenGaussSystemCatalogAdminQueryExecutor.java  |  0
 .../handler/admin/opengauss/schema/OgCatalog.java  |  0
 .../handler/admin/opengauss/schema/OgDatabase.java |  0
 ...er.admin.executor.DatabaseAdminExecutorCreator} |  2 +-
 .../OpenGaussAdminExecutorCreatorTest.java         |  0
 .../OpenGaussAdminExecutorFactoryTest.java         |  0
 ...enGaussSystemCatalogAdminQueryExecutorTest.java |  0
 proxy/backend/type/postgresql/pom.xml              | 19 ++++++++++++++++++
 .../DefaultPostgreSQLSessionVariableHandler.java   |  0
 .../postgresql/PostgreSQLAdminExecutorCreator.java |  0
 .../admin/postgresql/PostgreSQLCharacterSets.java  |  0
 .../PostgreSQLResetVariableAdminExecutor.java      |  0
 .../PostgreSQLSessionVariableHandler.java          |  0
 .../PostgreSQLSetVariableAdminExecutor.java        |  0
 .../postgresql/PostgreSQLShowVariableExecutor.java |  0
 .../executor/PostgreSQLSetCharsetExecutor.java     |  0
 .../executor/SelectDatabaseExecutor.java           |  0
 .../postgresql/executor/SelectTableExecutor.java   |  0
 ...ler.admin.executor.DatabaseAdminExecutorCreator |  2 --
 ...min.postgresql.PostgreSQLSessionVariableHandler |  0
 ...efaultPostgreSQLSessionVariableHandlerTest.java |  0
 .../PostgreSQLAdminExecutorCreatorTest.java        |  0
 .../postgresql/PostgreSQLCharacterSetsTest.java    |  0
 .../PostgreSQLResetVariableAdminExecutorTest.java  |  0
 .../PostgreSQLSetVariableAdminExecutorTest.java    |  0
 .../PostgreSQLShowVariableExecutorTest.java        |  0
 .../executor/SelectDatabaseExecutorTest.java       |  0
 .../executor/SelectTableExecutorTest.java          |  0
 .../proxy/backend/util/ProxyContextRestorer.java}  | 23 +++++++++++++---------
 78 files changed, 91 insertions(+), 73 deletions(-)

diff --git 
a/db-protocol/mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonBinlogProtocolValue.java
 
b/db-protocol/mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonBinlogProtocolValue.java
index 365181add60..60238ef76e2 100644
--- 
a/db-protocol/mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonBinlogProtocolValue.java
+++ 
b/db-protocol/mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonBinlogProtocolValue.java
@@ -31,7 +31,6 @@ import java.io.Serializable;
  * <p>
  *     There are no detail document about JSON type in MySQL replication.
  *     Also no detail document in MariaDB.
- *
  *     Decoding implementation is referred to MySQL source code.
  * </p>
  *
diff --git 
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/binlog/BinlogContext.java
 
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/binlog/BinlogContext.java
index 771f4662615..854b35b53f5 100644
--- 
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/binlog/BinlogContext.java
+++ 
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/binlog/BinlogContext.java
@@ -84,7 +84,7 @@ public final class BinlogContext {
      * Get column defined by table id.
      *
      * @param tableId table id
-     * @return array of column defined
+     * @return MySQL binlog column definitions
      */
     public List<MySQLBinlogColumnDef> getColumnDefs(final long tableId) {
         return tableMap.get(tableId).getColumnDefs();
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 c3a4e542064..8f04ded6422 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
@@ -34,7 +34,6 @@ import 
org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
 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;
 import 
org.apache.shardingsphere.proxy.backend.handler.data.impl.UnicastDatabaseBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.QueryableRALBackendHandler;
 import 
org.apache.shardingsphere.proxy.backend.handler.distsql.ral.UpdatableRALUpdaterBackendHandler;
@@ -166,27 +165,6 @@ public final class ProxyBackendHandlerFactoryTest extends 
ProxyContextRestorer {
         assertThat(actual, instanceOf(TransactionBackendHandler.class));
     }
     
-    @Test
-    public void assertNewInstanceWithUse() throws SQLException {
-        String sql = "use sharding_db";
-        ProxyBackendHandler actual = 
ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
-        assertThat(actual, 
instanceOf(DatabaseAdminUpdateBackendHandler.class));
-    }
-    
-    @Test
-    public void assertNewInstanceWithShowDatabase() throws SQLException {
-        String sql = "show databases";
-        ProxyBackendHandler actual = 
ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
-        assertThat(actual, instanceOf(DatabaseAdminQueryBackendHandler.class));
-    }
-    
-    @Test
-    public void assertNewInstanceWithSet() throws SQLException {
-        String sql = "set @num=1";
-        ProxyBackendHandler actual = 
ProxyBackendHandlerFactory.newInstance(databaseType, sql, connectionSession);
-        assertThat(actual, 
instanceOf(DatabaseAdminUpdateBackendHandler.class));
-    }
-    
     @Test
     public void assertNewInstanceWithShow() throws SQLException {
         String sql = "SHOW VARIABLES LIKE '%x%'";
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
index d91ddcb2d50..9b431a19b9a 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/DatabaseAdminQueryBackendHandlerTest.java
@@ -30,7 +30,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.context.ProxyContext;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.postgresql.executor.SelectTableExecutor;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminQueryExecutor;
 import 
org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
@@ -63,7 +63,7 @@ public final class DatabaseAdminQueryBackendHandlerTest 
extends ProxyContextRest
         ProxyContext.init(contextManager);
         ConnectionSession connectionSession = mock(ConnectionSession.class);
         when(connectionSession.getDatabaseName()).thenReturn("db");
-        SelectTableExecutor executor = mock(SelectTableExecutor.class, 
RETURNS_DEEP_STUBS);
+        DatabaseAdminQueryExecutor executor = 
mock(DatabaseAdminQueryExecutor.class, RETURNS_DEEP_STUBS);
         MergedResult mergedResult = new 
LocalDataMergedResult(Collections.singleton(new 
LocalDataQueryResultRow("demo_ds_0", "demo_ds_1")));
         when(executor.getMergedResult()).thenReturn(mergedResult);
         when(executor.getQueryResultMetaData().getColumnCount()).thenReturn(1);
diff --git a/proxy/backend/type/mysql/pom.xml b/proxy/backend/type/mysql/pom.xml
index dc93b4d8ea8..efa26fcc58a 100644
--- a/proxy/backend/type/mysql/pom.xml
+++ b/proxy/backend/type/mysql/pom.xml
@@ -33,5 +33,24 @@
             <artifactId>shardingsphere-proxy-backend-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-fixture-jdbc</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-fixture-infra</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-util</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandler.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandler.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandler.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandler.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreator.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreator.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreator.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreator.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLInformationSchemaExecutorFactory.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLInformationSchemaExecutorFactory.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLInformationSchemaExecutorFactory.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLInformationSchemaExecutorFactory.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSessionVariableHandler.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSessionVariableHandler.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSessionVariableHandler.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSessionVariableHandler.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/KillProcessExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/KillProcessExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/KillProcessExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/KillProcessExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetCharsetExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetCharsetExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetCharsetExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetCharsetExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/NoResourceShowExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/NoResourceShowExecutor.java
similarity index 99%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/NoResourceShowExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/NoResourceShowExecutor.java
index dcb680b1a8f..d1d27a1bfdf 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/NoResourceShowExecutor.java
+++ 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/NoResourceShowExecutor.java
@@ -72,7 +72,7 @@ public final class NoResourceShowExecutor implements 
DatabaseAdminQueryExecutor
             return new RawMemoryQueryResult(getQueryResultMetaData(), rows);
         }
         List<Object> row = new ArrayList<>(expressions);
-        row.replaceAll(each -> "");
+        Collections.fill(row, "");
         rows.add(new MemoryQueryResultDataRow(row));
         return new RawMemoryQueryResult(getQueryResultMetaData(), rows);
     }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentDatabaseExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentDatabaseExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentDatabaseExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentDatabaseExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTransactionExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTransactionExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTransactionExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTransactionExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UnicastResourceShowExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutor.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutor.java
diff --git 
a/proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
 
b/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
similarity index 89%
copy from 
proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
copy to 
proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
index 090bcd2c4bd..191ea7bd9d5 100644
--- 
a/proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
+++ 
b/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.handler.admin.mysql.TestFixtureSessionVariableHandler
+org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLAdminExecutorCreator
diff --git 
a/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
 
b/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
similarity index 100%
rename from 
proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
rename to 
proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/DefaultMySQLSessionVariableHandlerTest.java
similarity index 93%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/DefaultMySQLSessionVariableHandlerTest.java
index 8aa7ea34644..ebec899c3e2 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/DefaultMySQLSessionVariableHandlerTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/DefaultMySQLSessionVariableHandlerTest.java
@@ -15,10 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor;
 
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.ReplayedSessionVariablesProvider;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.DefaultMySQLSessionVariableHandler;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import 
org.apache.shardingsphere.proxy.backend.session.RequiredSessionVariableRecorder;
 import org.junit.Test;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreatorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLAdminExecutorCreatorTest.java
similarity index 94%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreatorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLAdminExecutorCreatorTest.java
index 008aba15334..bc02d789ccb 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorCreatorTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLAdminExecutorCreatorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor;
 
 import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
@@ -30,20 +30,8 @@ import 
org.apache.shardingsphere.mode.metadata.persist.MetaDataPersistService;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.AbstractDatabaseMetaDataExecutor.DefaultDatabaseMetaDataExecutor;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.NoResourceShowExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowConnectionIdExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowCreateDatabaseExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowCurrentDatabaseExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowCurrentUserExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowDatabasesExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowFunctionStatusExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowProcedureStatusExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowProcessListExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowTablesExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowTransactionExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowVersionExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.UnicastResourceShowExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.UseDatabaseExecutor;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLAdminExecutorCreator;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSetVariableAdminExecutor;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.information.SelectInformationSchemataExecutor;
 import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ExpressionProjectionSegment;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorFactoryTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLAdminExecutorFactoryTest.java
similarity index 93%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorFactoryTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLAdminExecutorFactoryTest.java
index 2393d82a55a..7fc8dbd5e9c 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLAdminExecutorFactoryTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLAdminExecutorFactoryTest.java
@@ -15,13 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor;
 
 import 
org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
 import 
org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowFunctionStatusExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowProcedureStatusExecutor;
-import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.ShowTablesExecutor;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLAdminExecutorCreator;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowFunctionStatusStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowProcedureStatusStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowTablesStatement;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetVariableAdminExecutorTest.java
similarity index 97%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetVariableAdminExecutorTest.java
index 1926c67f970..a10e7e36201 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/MySQLSetVariableAdminExecutorTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/MySQLSetVariableAdminExecutorTest.java
@@ -15,16 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor;
 
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
 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.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.connector.BackendConnection;
+import org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector;
 import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSetVariableAdminExecutor;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowConnectionIdExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCreateDatabaseExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowCurrentUserExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowDatabasesExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowFunctionStatusExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcedureStatusExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowTablesExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowVersionExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/TestFixtureSessionVariableHandler.java
similarity index 92%
copy from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
copy to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/TestFixtureSessionVariableHandler.java
index 8cff6844308..ef1543f89bb 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/TestFixtureSessionVariableHandler.java
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor;
 
+import 
org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 
 public final class TestFixtureSessionVariableHandler implements 
MySQLSessionVariableHandler {
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/UseDatabaseExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutorTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/information/SelectInformationSchemataExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/util/ProxyContextRestorer.java
similarity index 58%
copy from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
copy to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/util/ProxyContextRestorer.java
index 8cff6844308..395d919da30 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/util/ProxyContextRestorer.java
@@ -15,19 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.util;
 
-import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.junit.After;
+import org.junit.Before;
 
-public final class TestFixtureSessionVariableHandler implements 
MySQLSessionVariableHandler {
+public abstract class ProxyContextRestorer {
     
-    @Override
-    public void handle(final ConnectionSession connectionSession, final String 
variableName, final String assignValue) {
-        connectionSession.setCurrentDatabase(assignValue);
+    private ContextManager currentContextManager;
+    
+    @Before
+    public void recordCurrentContextManager() {
+        currentContextManager = ProxyContext.getInstance().getContextManager();
     }
     
-    @Override
-    public String getType() {
-        return "test_fixture";
+    @After
+    public void restorePreviousContextManager() {
+        ProxyContext.init(currentContextManager);
     }
 }
diff --git 
a/proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
 
b/proxy/backend/type/mysql/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
similarity index 88%
copy from 
proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
copy to 
proxy/backend/type/mysql/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
index 090bcd2c4bd..9f7c167ce75 100644
--- 
a/proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
+++ 
b/proxy/backend/type/mysql/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.handler.admin.mysql.TestFixtureSessionVariableHandler
+org.apache.shardingsphere.proxy.backend.handler.admin.mysql.executor.TestFixtureSessionVariableHandler
diff --git a/proxy/backend/type/opengauss/pom.xml 
b/proxy/backend/type/opengauss/pom.xml
index 4eb7dc43caa..9fe6b20c72e 100644
--- a/proxy/backend/type/opengauss/pom.xml
+++ b/proxy/backend/type/opengauss/pom.xml
@@ -33,5 +33,10 @@
             <artifactId>shardingsphere-proxy-backend-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-proxy-backend-postgresql</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreator.java
 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreator.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreator.java
rename to 
proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreator.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutor.java
 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutor.java
rename to 
proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgCatalog.java
 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgCatalog.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgCatalog.java
rename to 
proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgCatalog.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgDatabase.java
 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgDatabase.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgDatabase.java
rename to 
proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/schema/OgDatabase.java
diff --git 
a/proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
 
b/proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
similarity index 89%
rename from 
proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
rename to 
proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
index 090bcd2c4bd..e813b15ae6f 100644
--- 
a/proxy/backend/core/src/test/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLSessionVariableHandler
+++ 
b/proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.handler.admin.mysql.TestFixtureSessionVariableHandler
+org.apache.shardingsphere.proxy.backend.handler.admin.opengauss.OpenGaussAdminExecutorCreator
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreatorTest.java
 
b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreatorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreatorTest.java
rename to 
proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorCreatorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
 
b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
rename to 
proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutorTest.java
 
b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutorTest.java
rename to 
proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussSystemCatalogAdminQueryExecutorTest.java
diff --git a/proxy/backend/type/postgresql/pom.xml 
b/proxy/backend/type/postgresql/pom.xml
index bc041927f3c..1a9043d808e 100644
--- a/proxy/backend/type/postgresql/pom.xml
+++ b/proxy/backend/type/postgresql/pom.xml
@@ -33,5 +33,24 @@
             <artifactId>shardingsphere-proxy-backend-core</artifactId>
             <version>${project.version}</version>
         </dependency>
+        
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-fixture-jdbc</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-fixture-infra</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-util</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandler.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandler.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandler.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandler.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreator.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreator.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreator.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreator.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSets.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSets.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSets.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSets.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutor.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSessionVariableHandler.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSessionVariableHandler.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSessionVariableHandler.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSessionVariableHandler.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutor.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutor.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/PostgreSQLSetCharsetExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/PostgreSQLSetCharsetExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/PostgreSQLSetCharsetExecutor.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/PostgreSQLSetCharsetExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutor.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutor.java
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutor.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutor.java
similarity index 100%
rename from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutor.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutor.java
diff --git 
a/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
 
b/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
similarity index 83%
rename from 
proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
rename to 
proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
index 959ff1c4f87..c1e8752f18c 100644
--- 
a/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
+++ 
b/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminExecutorCreator
@@ -15,6 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.handler.admin.mysql.MySQLAdminExecutorCreator
 
org.apache.shardingsphere.proxy.backend.handler.admin.postgresql.PostgreSQLAdminExecutorCreator
-org.apache.shardingsphere.proxy.backend.handler.admin.opengauss.OpenGaussAdminExecutorCreator
diff --git 
a/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.postgresql.PostgreSQLSessionVariableHandler
 
b/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.postgresql.PostgreSQLSessionVariableHandler
similarity index 100%
rename from 
proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.postgresql.PostgreSQLSessionVariableHandler
rename to 
proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.handler.admin.postgresql.PostgreSQLSessionVariableHandler
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/DefaultPostgreSQLSessionVariableHandlerTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreatorTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreatorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreatorTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLAdminExecutorCreatorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSetsTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSetsTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSetsTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLCharacterSetsTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutorTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutorTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLResetVariableAdminExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutorTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutorTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLSetVariableAdminExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutorTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutorTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/PostgreSQLShowVariableExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutorTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutorTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectDatabaseExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutorTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutorTest.java
similarity index 100%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutorTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/postgresql/executor/SelectTableExecutorTest.java
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/util/ProxyContextRestorer.java
similarity index 58%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/util/ProxyContextRestorer.java
index 8cff6844308..395d919da30 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/TestFixtureSessionVariableHandler.java
+++ 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/util/ProxyContextRestorer.java
@@ -15,19 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.proxy.backend.handler.admin.mysql;
+package org.apache.shardingsphere.proxy.backend.util;
 
-import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.junit.After;
+import org.junit.Before;
 
-public final class TestFixtureSessionVariableHandler implements 
MySQLSessionVariableHandler {
+public abstract class ProxyContextRestorer {
     
-    @Override
-    public void handle(final ConnectionSession connectionSession, final String 
variableName, final String assignValue) {
-        connectionSession.setCurrentDatabase(assignValue);
+    private ContextManager currentContextManager;
+    
+    @Before
+    public void recordCurrentContextManager() {
+        currentContextManager = ProxyContext.getInstance().getContextManager();
     }
     
-    @Override
-    public String getType() {
-        return "test_fixture";
+    @After
+    public void restorePreviousContextManager() {
+        ProxyContext.init(currentContextManager);
     }
 }

Reply via email to