package DBProxy.MySQL.Protocol;
/*
* A MySQL ERR Packet
*
* https://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html
* https://dev.mysql.com/doc/refman/5.5/en/error-messages-client.html
*
*/
import java.util.ArrayList;
public class ERR extends Packet {
public long errorCode = 0;
public String sqlState = "HY000";
public String errorMessage = "";
public ArrayList<byte[]> getPayload() {
ArrayList<byte[]> payload = new ArrayList<byte[]>();
payload.add(Proto.build_byte(Flags.ERR));
payload.add(Proto.build_fixed_int(2, this.errorCode));
payload.add(Proto.build_byte((byte)'#'));
payload.add(Proto.build_fixed_str(5, this.sqlState));
payload.add(Proto.build_fixed_str(this.errorMessage.length(), this.errorMessage));
return payload;
}
public static ERR loadFromPacket(byte[] packet) {
ERR obj = new ERR();
Proto proto = new Proto(packet, 3);
obj.sequenceId = proto.get_fixed_int(1);
proto.get_filler(1);
obj.errorCode = proto.get_fixed_int(2);
proto.get_filler(1);
obj.sqlState = proto.get_fixed_str(5);
obj.errorMessage = proto.get_eop_str();
return obj;
}
}