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"));
}
}