@Override
        public boolean equals(int version, ColumnMeta info) {
            boolean ok = nameSize == info.nameSize
                    && sqlType == info.sqlType
                    && dpnOffset() == info.dpnOffset()
                    && indexOffset() == info.indexOffset()
                    && packOffset() == info.packOffset()
                    && (name != null ? name.equals(info.name) : info.name == null);

            if (version >= Version.VERSION_6_ID) {
                ok &= extIndexOffset() == info.extIndexOffset();
            }
            if (version >= Version.VERSION_7_ID) {
                ok &= isIndexed == info.isIndexed;
            }
            if (version >= Version.VERSION_8_ID) {
                ok &= outerIndexOffset() == info.outerIndexOffset();
                ok &= outerIndexSize() == info.outerIndexSize();
            }
            return ok;
        }
Store segment column by column.

<pre>
Segment storage structure:
|  IXRSEGxx | sementMeta | column0 | column1 ... | outerIndex0 | outerIndex0 ... |
            | <---                      sectionSize                        ----> |

Column structure:
|  dpn | rsIndex | extIndex | dataPack |
</pre>
indexr-segment/src/main/java/io/indexr/segment/storage/itg/IntegrateV1.java