diff --git a/src/main/java/com/actiontech/dble/server/handler/ExplainHandler.java b/src/main/java/com/actiontech/dble/server/handler/ExplainHandler.java index 6e57abb45..bd005102a 100644 --- a/src/main/java/com/actiontech/dble/server/handler/ExplainHandler.java +++ b/src/main/java/com/actiontech/dble/server/handler/ExplainHandler.java @@ -273,25 +273,25 @@ public final class ExplainHandler { ByteBuffer buffer = service.allocate(); // writeDirectly header ResultSetHeaderPacket header = PacketUtil.getHeader(FIELD_COUNT); - byte packetId = header.getPacketId(); + header.setPacketId(service.nextPacketId()); buffer = header.write(buffer, service, true); // writeDirectly fields for (FieldPacket field : FIELDS) { - field.setPacketId(++packetId); + field.setPacketId(service.nextPacketId()); buffer = field.write(buffer, service, true); } // writeDirectly eof EOFPacket eof = new EOFPacket(); - eof.setPacketId(++packetId); + eof.setPacketId(service.nextPacketId()); buffer = eof.write(buffer, service, true); if (!rrs.isNeedOptimizer()) { // writeDirectly rows for (RouteResultsetNode node : rrs.getNodes()) { RowDataPacket row = getRow(node, service.getCharset().getResults()); - row.setPacketId(++packetId); + row.setPacketId(service.nextPacketId()); buffer = row.write(buffer, service, true); } } else { @@ -299,7 +299,7 @@ public final class ExplainHandler { RouteResultsetNode routeSingleNode = getTryRouteSingleNode(builder, rrs); if (routeSingleNode != null) { RowDataPacket row = getRow(routeSingleNode, service.getCharset().getResults()); - row.setPacketId(++packetId); + row.setPacketId(service.nextPacketId()); buffer = row.write(buffer, service, true); } else { List results = ComplexQueryPlanUtil.getComplexQueryResult(builder); @@ -308,14 +308,14 @@ public final class ExplainHandler { row.add(StringUtil.encode(getRowStr(result.getName(), result.isIndentation()), service.getCharset().getResults())); row.add(StringUtil.encode(getRowStr(result.getType(), result.isIndentation()), service.getCharset().getResults())); row.add(StringUtil.encode(getRowStr(result.getRefOrSQL(), result.isIndentation()), service.getCharset().getResults())); - row.setPacketId(++packetId); + row.setPacketId(service.nextPacketId()); buffer = row.write(buffer, service, true); } } } // writeDirectly last eof EOFRowPacket lastEof = new EOFRowPacket(); - lastEof.setPacketId(++packetId); + lastEof.setPacketId(service.nextPacketId()); lastEof.write(buffer, service); }