#1622 other not select sql (#1633)

This commit is contained in:
tiger.yan
2020-01-15 15:11:50 +08:00
committed by GitHub
parent 801996f3a3
commit ddb1c090d0
@@ -19,7 +19,6 @@ import com.actiontech.dble.route.RouteResultset;
import com.actiontech.dble.route.RouteResultsetNode;
import com.actiontech.dble.server.NonBlockingSession;
import com.actiontech.dble.server.ServerConnection;
import com.actiontech.dble.server.parser.ServerParse;
import com.actiontech.dble.singleton.CacheService;
import com.actiontech.dble.statistic.stat.QueryResult;
import com.actiontech.dble.statistic.stat.QueryResultDispatcher;
@@ -69,9 +68,6 @@ public class SingleNodeHandler implements ResponseHandler, LoadDataResponseHandl
if (session == null) {
throw new IllegalArgumentException("session is null!");
}
if (ServerParse.SELECT == rrs.getSqlType()) {
buffer = session.getSource().allocate();
}
this.session = session;
}
@@ -153,8 +149,13 @@ public class SingleNodeHandler implements ResponseHandler, LoadDataResponseHandl
}
public void recycleBuffer() {
if (buffer != null) {
session.getSource().recycle(buffer);
lock.lock();
try {
if (buffer != null) {
session.getSource().recycle(buffer);
}
} finally {
lock.unlock();
}
}
@@ -337,6 +338,7 @@ public class SingleNodeHandler implements ResponseHandler, LoadDataResponseHandl
lock.lock();
try {
if (!writeToClient.get()) {
buffer = session.getSource().allocate();
buffer = source.writeToBuffer(header, buffer);
for (int i = 0, len = fields.size(); i < len; ++i) {
byte[] field = fields.get(i);