提交 af159ebe authored 作者: Andrei Tokar's avatar Andrei Tokar

expand synchronized scope in Command back to what it was

上级 86e99ef0
......@@ -194,17 +194,15 @@ public abstract class Command implements CommandInterface {
// wait
}
}
//noinspection SynchronizationOnLocalVariableOrMethodParameter
synchronized (sync) {
session.startStatementWithinTransaction();
session.setCurrentCommand(this, false);
try {
while (true) {
database.checkPowerOff();
try {
ResultInterface result;
//noinspection SynchronizationOnLocalVariableOrMethodParameter
synchronized (sync) {
result = query(maxrows);
}
ResultInterface result = query(maxrows);
callStop = !result.isLazy();
return result;
} catch (DbException e) {
......@@ -241,6 +239,7 @@ public abstract class Command implements CommandInterface {
}
}
}
}
@Override
public ResultWithGeneratedKeys executeUpdate(Object generatedKeysRequest) {
......@@ -255,6 +254,8 @@ public abstract class Command implements CommandInterface {
// wait
}
}
//noinspection SynchronizationOnLocalVariableOrMethodParameter
synchronized (sync) {
Session.Savepoint rollback = session.setSavepoint();
session.startStatementWithinTransaction();
session.setCurrentCommand(this, generatedKeysRequest);
......@@ -262,11 +263,7 @@ public abstract class Command implements CommandInterface {
while (true) {
database.checkPowerOff();
try {
int updateCount;
//noinspection SynchronizationOnLocalVariableOrMethodParameter
synchronized (sync) {
updateCount = update();
}
int updateCount = update();
if (!Boolean.FALSE.equals(generatedKeysRequest)) {
return new ResultWithGeneratedKeys.WithKeys(updateCount,
session.getGeneratedKeys().getKeys(session));
......@@ -310,6 +307,7 @@ public abstract class Command implements CommandInterface {
}
}
}
}
private long filterConcurrentUpdate(DbException e, long start) {
int errorCode = e.getErrorCode();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论