Commit 40beab17 authored by terrymanu's avatar terrymanu
Browse files

refactor ExecuteUpdateResponse

parent bcee8be3
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package io.shardingsphere.proxy.backend.common.jdbc.execute.response;

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.common.packet.DatabasePacket;
import io.shardingsphere.proxy.transport.mysql.packet.command.reponse.CommandResponsePackets;
import io.shardingsphere.proxy.transport.mysql.packet.generic.OKPacket;
import lombok.Getter;
@@ -36,9 +35,9 @@ import java.util.List;
public final class ExecuteUpdateResponse implements ExecuteResponse {
    
    @Getter
    private final List<DatabasePacket> packets = new LinkedList<>();
    private final List<OKPacket> packets = new LinkedList<>();
    
    public ExecuteUpdateResponse(final DatabasePacket packet) {
    public ExecuteUpdateResponse(final OKPacket packet) {
        packets.add(packet);
    }
    
@@ -56,13 +55,10 @@ public final class ExecuteUpdateResponse implements ExecuteResponse {
    public CommandResponsePackets merge() {
        int affectedRows = 0;
        long lastInsertId = 0;
        for (DatabasePacket each : packets) {
            if (each instanceof OKPacket) {
                OKPacket okPacket = (OKPacket) each;
                affectedRows += okPacket.getAffectedRows();
        for (OKPacket each : packets) {
            affectedRows += each.getAffectedRows();
            // TODO consider about insert multiple values
                lastInsertId = okPacket.getLastInsertId();
            }
            lastInsertId = each.getLastInsertId();
        }
        return new CommandResponsePackets(new OKPacket(1, affectedRows, lastInsertId));
    }