class PGShardingResultSet extends ShardingResultSet {

    @Override public List<byte[]> toPartPackets(boolean withEOF) {
        List<byte[]> packets = new ArrayList<>();
        // 只有没有发送过RowDescription包,且收到过RowDescription包才构造RowDescription包
        // TODO 如果ReadOnlyBoolean使用场景太少,考虑删除此类
        if (columns.size() > 0 && rowDescriptionSent.compareAndSet(false, true)) {
            packets.add(columns.get(0));

        }
        packets.addAll(rows);
        sentRows += rows.size();
        if (withEOF) {
            packets.add(rewriteTag(sentRows).toPacket());
            commandCompletes.clear();
            validateReadyForQueryStatus();
            packets.add(readyForQuerys.get(0));
            readyForQuerys.clear();
        }
        columns.clear();
        rows.clear();
        return packets;
    }

    public  PGShardingResultSet(List<AggregateFunc> columnAggeTypes, boolean isGroupBy);

}