code: public final boolean nextOneRow(BitSet columns, boolean after) {
          final boolean hasOneRow = buffer.hasRemaining();
  
          if (hasOneRow) {
              int column = 0;
  
              for (int i = 0; i < columnLen; i++)
                  if (columns.get(i)) {
                      column++;
                  }
  
              if (after && partial) {
                  partialBits.clear();
                  long valueOptions = buffer.getPackedLong();
                  int PARTIAL_JSON_UPDATES = 1;
                  if ((valueOptions & PARTIAL_JSON_UPDATES) != 0) {
                      partialBits.set(1);
                      buffer.forward((jsonColumnCount + 7) / 8);
                  }
              }
              nullBitIndex = 0;
              nullBits.clear();
              buffer.fillBitmap(nullBits, column);
  
          }
          return hasOneRow;
      }
docs: Extracting next row from packed buffer.
  
  @see mysql-5.1.60/sql/log_event.cc -
  Rows_log_event::print_verbose_one_row