Commit 9dd58b12 authored by terrymanu's avatar terrymanu
Browse files

refactor ExecuteUpdateResponseUnit

parent bb4aeae0
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import io.shardingsphere.proxy.backend.common.jdbc.execute.response.unit.Execute
import io.shardingsphere.proxy.backend.common.jdbc.execute.response.unit.ExecuteResponseUnit;
import io.shardingsphere.proxy.backend.common.jdbc.execute.response.unit.ExecuteUpdateResponseUnit;
import io.shardingsphere.proxy.transport.mysql.constant.ColumnType;
import io.shardingsphere.proxy.transport.mysql.packet.command.reponse.CommandResponsePackets;
import io.shardingsphere.proxy.transport.mysql.packet.command.reponse.QueryResponsePackets;
import io.shardingsphere.proxy.transport.mysql.packet.command.text.query.ColumnDefinition41Packet;
import io.shardingsphere.proxy.transport.mysql.packet.command.text.query.FieldCountPacket;
@@ -69,12 +68,12 @@ public abstract class JDBCExecuteEngine implements SQLExecuteEngine {
    protected ExecuteResponseUnit executeWithMetadata(final Statement statement, final String sql, final boolean isReturnGeneratedKeys) throws SQLException {
        setFetchSize(statement);
        if (!executeSQL(statement, sql, isReturnGeneratedKeys)) {
            return new ExecuteUpdateResponseUnit(new CommandResponsePackets(new OKPacket(1, statement.getUpdateCount(), isReturnGeneratedKeys ? getGeneratedKey(statement) : 0)));
            return new ExecuteUpdateResponseUnit(new OKPacket(1, statement.getUpdateCount(), isReturnGeneratedKeys ? getGeneratedKey(statement) : 0));
        }
        ResultSet resultSet = statement.getResultSet();
        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
        if (0 == resultSetMetaData.getColumnCount()) {
            return new ExecuteUpdateResponseUnit(new CommandResponsePackets(new OKPacket(1)));
            return new ExecuteUpdateResponseUnit(new OKPacket(1));
        }
        return new ExecuteQueryResponseUnit(getHeaderPackets(resultSetMetaData), createQueryResult(resultSet));
    }
@@ -82,7 +81,7 @@ public abstract class JDBCExecuteEngine implements SQLExecuteEngine {
    protected ExecuteResponseUnit executeWithoutMetadata(final Statement statement, final String sql, final boolean isReturnGeneratedKeys) throws SQLException {
        setFetchSize(statement);
        if (!executeSQL(statement, sql, isReturnGeneratedKeys)) {
            return new ExecuteUpdateResponseUnit(new CommandResponsePackets(new OKPacket(1, statement.getUpdateCount(), isReturnGeneratedKeys ? getGeneratedKey(statement) : 0)));
            return new ExecuteUpdateResponseUnit(new OKPacket(1, statement.getUpdateCount(), isReturnGeneratedKeys ? getGeneratedKey(statement) : 0));
        }
        return new ExecuteQueryResponseUnit(null, createQueryResult(statement.getResultSet()));
    }
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ public abstract class ConnectionStrictlyExecuteEngine extends JDBCExecuteEngine
        for (Future<Collection<ExecuteResponseUnit>> each : futureList) {
            try {
                for (ExecuteResponseUnit executeResponse : each.get()) {
                    result.getPackets().add(((ExecuteUpdateResponseUnit) executeResponse).getCommandResponsePackets().getHeadPacket());
                    result.getPackets().add(((ExecuteUpdateResponseUnit) executeResponse).getDatabasePacket());
                }
            } catch (final InterruptedException | ExecutionException ex) {
                throw new ShardingException(ex.getMessage(), ex);
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ public final class ExecuteUpdateResponse implements ExecuteResponse {
    
    public ExecuteUpdateResponse(final Collection<ExecuteResponseUnit> responseUnits) {
        for (ExecuteResponseUnit each : responseUnits) {
            packets.add(((ExecuteUpdateResponseUnit) each).getCommandResponsePackets().getHeadPacket());
            packets.add(((ExecuteUpdateResponseUnit) each).getDatabasePacket());
        }
    }
    
+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@

package io.shardingsphere.proxy.backend.common.jdbc.execute.response.unit;

import io.shardingsphere.proxy.transport.mysql.packet.command.reponse.CommandResponsePackets;
import io.shardingsphere.proxy.transport.common.packet.DatabasePacket;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

@@ -30,5 +30,5 @@ import lombok.RequiredArgsConstructor;
@Getter
public final class ExecuteUpdateResponseUnit implements ExecuteResponseUnit {
    
    private final CommandResponsePackets commandResponsePackets;
    private final DatabasePacket databasePacket;
}
+2 −2
Original line number Diff line number Diff line
@@ -97,10 +97,10 @@ public abstract class MemoryStrictlyExecuteEngine extends JDBCExecuteEngine {
    }
    
    private ExecuteResponse getExecuteUpdateResponse(final ExecuteUpdateResponseUnit firstResponseUnit, final List<Future<ExecuteResponseUnit>> futureList) {
        ExecuteUpdateResponse result = new ExecuteUpdateResponse(firstResponseUnit.getCommandResponsePackets().getHeadPacket());
        ExecuteUpdateResponse result = new ExecuteUpdateResponse(firstResponseUnit.getDatabasePacket());
        for (Future<ExecuteResponseUnit> each : futureList) {
            try {
                result.getPackets().add(((ExecuteUpdateResponseUnit) each.get()).getCommandResponsePackets().getHeadPacket());
                result.getPackets().add(((ExecuteUpdateResponseUnit) each.get()).getDatabasePacket());
            } catch (final InterruptedException | ExecutionException ex) {
                throw new ShardingException(ex.getMessage(), ex);
            }