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 c0dd50699d6 Refactor SaneQueryResultEngine (#27943)
c0dd50699d6 is described below

commit c0dd50699d617a7939b7a7f27702b283fbe33de0
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Aug 6 08:01:18 2023 +0800

    Refactor SaneQueryResultEngine (#27943)
    
    * Refactor XATransactionPrivilegeChecker
    
    * Refactor XATransactionPrivilegeChecker
    
    * Refactor DataSourcePoolDestroyer
    
    * Refactor SaneQueryResultEngine
---
 .../proxy/backend/connector/ProxySQLExecutor.java  | 13 ++----
 .../callback/ProxyJDBCExecutorCallback.java        |  3 +-
 .../sane/DefaultSaneQueryResultEngine.java         | 54 ----------------------
 ...gine.java => DialectSaneQueryResultEngine.java} |  4 +-
 .../connector/sane/SaneQueryResultEngine.java      | 34 ++++++++++++--
 ...xy.backend.connector.sane.SaneQueryResultEngine | 18 --------
 ...ineTest.java => SaneQueryResultEngineTest.java} | 13 ++----
 ...java => MySQLDialectSaneQueryResultEngine.java} |  4 +-
 ...nd.connector.sane.DialectSaneQueryResultEngine} |  2 +-
 ... => MySQLDialectSaneQueryResultEngineTest.java} | 18 ++++----
 ... => OpenGaussDialectSaneQueryResultEngine.java} |  4 +-
 ...nd.connector.sane.DialectSaneQueryResultEngine} |  2 +-
 ...OpenGaussDialectSaneQueryResultEngineTest.java} |  6 +--
 ...=> PostgreSQLDialectSaneQueryResultEngine.java} |  4 +-
 ...nd.connector.sane.DialectSaneQueryResultEngine} |  2 +-
 ...ostgreSQLDialectSaneQueryResultEngineTest.java} |  6 +--
 16 files changed, 65 insertions(+), 122 deletions(-)

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 7ee41097a3a..5ff74fb7a02 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
@@ -18,12 +18,12 @@
 package org.apache.shardingsphere.proxy.backend.connector;
 
 import lombok.Getter;
-import 
org.apache.shardingsphere.infra.exception.dialect.exception.transaction.TableModifyInTransactionException;
 import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
-import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
+import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
+import 
org.apache.shardingsphere.infra.exception.dialect.exception.transaction.TableModifyInTransactionException;
 import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
 import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
 import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupReportContext;
@@ -43,7 +43,6 @@ import 
org.apache.shardingsphere.infra.rule.identifier.type.RawExecutionRule;
 import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
 import 
org.apache.shardingsphere.infra.session.connection.transaction.TransactionConnectionContext;
 import org.apache.shardingsphere.infra.session.query.QueryContext;
-import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
 import 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.ProxyJDBCExecutor;
@@ -233,11 +232,7 @@ public final class ProxySQLExecutor {
     
     private List<ExecuteResult> getSaneExecuteResults(final ExecutionContext 
executionContext, final SQLException originalException) throws SQLException {
         DatabaseType databaseType = 
ProxyContext.getInstance().getDatabase(databaseConnectionManager.getConnectionSession().getDatabaseName()).getProtocolType();
-        Optional<ExecuteResult> executeResult = 
DatabaseTypedSPILoader.getService(SaneQueryResultEngine.class, databaseType)
-                
.getSaneQueryResult(executionContext.getSqlStatementContext().getSqlStatement(),
 originalException);
-        if (executeResult.isPresent()) {
-            return Collections.singletonList(executeResult.get());
-        }
-        throw originalException;
+        Optional<ExecuteResult> executeResult = new 
SaneQueryResultEngine(databaseType).getSaneQueryResult(executionContext.getSqlStatementContext().getSqlStatement(),
 originalException);
+        return executeResult.map(Collections::singletonList).orElseThrow(() -> 
originalException);
     }
 }
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 779e530d7a5..bbc41bbe9ef 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
@@ -18,7 +18,6 @@
 package 
org.apache.shardingsphere.proxy.backend.connector.jdbc.executor.callback;
 
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
-import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback;
@@ -103,7 +102,7 @@ public abstract class ProxyJDBCExecutorCallback extends 
JDBCExecutorCallback<Exe
     
     @Override
     protected final Optional<ExecuteResult> getSaneResult(final SQLStatement 
sqlStatement, final SQLException ex) {
-        return DatabaseTypedSPILoader.getService(SaneQueryResultEngine.class, 
getProtocolTypeType()).getSaneQueryResult(sqlStatement, ex);
+        return new 
SaneQueryResultEngine(getProtocolTypeType()).getSaneQueryResult(sqlStatement, 
ex);
     }
     
     private DatabaseType getProtocolTypeType() {
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/DefaultSaneQueryResultEngine.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/DefaultSaneQueryResultEngine.java
deleted file mode 100644
index 7497403d599..00000000000
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/DefaultSaneQueryResultEngine.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.proxy.backend.connector.sane;
-
-import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
-import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
-import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.metadata.RawQueryResultColumnMetaData;
-import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.metadata.RawQueryResultMetaData;
-import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.type.RawMemoryQueryResult;
-import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.type.memory.row.MemoryQueryResultDataRow;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
-
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.Collections;
-import java.util.Optional;
-
-/**
- * Default Sane query result engine.
- */
-public final class DefaultSaneQueryResultEngine implements 
SaneQueryResultEngine {
-    
-    @Override
-    public Optional<ExecuteResult> getSaneQueryResult(final SQLStatement 
sqlStatement, final SQLException ex) {
-        return sqlStatement instanceof SelectStatement ? 
Optional.of(createDefaultQueryResult()) : Optional.empty();
-    }
-    
-    private QueryResult createDefaultQueryResult() {
-        RawQueryResultColumnMetaData queryResultColumnMetaData = new 
RawQueryResultColumnMetaData("", "", "", Types.VARCHAR, "VARCHAR", 255, 0);
-        MemoryQueryResultDataRow resultDataRow = new 
MemoryQueryResultDataRow(Collections.singletonList("1"));
-        return new RawMemoryQueryResult(new 
RawQueryResultMetaData(Collections.singletonList(queryResultColumnMetaData)), 
Collections.singletonList(resultDataRow));
-    }
-    
-    @Override
-    public boolean isDefault() {
-        return true;
-    }
-}
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/DialectSaneQueryResultEngine.java
similarity index 93%
copy from 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
copy to 
proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/DialectSaneQueryResultEngine.java
index 2c42b64dc67..339a5127b1c 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/DialectSaneQueryResultEngine.java
@@ -26,10 +26,10 @@ import java.sql.SQLException;
 import java.util.Optional;
 
 /**
- * Sane query result engine.
+ * Dialect sane query result engine.
  */
 @SingletonSPI
-public interface SaneQueryResultEngine extends DatabaseTypedSPI {
+public interface DialectSaneQueryResultEngine extends DatabaseTypedSPI {
     
     /**
      * Get sane query result.
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
index 2c42b64dc67..70be5a06b5f 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngine.java
@@ -17,19 +17,32 @@
 
 package org.apache.shardingsphere.proxy.backend.connector.sane;
 
+import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
+import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
-import org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPI;
-import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
+import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
+import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.metadata.RawQueryResultColumnMetaData;
+import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.metadata.RawQueryResultMetaData;
+import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.type.RawMemoryQueryResult;
+import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.type.memory.row.MemoryQueryResultDataRow;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
+import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 
 import java.sql.SQLException;
+import java.sql.Types;
+import java.util.Collections;
 import java.util.Optional;
 
 /**
  * Sane query result engine.
  */
-@SingletonSPI
-public interface SaneQueryResultEngine extends DatabaseTypedSPI {
+public final class SaneQueryResultEngine {
+    
+    private final DialectSaneQueryResultEngine dialectEngine;
+    
+    public SaneQueryResultEngine(final DatabaseType databaseType) {
+        dialectEngine = 
DatabaseTypedSPILoader.findService(DialectSaneQueryResultEngine.class, 
databaseType).orElse(null);
+    }
     
     /**
      * Get sane query result.
@@ -38,5 +51,16 @@ public interface SaneQueryResultEngine extends 
DatabaseTypedSPI {
      * @param ex SQL exception
      * @return sane execute result
      */
-    Optional<ExecuteResult> getSaneQueryResult(SQLStatement sqlStatement, 
SQLException ex);
+    public Optional<ExecuteResult> getSaneQueryResult(final SQLStatement 
sqlStatement, final SQLException ex) {
+        if (null == dialectEngine) {
+            return sqlStatement instanceof SelectStatement ? 
Optional.of(getDefaultQueryResult()) : Optional.empty();
+        }
+        return dialectEngine.getSaneQueryResult(sqlStatement, ex);
+    }
+    
+    private QueryResult getDefaultQueryResult() {
+        RawQueryResultColumnMetaData queryResultColumnMetaData = new 
RawQueryResultColumnMetaData("", "", "", Types.VARCHAR, "VARCHAR", 255, 0);
+        MemoryQueryResultDataRow resultDataRow = new 
MemoryQueryResultDataRow(Collections.singletonList("1"));
+        return new RawMemoryQueryResult(new 
RawQueryResultMetaData(Collections.singletonList(queryResultColumnMetaData)), 
Collections.singletonList(resultDataRow));
+    }
 }
diff --git 
a/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
 
b/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
deleted file mode 100644
index 72216cc83bf..00000000000
--- 
a/proxy/backend/core/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-org.apache.shardingsphere.proxy.backend.connector.sane.DefaultSaneQueryResultEngine
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/sane/DefaultSaneQueryResultEngineTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngineTest.java
similarity index 79%
rename from 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/sane/DefaultSaneQueryResultEngineTest.java
rename to 
proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngineTest.java
index 533ec79108c..ff7275bc6cf 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/sane/DefaultSaneQueryResultEngineTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/sane/SaneQueryResultEngineTest.java
@@ -17,9 +17,10 @@
 
 package org.apache.shardingsphere.proxy.backend.connector.sane;
 
+import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.type.RawMemoryQueryResult;
-import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
+import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.junit.jupiter.api.Test;
 
@@ -31,16 +32,12 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-class DefaultSaneQueryResultEngineTest {
-    
-    @Test
-    void assertGetSaneQueryResultForOtherStatement() {
-        
assertThat(DatabaseTypedSPILoader.getService(SaneQueryResultEngine.class, 
null).getSaneQueryResult(() -> 0, null), is(Optional.empty()));
-    }
+class SaneQueryResultEngineTest {
     
     @Test
     void assertGetSaneQueryResultForSelectStatement() {
-        Optional<ExecuteResult> actual = 
DatabaseTypedSPILoader.getService(SaneQueryResultEngine.class, 
null).getSaneQueryResult(new SelectStatement() {
+        SaneQueryResultEngine saneQueryResultEngine = new 
SaneQueryResultEngine(TypedSPILoader.getService(DatabaseType.class, "FIXTURE"));
+        Optional<ExecuteResult> actual = 
saneQueryResultEngine.getSaneQueryResult(new SelectStatement() {
         }, null);
         assertTrue(actual.isPresent());
         assertThat(actual.get(), instanceOf(RawMemoryQueryResult.class));
diff --git 
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLSaneQueryResultEngine.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLDialectSaneQueryResultEngine.java
similarity index 96%
rename from 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLSaneQueryResultEngine.java
rename to 
proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLDialectSaneQueryResultEngine.java
index bc87b10f9cc..c8f5de51856 100644
--- 
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLSaneQueryResultEngine.java
+++ 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLDialectSaneQueryResultEngine.java
@@ -24,7 +24,7 @@ import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.ra
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.raw.type.RawMemoryQueryResult;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.type.memory.row.MemoryQueryResultDataRow;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.update.UpdateResult;
-import 
org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine;
+import 
org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine;
 import 
org.apache.shardingsphere.proxy.backend.mysql.handler.admin.executor.sysvar.MySQLSystemVariable;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.VariableSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ExpressionProjectionSegment;
@@ -44,7 +44,7 @@ import java.util.Optional;
 /**
  * Sane query result engine for MySQL.
  */
-public final class MySQLSaneQueryResultEngine implements SaneQueryResultEngine 
{
+public final class MySQLDialectSaneQueryResultEngine implements 
DialectSaneQueryResultEngine {
     
     private static final int ER_PARSE_ERROR = 1064;
     
diff --git 
a/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
 
b/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
similarity index 96%
rename from 
proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
rename to 
proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
index 5b318e12190..f04159d9659 100644
--- 
a/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
+++ 
b/proxy/backend/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.mysql.connector.sane.MySQLSaneQueryResultEngine
+org.apache.shardingsphere.proxy.backend.mysql.connector.sane.MySQLDialectSaneQueryResultEngine
diff --git 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLSaneQueryResultEngineTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLDialectSaneQueryResultEngineTest.java
similarity index 81%
rename from 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLSaneQueryResultEngineTest.java
rename to 
proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLDialectSaneQueryResultEngineTest.java
index b7531f49446..a42e4cd2c4b 100644
--- 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLSaneQueryResultEngineTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/connector/sane/MySQLDialectSaneQueryResultEngineTest.java
@@ -41,19 +41,19 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-class MySQLSaneQueryResultEngineTest {
+class MySQLDialectSaneQueryResultEngineTest {
     
     @Test
     void assertGetSaneQueryResultForSyntaxError() {
         SQLException ex = new SQLException("", "", 1064, null);
-        assertThat(new MySQLSaneQueryResultEngine().getSaneQueryResult(null, 
ex), is(Optional.empty()));
+        assertThat(new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(null, ex), 
is(Optional.empty()));
     }
     
     @Test
     void assertGetSaneQueryResultForSelectStatementWithFrom() {
         MySQLSelectStatement selectStatement = new MySQLSelectStatement();
         selectStatement.setFrom(new SimpleTableSegment(new TableNameSegment(0, 
0, new IdentifierValue("t"))));
-        assertThat(new 
MySQLSaneQueryResultEngine().getSaneQueryResult(selectStatement, new 
SQLException()), is(Optional.empty()));
+        assertThat(new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(selectStatement, new 
SQLException()), is(Optional.empty()));
     }
     
     @Test
@@ -62,7 +62,7 @@ class MySQLSaneQueryResultEngineTest {
         selectStatement.setProjections(new ProjectionsSegment(0, 0));
         selectStatement.getProjections().getProjections().add(new 
ExpressionProjectionSegment(0, 0, "@@session.transaction_read_only", new 
VariableSegment(0, 0, "transaction_read_only")));
         selectStatement.getProjections().getProjections().add(new 
ExpressionProjectionSegment(0, 0, "unknown_variable"));
-        Optional<ExecuteResult> actual = new 
MySQLSaneQueryResultEngine().getSaneQueryResult(selectStatement, new 
SQLException());
+        Optional<ExecuteResult> actual = new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(selectStatement, new 
SQLException());
         assertTrue(actual.isPresent());
         assertThat(actual.get(), instanceOf(RawMemoryQueryResult.class));
         RawMemoryQueryResult actualResult = (RawMemoryQueryResult) 
actual.get();
@@ -77,19 +77,19 @@ class MySQLSaneQueryResultEngineTest {
     void assertGetSaneQueryResultForSelectNoProjectionsStatementWithoutFrom() {
         MySQLSelectStatement selectStatement = new MySQLSelectStatement();
         selectStatement.setProjections(new ProjectionsSegment(0, 0));
-        assertThat(new 
MySQLSaneQueryResultEngine().getSaneQueryResult(selectStatement, new 
SQLException()), is(Optional.empty()));
+        assertThat(new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(selectStatement, new 
SQLException()), is(Optional.empty()));
     }
     
     @Test
     void assertGetSaneQueryResultForSetStatement() {
-        Optional<ExecuteResult> actual = new 
MySQLSaneQueryResultEngine().getSaneQueryResult(new MySQLSetStatement(), new 
SQLException());
+        Optional<ExecuteResult> actual = new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(new MySQLSetStatement(), 
new SQLException());
         assertTrue(actual.isPresent());
         assertThat(actual.get(), instanceOf(UpdateResult.class));
     }
     
     @Test
     void assertGetSaneQueryResultForShowOtherStatement() {
-        Optional<ExecuteResult> actual = new 
MySQLSaneQueryResultEngine().getSaneQueryResult(new MySQLShowOtherStatement(), 
new SQLException());
+        Optional<ExecuteResult> actual = new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(new 
MySQLShowOtherStatement(), new SQLException());
         assertTrue(actual.isPresent());
         assertThat(actual.get(), instanceOf(RawMemoryQueryResult.class));
         RawMemoryQueryResult actualResult = (RawMemoryQueryResult) 
actual.get();
@@ -101,11 +101,11 @@ class MySQLSaneQueryResultEngineTest {
     
     @Test
     void assertGetSaneQueryResultForOtherStatements() {
-        assertThat(new MySQLSaneQueryResultEngine().getSaneQueryResult(new 
MySQLInsertStatement(), new SQLException()), is(Optional.empty()));
+        assertThat(new 
MySQLDialectSaneQueryResultEngine().getSaneQueryResult(new 
MySQLInsertStatement(), new SQLException()), is(Optional.empty()));
     }
     
     @Test
     void assertGetType() {
-        assertThat(new MySQLSaneQueryResultEngine().getType().getType(), 
is("MySQL"));
+        assertThat(new 
MySQLDialectSaneQueryResultEngine().getType().getType(), is("MySQL"));
     }
 }
diff --git 
a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussSaneQueryResultEngine.java
 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussDialectSaneQueryResultEngine.java
similarity index 88%
rename from 
proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussSaneQueryResultEngine.java
rename to 
proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussDialectSaneQueryResultEngine.java
index 994d81cc4f9..bf41e47fc1f 100644
--- 
a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussSaneQueryResultEngine.java
+++ 
b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussDialectSaneQueryResultEngine.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.opengauss.connector.sane;
 
-import 
org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine;
+import 
org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
@@ -27,7 +27,7 @@ import java.util.Optional;
 /**
  * Sane query result engine for openGauss.
  */
-public final class OpenGaussSaneQueryResultEngine implements 
SaneQueryResultEngine {
+public final class OpenGaussDialectSaneQueryResultEngine implements 
DialectSaneQueryResultEngine {
     
     @Override
     public Optional<ExecuteResult> getSaneQueryResult(final SQLStatement 
sqlStatement, final SQLException ex) {
diff --git 
a/proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
 
b/proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
similarity index 95%
rename from 
proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
rename to 
proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
index d58a2507c17..ef8b18dabfe 100644
--- 
a/proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
+++ 
b/proxy/backend/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.opengauss.connector.sane.OpenGaussSaneQueryResultEngine
+org.apache.shardingsphere.proxy.backend.opengauss.connector.sane.OpenGaussDialectSaneQueryResultEngine
diff --git 
a/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussSaneQueryResultEngineTest.java
 
b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussDialectSaneQueryResultEngineTest.java
similarity index 80%
rename from 
proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussSaneQueryResultEngineTest.java
rename to 
proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussDialectSaneQueryResultEngineTest.java
index e21317ff56e..e3c3a917bfb 100644
--- 
a/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussSaneQueryResultEngineTest.java
+++ 
b/proxy/backend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/backend/opengauss/connector/sane/OpenGaussDialectSaneQueryResultEngineTest.java
@@ -24,15 +24,15 @@ import java.util.Optional;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-class OpenGaussSaneQueryResultEngineTest {
+class OpenGaussDialectSaneQueryResultEngineTest {
     
     @Test
     void assertGetSaneQueryResult() {
-        assertThat(new 
OpenGaussSaneQueryResultEngine().getSaneQueryResult(null, null), 
is(Optional.empty()));
+        assertThat(new 
OpenGaussDialectSaneQueryResultEngine().getSaneQueryResult(null, null), 
is(Optional.empty()));
     }
     
     @Test
     void assertGetType() {
-        assertThat(new OpenGaussSaneQueryResultEngine().getType().getType(), 
is("openGauss"));
+        assertThat(new 
OpenGaussDialectSaneQueryResultEngine().getType().getType(), is("openGauss"));
     }
 }
diff --git 
a/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLSaneQueryResultEngine.java
 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLDialectSaneQueryResultEngine.java
similarity index 88%
rename from 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLSaneQueryResultEngine.java
rename to 
proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLDialectSaneQueryResultEngine.java
index 19604fd0ae6..b800c4dedbc 100644
--- 
a/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLSaneQueryResultEngine.java
+++ 
b/proxy/backend/type/postgresql/src/main/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLDialectSaneQueryResultEngine.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.postgresql.connector.sane;
 
-import 
org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine;
+import 
org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.ExecuteResult;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 
@@ -27,7 +27,7 @@ import java.util.Optional;
 /**
  * Sane query result engine for PostgreSQL.
  */
-public final class PostgreSQLSaneQueryResultEngine implements 
SaneQueryResultEngine {
+public final class PostgreSQLDialectSaneQueryResultEngine implements 
DialectSaneQueryResultEngine {
     
     @Override
     public Optional<ExecuteResult> getSaneQueryResult(final SQLStatement 
sqlStatement, final SQLException ex) {
diff --git 
a/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
 
b/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
similarity index 95%
rename from 
proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
rename to 
proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
index 1167baf6cfa..9ad5e0dad0a 100644
--- 
a/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.SaneQueryResultEngine
+++ 
b/proxy/backend/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.proxy.backend.connector.sane.DialectSaneQueryResultEngine
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.proxy.backend.postgresql.connector.sane.PostgreSQLSaneQueryResultEngine
+org.apache.shardingsphere.proxy.backend.postgresql.connector.sane.PostgreSQLDialectSaneQueryResultEngine
diff --git 
a/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLSaneQueryResultEngineTest.java
 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLDialectSaneQueryResultEngineTest.java
similarity index 80%
rename from 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLSaneQueryResultEngineTest.java
rename to 
proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLDialectSaneQueryResultEngineTest.java
index 782be4c1aa5..8a0ed688857 100644
--- 
a/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLSaneQueryResultEngineTest.java
+++ 
b/proxy/backend/type/postgresql/src/test/java/org/apache/shardingsphere/proxy/backend/postgresql/connector/sane/PostgreSQLDialectSaneQueryResultEngineTest.java
@@ -24,15 +24,15 @@ import java.util.Optional;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-class PostgreSQLSaneQueryResultEngineTest {
+class PostgreSQLDialectSaneQueryResultEngineTest {
     
     @Test
     void assertGetSaneQueryResult() {
-        assertThat(new 
PostgreSQLSaneQueryResultEngine().getSaneQueryResult(null, null), 
is(Optional.empty()));
+        assertThat(new 
PostgreSQLDialectSaneQueryResultEngine().getSaneQueryResult(null, null), 
is(Optional.empty()));
     }
     
     @Test
     void assertGetType() {
-        assertThat(new PostgreSQLSaneQueryResultEngine().getType().getType(), 
is("PostgreSQL"));
+        assertThat(new 
PostgreSQLDialectSaneQueryResultEngine().getType().getType(), is("PostgreSQL"));
     }
 }


Reply via email to