org.apache.cassandra.db.compaction
Class PrecompactedRow

java.lang.Object
  extended by org.apache.cassandra.db.compaction.AbstractCompactedRow
      extended by org.apache.cassandra.db.compaction.PrecompactedRow

public class PrecompactedRow
extends AbstractCompactedRow

PrecompactedRow merges its rows in its constructor in memory.


Field Summary
 
Fields inherited from class org.apache.cassandra.db.compaction.AbstractCompactedRow
key
 
Constructor Summary
PrecompactedRow(CompactionController controller, java.util.List<SSTableIdentityIterator> rows)
           
PrecompactedRow(DecoratedKey key, ColumnFamily cf)
          it is caller's responsibility to call removeDeleted + removeOldShards from the cf before calling this constructor
 
Method Summary
 ColumnStats columnStats()
           
 DeletionInfo deletionInfo()
           
 ColumnFamily getFullColumnFamily()
           
 ColumnIndex index()
           
 boolean isEmpty()
           
static ColumnFamily removeDeletedAndOldShards(DecoratedKey key, boolean shouldPurge, CompactionController controller, ColumnFamily cf)
           
static ColumnFamily removeDeletedAndOldShards(DecoratedKey key, CompactionController controller, ColumnFamily cf)
           
 void update(java.security.MessageDigest digest)
          update @param digest with the data bytes of the row (not including row key or row size).
 long write(java.io.DataOutput out)
          write the row (size + column index + filter + column data, but NOT row key) to @param out.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrecompactedRow

public PrecompactedRow(DecoratedKey key,
                       ColumnFamily cf)
it is caller's responsibility to call removeDeleted + removeOldShards from the cf before calling this constructor


PrecompactedRow

public PrecompactedRow(CompactionController controller,
                       java.util.List<SSTableIdentityIterator> rows)
Method Detail

removeDeletedAndOldShards

public static ColumnFamily removeDeletedAndOldShards(DecoratedKey key,
                                                     CompactionController controller,
                                                     ColumnFamily cf)

removeDeletedAndOldShards

public static ColumnFamily removeDeletedAndOldShards(DecoratedKey key,
                                                     boolean shouldPurge,
                                                     CompactionController controller,
                                                     ColumnFamily cf)

write

public long write(java.io.DataOutput out)
           throws java.io.IOException
Description copied from class: AbstractCompactedRow
write the row (size + column index + filter + column data, but NOT row key) to @param out. It is an error to call this if isEmpty is false. (Because the key is appended first, so we'd have an incomplete row written.) write() may change internal state; it is NOT valid to call write() or update() a second time.

Specified by:
write in class AbstractCompactedRow
Throws:
java.io.IOException

update

public void update(java.security.MessageDigest digest)
Description copied from class: AbstractCompactedRow
update @param digest with the data bytes of the row (not including row key or row size). May be called even if empty. update() may change internal state; it is NOT valid to call write() or update() a second time.

Specified by:
update in class AbstractCompactedRow

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in class AbstractCompactedRow
Returns:
true if there are no columns in the row AND there are no row-level tombstones to be preserved

columnStats

public ColumnStats columnStats()
Specified by:
columnStats in class AbstractCompactedRow
Returns:
aggregate information about the columns in this row. Some fields may contain default values if computing them value would require extra effort we're not willing to make.

getFullColumnFamily

public ColumnFamily getFullColumnFamily()
Returns:
the full column family represented by this compacted row. We do not provide this method for other AbstractCompactedRow, because this fits the whole row into memory and don't make sense for those other implementations.

deletionInfo

public DeletionInfo deletionInfo()
Specified by:
deletionInfo in class AbstractCompactedRow
Returns:
the compacted row deletion infos.

index

public ColumnIndex index()
Specified by:
index in class AbstractCompactedRow
Returns:
the column index for this row.


Copyright © 2012 The Apache Software Foundation