org.apache.cassandra.io.sstable
Class IndexHelper

java.lang.Object
  extended by org.apache.cassandra.io.sstable.IndexHelper

public class IndexHelper
extends java.lang.Object

Provides helper to serialize, deserialize and use column indexes.


Nested Class Summary
static class IndexHelper.IndexInfo
           
 
Constructor Summary
IndexHelper()
           
 
Method Summary
static Filter defreezeBloomFilter(FileDataInput file, boolean usesOldBloomFilter)
           
static Filter defreezeBloomFilter(FileDataInput file, long maxSize, boolean useOldBuffer)
          De-freeze the bloom filter.
static java.util.ArrayList<IndexHelper.IndexInfo> deserializeIndex(FileDataInput in)
          Deserialize the index into a structure and return it
static java.util.Comparator<IndexHelper.IndexInfo> getComparator(AbstractType nameComparator, boolean reversed)
           
static int indexFor(java.nio.ByteBuffer name, java.util.List<IndexHelper.IndexInfo> indexList, AbstractType comparator, boolean reversed)
          The index of the IndexInfo in which a scan starting with @name should begin.
static void skipBloomFilter(java.io.DataInput in)
          Skip the bloom filter
static void skipIndex(java.io.DataInput in)
          Skip the index
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexHelper

public IndexHelper()
Method Detail

skipBloomFilter

public static void skipBloomFilter(java.io.DataInput in)
                            throws java.io.IOException
Skip the bloom filter

Parameters:
in - the data input from which the bloom filter should be skipped
Throws:
java.io.IOException

skipIndex

public static void skipIndex(java.io.DataInput in)
                      throws java.io.IOException
Skip the index

Parameters:
in - the data input from which the index should be skipped
Throws:
java.io.IOException - if an I/O error occurs.

deserializeIndex

public static java.util.ArrayList<IndexHelper.IndexInfo> deserializeIndex(FileDataInput in)
                                                                   throws java.io.IOException
Deserialize the index into a structure and return it

Parameters:
in - - input source
Returns:
ArrayList - list of de-serialized indexes
Throws:
java.io.IOException - if an I/O error occurs.

defreezeBloomFilter

public static Filter defreezeBloomFilter(FileDataInput file,
                                         boolean usesOldBloomFilter)
                                  throws java.io.IOException
Throws:
java.io.IOException

defreezeBloomFilter

public static Filter defreezeBloomFilter(FileDataInput file,
                                         long maxSize,
                                         boolean useOldBuffer)
                                  throws java.io.IOException
De-freeze the bloom filter.

Parameters:
file - - source file
maxSize - - sanity check: if filter claimes to be larger than this it is bogus
useOldBuffer - - do we need to reuse old buffer?
Returns:
bloom filter summarizing the column information
Throws:
java.io.IOException - if an I/O error occurs. Guarantees that file's current position will be just after the bloom filter, even if the filter cannot be deserialized, UNLESS EOFException is thrown.

indexFor

public static int indexFor(java.nio.ByteBuffer name,
                           java.util.List<IndexHelper.IndexInfo> indexList,
                           AbstractType comparator,
                           boolean reversed)
The index of the IndexInfo in which a scan starting with @name should begin.

Parameters:
name - name of the index
indexList - list of the indexInfo objects
comparator - comparator type
reversed - is name reversed
Returns:
int index

getComparator

public static java.util.Comparator<IndexHelper.IndexInfo> getComparator(AbstractType nameComparator,
                                                                        boolean reversed)


Copyright © 2011 The Apache Software Foundation