package io.mycat.server.sqlcmd;
import io.mycat.backend.BackendConnection;
import io.mycat.server.NonBlockingSession;
import io.mycat.server.packet.ErrorPacket;
public class CommitCommand implements SQLCtrlCommand {
@Override
public void sendCommand(NonBlockingSession session, BackendConnection con) {
con.commit();
}
@Override
public void errorResponse(NonBlockingSession session, byte[] err,
int total, int failed) {
ErrorPacket errPkg = new ErrorPacket();
errPkg.read(err);
String errInfo = "total " + total + " failed " + failed + " detail:"
+ new String(errPkg.message);
session.getSource().setTxInterrupt(errInfo);
errPkg.write(session.getSource());
}
@Override
public void okResponse(NonBlockingSession session, byte[] ok) {
session.getSource().write(ok);
}
@Override
public boolean releaseConOnErr() {
// need rollback when err
return false;
}
@Override
public boolean relaseConOnOK() {
return true;
}
@Override
public boolean isAutoClearSessionCons() {
// need rollback when err
return false;
}
}