public void onColumnIndex(int index) {
            curRowIsTagField = false;
            curRowIndex = index;
        }
A row with strings stored in UTF-8 format.

This class is <b>NOT</b> multi-thread safe.

Data structure:
If grouping:
<pre>
     |........................|.................|.....................|
        dim values               dim raw values        metric values
                                                      (metric values are all numbers)
</pre>

no grouping:
<pre>
     |........................|.................|
          values                   raw values
</pre>

The value, if number type, represents the uniform value;
if string type, higher 32 bits represents the offset of raw value, lower 32 bits represents the len.

The rows is sorted by dims if exists. And if grouping is true, those rows with the same dims will be
merged into one.

Node: An UTF8Row should call {@link #free()} to free it memory after done with, otherwise will lead to memory leak.
indexr-segment/src/main/java/io/indexr/segment/rt/UTF8Row.java