From 63eb20f40e7bc91a1f0d25a86f82682bd7c1ae90 Mon Sep 17 00:00:00 2001 From: terrymanu Date: Mon, 25 Feb 2019 23:14:52 +0800 Subject: [PATCH] for #1898, remove SuccessResponse --- .../jdbc/JDBCDatabaseCommunicationEngine.java | 3 +- .../result/common/SuccessResponse.java | 40 ------------------- .../backend/result/update/UpdateResponse.java | 5 +++ .../text/admin/BroadcastBackendHandler.java | 4 +- .../admin/GUICompatibilityBackendHandler.java | 4 +- .../text/admin/UseDatabaseBackendHandler.java | 4 +- .../set/ShardingCTLSetBackendHandler.java | 4 +- .../text/transaction/SkipBackendHandler.java | 4 +- .../TransactionBackendHandler.java | 4 +- .../MySQLQueryComStmtExecutePacket.java | 9 ----- .../query/text/query/MySQLComPacketQuery.java | 8 ---- .../binary/bind/PostgreSQLComBindPacket.java | 9 ----- .../query/text/PostgreSQLComQueryPacket.java | 8 ---- .../admin/BroadcastBackendHandlerTest.java | 10 ++--- .../text/admin/UnicastBackendHandlerTest.java | 8 ++-- .../admin/UseDatabaseBackendHandlerTest.java | 4 +- .../set/ShardingCTLSetBackendHandlerTest.java | 8 ++-- .../transaction/SkipBackendHandlerTest.java | 4 +- .../TransactionBackendHandlerTest.java | 4 +- 19 files changed, 37 insertions(+), 107 deletions(-) delete mode 100644 sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/common/SuccessResponse.java diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java index 61be955b57..75e314ee50 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java @@ -34,7 +34,6 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connec import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.execute.JDBCExecuteEngine; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryHeader; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryResponse; @@ -85,7 +84,7 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat private BackendResponse execute(final SQLRouteResult routeResult) throws SQLException { if (routeResult.getRouteUnits().isEmpty()) { - return new SuccessResponse(); + return new UpdateResponse(); } SQLStatement sqlStatement = routeResult.getSqlStatement(); if (isUnsupportedXA(sqlStatement.getType()) || isUnsupportedBASE(sqlStatement.getType())) { diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/common/SuccessResponse.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/common/SuccessResponse.java deleted file mode 100644 index 0a2e96af48..0000000000 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/common/SuccessResponse.java +++ /dev/null @@ -1,40 +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.shardingproxy.backend.result.common; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; - -/** - * Success response. - * - * @author zhangliang - */ -@RequiredArgsConstructor -@Getter -public final class SuccessResponse implements BackendResponse { - - private final long affectedRows; - - private final long lastInsertId; - - public SuccessResponse() { - this(0L, 0L); - } -} diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/update/UpdateResponse.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/update/UpdateResponse.java index 17b2fee382..e9e07ce5c0 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/update/UpdateResponse.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/result/update/UpdateResponse.java @@ -23,6 +23,7 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.execut import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import java.util.Collection; +import java.util.Collections; import java.util.LinkedList; import java.util.List; @@ -41,6 +42,10 @@ public final class UpdateResponse implements BackendResponse { @Getter private long updateCount; + public UpdateResponse() { + this(Collections.emptyList()); + } + public UpdateResponse(final Collection responseUnits) { for (ExecuteResponseUnit each : responseUnits) { updateCount = ((ExecuteUpdateResponseUnit) each).getUpdateCount(); diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandler.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandler.java index 0c619c9406..2158317589 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandler.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandler.java @@ -22,8 +22,8 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCom import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.backend.text.TextProtocolBackendHandler; import org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry; @@ -56,7 +56,7 @@ public final class BroadcastBackendHandler implements TextProtocolBackendHandler return each; } } - return new SuccessResponse(); + return new UpdateResponse(); } @Override diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/GUICompatibilityBackendHandler.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/GUICompatibilityBackendHandler.java index 03c887ec70..3af44e4a9a 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/GUICompatibilityBackendHandler.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/GUICompatibilityBackendHandler.java @@ -18,8 +18,8 @@ package org.apache.shardingsphere.shardingproxy.backend.text.admin; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.backend.text.TextProtocolBackendHandler; /** @@ -31,7 +31,7 @@ public final class GUICompatibilityBackendHandler implements TextProtocolBackend @Override public BackendResponse execute() { - return new SuccessResponse(); + return new UpdateResponse(); } @Override diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandler.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandler.java index c741fee55f..3ae1cf0ae3 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandler.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandler.java @@ -23,8 +23,8 @@ import org.apache.shardingsphere.core.util.SQLUtil; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.backend.text.TextProtocolBackendHandler; import org.apache.shardingsphere.shardingproxy.runtime.GlobalRegistry; import org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode; @@ -49,7 +49,7 @@ public final class UseDatabaseBackendHandler implements TextProtocolBackendHandl return new FailureResponse(MySQLServerErrorCode.ER_BAD_DB_ERROR, schema); } backendConnection.setCurrentSchema(schema); - return new SuccessResponse(); + return new UpdateResponse(); } @Override diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandler.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandler.java index 5bf89196e8..57362e86ea 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandler.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandler.java @@ -21,8 +21,8 @@ import com.google.common.base.Optional; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.backend.text.TextProtocolBackendHandler; import org.apache.shardingsphere.transaction.core.TransactionType; @@ -59,7 +59,7 @@ public final class ShardingCTLSetBackendHandler implements TextProtocolBackendHa default: return new FailureResponse(0, "", String.format("Could not support this sctl grammar [%s].", sql)); } - return new SuccessResponse(); + return new UpdateResponse(); } @Override diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandler.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandler.java index e305dbace7..16286204e9 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandler.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandler.java @@ -18,8 +18,8 @@ package org.apache.shardingsphere.shardingproxy.backend.text.transaction; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.backend.text.TextProtocolBackendHandler; /** @@ -31,7 +31,7 @@ public final class SkipBackendHandler implements TextProtocolBackendHandler { @Override public BackendResponse execute() { - return new SuccessResponse(); + return new UpdateResponse(); } @Override diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandler.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandler.java index 87e3cad69c..d026dbd3be 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandler.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandler.java @@ -21,8 +21,8 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connec import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendTransactionManager; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.backend.text.TextProtocolBackendHandler; import org.apache.shardingsphere.transaction.core.TransactionOperationType; @@ -68,7 +68,7 @@ public final class TransactionBackendHandler implements TextProtocolBackendHandl default: throw new SQLFeatureNotSupportedException(operationType.name()); } - return new SuccessResponse(); + return new UpdateResponse(); } @Override diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLQueryComStmtExecutePacket.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLQueryComStmtExecutePacket.java index 933fcd669f..84bdd50caf 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLQueryComStmtExecutePacket.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/binary/execute/MySQLQueryComStmtExecutePacket.java @@ -26,7 +26,6 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCom import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryHeader; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryResponse; @@ -36,7 +35,6 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.C import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.query.DataHeaderPacket; import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.query.QueryResponsePackets; import org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.DatabaseFailurePacket; -import org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.DatabaseSuccessPacket; import org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLColumnType; import org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLNewParametersBoundFlag; import org.apache.shardingsphere.shardingproxy.transport.mysql.constant.MySQLServerErrorCode; @@ -156,9 +154,6 @@ public final class MySQLQueryComStmtExecutePacket implements MySQLQueryCommandPa return Optional.of(new CommandResponsePackets(new MySQLErrPacket(1, MySQLServerErrorCode.ER_CIRCUIT_BREAK_MODE))); } BackendResponse backendResponse = databaseCommunicationEngine.execute(); - if (backendResponse instanceof SuccessResponse) { - return Optional.of(new CommandResponsePackets(createDatabaseSuccessPacket((SuccessResponse) backendResponse))); - } if (backendResponse instanceof FailureResponse) { return Optional.of(new CommandResponsePackets(createDatabaseFailurePacket((FailureResponse) backendResponse))); } @@ -167,10 +162,6 @@ public final class MySQLQueryComStmtExecutePacket implements MySQLQueryCommandPa return Optional.of(new QueryResponsePackets(dataHeaderPackets, dataHeaderEofSequenceId)); } - private DatabaseSuccessPacket createDatabaseSuccessPacket(final SuccessResponse successResponse) { - return new DatabaseSuccessPacket(1, successResponse.getAffectedRows(), successResponse.getLastInsertId()); - } - private DatabaseFailurePacket createDatabaseFailurePacket(final FailureResponse failureResponse) { return new DatabaseFailurePacket(1, failureResponse.getErrorCode(), failureResponse.getSqlState(), failureResponse.getErrorMessage()); } diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/MySQLComPacketQuery.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/MySQLComPacketQuery.java index a07a7d578c..98b83a6d28 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/MySQLComPacketQuery.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/mysql/packet/command/query/text/query/MySQLComPacketQuery.java @@ -23,7 +23,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryHeader; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryResponse; @@ -95,9 +94,6 @@ public final class MySQLComPacketQuery implements MySQLQueryCommandPacket { return Optional.of(new CommandResponsePackets(new MySQLErrPacket(1, MySQLServerErrorCode.ER_CIRCUIT_BREAK_MODE))); } BackendResponse backendResponse = textProtocolBackendHandler.execute(); - if (backendResponse instanceof SuccessResponse) { - return Optional.of(new CommandResponsePackets(createDatabaseSuccessPacket())); - } if (backendResponse instanceof FailureResponse) { return Optional.of(new CommandResponsePackets(createDatabaseFailurePacket((FailureResponse) backendResponse))); } @@ -109,10 +105,6 @@ public final class MySQLComPacketQuery implements MySQLQueryCommandPacket { return Optional.of(new QueryResponsePackets(dataHeaderPackets, dataHeaderEofSequenceId)); } - private DatabaseSuccessPacket createDatabaseSuccessPacket() { - return new DatabaseSuccessPacket(1, 0, 0); - } - private DatabaseFailurePacket createDatabaseFailurePacket(final FailureResponse failureResponse) { return new DatabaseFailurePacket(1, failureResponse.getErrorCode(), failureResponse.getSqlState(), failureResponse.getErrorMessage()); } diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/binary/bind/PostgreSQLComBindPacket.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/binary/bind/PostgreSQLComBindPacket.java index 56316d2fd8..efe5bbc3fe 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/binary/bind/PostgreSQLComBindPacket.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/binary/bind/PostgreSQLComBindPacket.java @@ -25,7 +25,6 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCom import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryData; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryHeader; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryResponse; @@ -35,7 +34,6 @@ import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.C import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.query.DataHeaderPacket; import org.apache.shardingsphere.shardingproxy.transport.common.packet.command.query.QueryResponsePackets; import org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.DatabaseFailurePacket; -import org.apache.shardingsphere.shardingproxy.transport.common.packet.generic.DatabaseSuccessPacket; import org.apache.shardingsphere.shardingproxy.transport.postgresql.constant.PostgreSQLColumnType; import org.apache.shardingsphere.shardingproxy.transport.postgresql.packet.PostgreSQLPacketPayload; import org.apache.shardingsphere.shardingproxy.transport.postgresql.packet.command.PostgreSQLCommandPacketType; @@ -116,9 +114,6 @@ public final class PostgreSQLComBindPacket implements PostgreSQLQueryCommandPack CommandResponsePackets result = new CommandResponsePackets(new PostgreSQLBindCompletePacket()); if (null != databaseCommunicationEngine) { BackendResponse backendResponse = databaseCommunicationEngine.execute(); - if (backendResponse instanceof SuccessResponse) { - return Optional.of(new CommandResponsePackets(createDatabaseSuccessPacket((SuccessResponse) backendResponse))); - } if (backendResponse instanceof FailureResponse) { return Optional.of(new CommandResponsePackets(createDatabaseFailurePacket((FailureResponse) backendResponse))); } @@ -128,10 +123,6 @@ public final class PostgreSQLComBindPacket implements PostgreSQLQueryCommandPack return Optional.of(result); } - private DatabaseSuccessPacket createDatabaseSuccessPacket(final SuccessResponse successResponse) { - return new DatabaseSuccessPacket(1, successResponse.getAffectedRows(), successResponse.getLastInsertId()); - } - private DatabaseFailurePacket createDatabaseFailurePacket(final FailureResponse failureResponse) { return new DatabaseFailurePacket(1, failureResponse.getErrorCode(), failureResponse.getSqlState(), failureResponse.getErrorMessage()); } diff --git a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/text/PostgreSQLComQueryPacket.java b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/text/PostgreSQLComQueryPacket.java index 9b2dd308e7..f9a7ffbc6d 100644 --- a/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/text/PostgreSQLComQueryPacket.java +++ b/sharding-proxy/src/main/java/org/apache/shardingsphere/shardingproxy/transport/postgresql/packet/command/query/text/PostgreSQLComQueryPacket.java @@ -23,7 +23,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryHeader; import org.apache.shardingsphere.shardingproxy.backend.result.query.QueryResponse; import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; @@ -78,9 +77,6 @@ public final class PostgreSQLComQueryPacket implements PostgreSQLQueryCommandPac return Optional.of(new CommandResponsePackets(new MySQLErrPacket(1, MySQLServerErrorCode.ER_CIRCUIT_BREAK_MODE))); } BackendResponse backendResponse = textProtocolBackendHandler.execute(); - if (backendResponse instanceof SuccessResponse) { - return Optional.of(new CommandResponsePackets(createDatabaseSuccessPacket())); - } if (backendResponse instanceof FailureResponse) { return Optional.of(new CommandResponsePackets(createDatabaseFailurePacket((FailureResponse) backendResponse))); } @@ -91,10 +87,6 @@ public final class PostgreSQLComQueryPacket implements PostgreSQLQueryCommandPac return Optional.of(new QueryResponsePackets(dataHeaderPackets, dataHeaderPackets.size() + 2)); } - private DatabaseSuccessPacket createDatabaseSuccessPacket() { - return new DatabaseSuccessPacket(1, 0, 0); - } - private DatabaseFailurePacket createDatabaseFailurePacket(final FailureResponse failureResponse) { return new DatabaseFailurePacket(1, failureResponse.getErrorCode(), failureResponse.getSqlState(), failureResponse.getErrorMessage()); } diff --git a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandlerTest.java b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandlerTest.java index 526ca146e0..4b0c638cf4 100644 --- a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandlerTest.java +++ b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/BroadcastBackendHandlerTest.java @@ -24,7 +24,7 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCom import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.runtime.schema.LogicSchema; import org.junit.Test; import org.junit.runner.RunWith; @@ -58,13 +58,13 @@ public final class BroadcastBackendHandlerTest { @Test public void assertExecuteSuccess() { MockGlobalRegistryUtil.setLogicSchemas("schema", 10); - mockDatabaseCommunicationEngine(new SuccessResponse(0L, 0L)); + mockDatabaseCommunicationEngine(new UpdateResponse()); BroadcastBackendHandler broadcastBackendHandler = new BroadcastBackendHandler("SET timeout = 1000", backendConnection); setBackendHandlerFactory(broadcastBackendHandler); BackendResponse actual = broadcastBackendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); - assertThat(((SuccessResponse) actual).getAffectedRows(), is(0L)); - assertThat(((SuccessResponse) actual).getLastInsertId(), is(0L)); + assertThat(actual, instanceOf(UpdateResponse.class)); + assertThat(((UpdateResponse) actual).getUpdateCount(), is(0L)); + assertThat(((UpdateResponse) actual).getLastInsertId(), is(0L)); verify(databaseCommunicationEngine, times(10)).execute(); } diff --git a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UnicastBackendHandlerTest.java b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UnicastBackendHandlerTest.java index 5130a2c375..64e543a08f 100644 --- a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UnicastBackendHandlerTest.java +++ b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UnicastBackendHandlerTest.java @@ -23,7 +23,7 @@ import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCom import org.apache.shardingsphere.shardingproxy.backend.communication.DatabaseCommunicationEngineFactory; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.shardingproxy.runtime.schema.LogicSchema; import org.apache.shardingsphere.transaction.core.TransactionType; import org.junit.Before; @@ -52,7 +52,7 @@ public final class UnicastBackendHandlerTest { @Before public void setUp() { MockGlobalRegistryUtil.setLogicSchemas("schema", 10); - setUnderlyingHandler(new SuccessResponse(0L, 0L)); + setUnderlyingHandler(new UpdateResponse()); } @Test @@ -60,7 +60,7 @@ public final class UnicastBackendHandlerTest { UnicastBackendHandler backendHandler = new UnicastBackendHandler("show variable like %s", backendConnection); setDatabaseCommunicationEngine(backendHandler); BackendResponse actual = backendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); backendHandler.execute(); } @@ -70,7 +70,7 @@ public final class UnicastBackendHandlerTest { UnicastBackendHandler backendHandler = new UnicastBackendHandler("show variable like %s", backendConnection); setDatabaseCommunicationEngine(backendHandler); BackendResponse actual = backendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); backendHandler.execute(); } diff --git a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandlerTest.java b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandlerTest.java index 2584e0cbc5..ff1485d708 100644 --- a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandlerTest.java +++ b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/admin/UseDatabaseBackendHandlerTest.java @@ -22,7 +22,7 @@ import org.apache.shardingsphere.shardingproxy.backend.MockGlobalRegistryUtil; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -55,7 +55,7 @@ public final class UseDatabaseBackendHandlerTest { UseDatabaseBackendHandler useSchemaBackendHandler = new UseDatabaseBackendHandler(useStatement, backendConnection); BackendResponse actual = useSchemaBackendHandler.execute(); verify(backendConnection).setCurrentSchema(anyString()); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); } @Test diff --git a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandlerTest.java b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandlerTest.java index 0ccb148237..9259cd6f3d 100644 --- a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandlerTest.java +++ b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/sctl/set/ShardingCTLSetBackendHandlerTest.java @@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingproxy.backend.text.sctl.set; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; import org.apache.shardingsphere.shardingproxy.backend.result.common.FailureResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.transaction.core.TransactionType; import org.junit.Test; @@ -37,7 +37,7 @@ public final class ShardingCTLSetBackendHandlerTest { backendConnection.setCurrentSchema("schema"); ShardingCTLSetBackendHandler shardingCTLBackendHandler = new ShardingCTLSetBackendHandler("sctl:set transaction_type=XA", backendConnection); BackendResponse actual = shardingCTLBackendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); assertThat(backendConnection.getTransactionType(), is(TransactionType.XA)); } @@ -46,7 +46,7 @@ public final class ShardingCTLSetBackendHandlerTest { backendConnection.setCurrentSchema("schema"); ShardingCTLSetBackendHandler shardingCTLBackendHandler = new ShardingCTLSetBackendHandler("sctl:set transaction_type=BASE", backendConnection); BackendResponse actual = shardingCTLBackendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); assertThat(backendConnection.getTransactionType(), is(TransactionType.BASE)); } @@ -55,7 +55,7 @@ public final class ShardingCTLSetBackendHandlerTest { backendConnection.setCurrentSchema("schema"); ShardingCTLSetBackendHandler shardingCTLBackendHandler = new ShardingCTLSetBackendHandler("sctl:set transaction_type=LOCAL", backendConnection); BackendResponse actual = shardingCTLBackendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); assertThat(backendConnection.getTransactionType(), is(TransactionType.LOCAL)); } diff --git a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandlerTest.java b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandlerTest.java index 59a4118881..54433a45c2 100644 --- a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandlerTest.java +++ b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/SkipBackendHandlerTest.java @@ -18,7 +18,7 @@ package org.apache.shardingsphere.shardingproxy.backend.text.transaction; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.junit.Test; import static org.hamcrest.CoreMatchers.instanceOf; @@ -30,6 +30,6 @@ public final class SkipBackendHandlerTest { public void assertExecuteSkipBackendHandler() { SkipBackendHandler skipBackendHandler = new SkipBackendHandler(); BackendResponse actual = skipBackendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); } } diff --git a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandlerTest.java b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandlerTest.java index 4a0ebdeb49..6e79757bd4 100644 --- a/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandlerTest.java +++ b/sharding-proxy/src/test/java/org/apache/shardingsphere/shardingproxy/backend/text/transaction/TransactionBackendHandlerTest.java @@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingproxy.backend.text.transaction; import org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.connection.BackendConnection; import org.apache.shardingsphere.shardingproxy.backend.result.BackendResponse; -import org.apache.shardingsphere.shardingproxy.backend.result.common.SuccessResponse; +import org.apache.shardingsphere.shardingproxy.backend.result.update.UpdateResponse; import org.apache.shardingsphere.transaction.core.TransactionOperationType; import org.apache.shardingsphere.transaction.core.TransactionType; import org.junit.Test; @@ -38,6 +38,6 @@ public final class TransactionBackendHandlerTest { public void assertExecute() { TransactionBackendHandler transactionBackendHandler = new TransactionBackendHandler(TransactionOperationType.BEGIN, backendConnection); BackendResponse actual = transactionBackendHandler.execute(); - assertThat(actual, instanceOf(SuccessResponse.class)); + assertThat(actual, instanceOf(UpdateResponse.class)); } } -- GitLab