本文整理匯總了Java中com.alibaba.cobar.server.ServerConnection.setTxIsolation方法的典型用法代碼示例。如果您正苦於以下問題:Java ServerConnection.setTxIsolation方法的具體用法?Java ServerConnection.setTxIsolation怎麽用?Java ServerConnection.setTxIsolation使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.alibaba.cobar.server.ServerConnection
的用法示例。
在下文中一共展示了ServerConnection.setTxIsolation方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: handle
import com.alibaba.cobar.server.ServerConnection; //導入方法依賴的package包/類
public static void handle(String stmt, ServerConnection c, int offset) {
int rs = ServerParseSet.parse(stmt, offset);
switch (rs & 0xff) {
case AUTOCOMMIT_ON:
if (!c.isAutocommit()) {
c.setAutocommit(true);
}
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
case AUTOCOMMIT_OFF: {
if (c.isAutocommit()) {
c.setAutocommit(false);
}
c.write(c.writeToBuffer(AC_OFF, c.allocate()));
break;
}
case TX_READ_UNCOMMITTED: {
c.setTxIsolation(Isolations.READ_UNCOMMITTED.getCode());
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case TX_READ_COMMITTED: {
c.setTxIsolation(Isolations.READ_COMMITTED.getCode());
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case TX_REPEATED_READ: {
c.setTxIsolation(Isolations.REPEATED_READ.getCode());
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case TX_SERIALIZABLE: {
c.setTxIsolation(Isolations.SERIALIZABLE.getCode());
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case NAMES:
String charset = stmt.substring(rs >>> 8).trim();
if (c.setCharset(charset)) {
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
} else {
c.writeErrMessage(ErrorCode.ER_UNKNOWN_CHARACTER_SET, "Unknown charset '" + charset + "'");
}
break;
case CHARACTER_SET_CLIENT:
case CHARACTER_SET_CONNECTION:
case CHARACTER_SET_RESULTS:
CharacterSet.response(stmt, c, rs);
break;
case SQL_MODE:
SqlMode.response(stmt, c, rs);
break;
case TX_POLICY_1:
c.setTrxPolicy(ITransactionPolicy.TDDL);
break;
// case TX_POLICY_2:
// c.setTrxPolicy(new Cobar());
// c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
// break;
case TX_POLICY_3:
c.setTrxPolicy(ITransactionPolicy.ALLOW_READ_CROSS_DB);
break;
// case TX_POLICY_4:
// c.setTrxPolicy(new Corona());
// c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
// break;
case TX_POLICY_5:
c.setTrxPolicy(ITransactionPolicy.FREE);
break;
case AT_VAR:
c.execute(stmt, ServerParse.SET);
default:
StringBuilder s = new StringBuilder();
logger.warn(s.append(stmt).append(" is not executed").toString());
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
}
}
示例2: handle
import com.alibaba.cobar.server.ServerConnection; //導入方法依賴的package包/類
public static void handle(String stmt, ServerConnection c, int offset) {
int rs = ServerParseSet.parse(stmt, offset);
switch (rs & 0xff) {
case AUTOCOMMIT_ON:
if (c.isAutocommit()) {
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
} else {
c.commit();
c.setAutocommit(true);
}
break;
case AUTOCOMMIT_OFF: {
if (c.isAutocommit()) {
c.setAutocommit(false);
}
c.write(c.writeToBuffer(AC_OFF, c.allocate()));
break;
}
case TX_READ_UNCOMMITTED: {
c.setTxIsolation(Isolations.READ_UNCOMMITTED);
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case TX_READ_COMMITTED: {
c.setTxIsolation(Isolations.READ_COMMITTED);
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case TX_REPEATED_READ: {
c.setTxIsolation(Isolations.REPEATED_READ);
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case TX_SERIALIZABLE: {
c.setTxIsolation(Isolations.SERIALIZABLE);
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
break;
}
case NAMES:
String charset = stmt.substring(rs >>> 8).trim();
if (c.setCharset(charset)) {
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
} else {
c.writeErrMessage(ErrorCode.ER_UNKNOWN_CHARACTER_SET, "Unknown charset '" + charset + "'");
}
break;
case CHARACTER_SET_CLIENT:
case CHARACTER_SET_CONNECTION:
case CHARACTER_SET_RESULTS:
CharacterSet.response(stmt, c, rs);
break;
default:
StringBuilder s = new StringBuilder();
logger.warn(s.append(c).append(stmt).append(" is not executed").toString());
c.write(c.writeToBuffer(OkPacket.OK, c.allocate()));
}
}