if (id == -1)
id = session.getNextId();
for (int i = 0, count = 0; i < transferList.size(); i++) {
try {
Transfer transfer = transferList.get(i);
if (batchCommands != null) {
session.traceOperation("COMMAND_EXECUTE_BATCH_UPDATE_STATEMENT", id);
transfer.writeInt(SessionRemote.COMMAND_EXECUTE_BATCH_UPDATE_STATEMENT);
int size = batchCommands.size();
result = new int[size];
transfer.writeInt(size);
for (int j = 0; j < size; j++)
transfer.writeString(batchCommands.get(j));
session.done(transfer);
for (int j = 0; j < size; j++)
result[j] = transfer.readInt();
} else {
session.traceOperation("COMMAND_EXECUTE_BATCH_UPDATE_PREPAREDSTATEMENT", id);
transfer.writeInt(SessionRemote.COMMAND_EXECUTE_BATCH_UPDATE_PREPAREDSTATEMENT).writeInt(id);
int size = batchParameters.size();
result = new int[size];
transfer.writeInt(size);
Value[] values;
int len;
for (int j = 0; j < size; j++) {
values = batchParameters.get(j);
len = values.length;
for (int m = 0; m < len; m++)
transfer.writeValue(values[m]);
}
session.done(transfer);
for (int j = 0; j < size; j++)
result[j] = transfer.readInt();
}
} catch (IOException e) {
session.removeServer(e, i--, ++count);
}
}