Class ClusteringPrefix.Deserializer

  • Enclosing interface:
    ClusteringPrefix<V>

    public static class ClusteringPrefix.Deserializer
    extends java.lang.Object
    Helper class that makes the deserialization of clustering prefixes faster.

    The main reason for this is that when we deserialize rows from sstables, there is many cases where we have a bunch of rows to skip at the beginning of an index block because those rows are before the requested slice. This class make sure we can answer the question "is the next row on disk before the requested slice" with as little work as possible. It does that by providing a comparison method that deserialize only what is needed to decide of the comparison.

    • Method Detail

      • prepare

        public void prepare​(int flags,
                            int extendedFlags)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • compareNextTo

        public <T> int compareNextTo​(ClusteringBoundOrBoundary<T> bound)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeNextBound

        public ClusteringBoundOrBoundary<byte[]> deserializeNextBound()
                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • deserializeNextClustering

        public Clustering<byte[]> deserializeNextClustering()
                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • skipNext

        public ClusteringPrefix.Kind skipNext()
                                       throws java.io.IOException
        Throws:
        java.io.IOException