# Package org.apache.cassandra.db

Interface Summary
BlacklistedDirectoriesMBean
Clusterable: Common class for objects that are identified by a clustering prefix, and can be thus sorted by a `ClusteringComparator`.
Clustering
ClusteringPrefix: A clustering prefix is the unit of what a `ClusteringComparator` can compare.
ColumnFamilyStoreMBean: The MBean interface for ColumnFamilyStore
DeletionInfo: A combination of a top-level (partition) tombstone and range tombstones describing the deletions within a partition.
DeletionPurger
HintedHandOffManagerMBean: Deprecated
IMutation
LegacyLayout.LegacyAtom
Mutation.SimpleBuilder: Interface for building mutations geared towards human.
PartitionPosition
ReadQuery: Generic abstraction for read queries.
RowIndexEntry.IndexInfoRetriever: Base class to access `IndexInfo` objects.
RowIndexEntry.IndexSerializer<T>
Slices.InOrderTester: In simple object that allows to test the inclusion of rows in those slices assuming those rows are passed (to `Slices.InOrderTester.includes(org.apache.cassandra.db.Clustering)`) in clustering order (or reverse clustering ordered, depending of the argument passed to `Slices.inOrderTester(boolean)`).
StorageHook

Class Summary
AbstractBufferClusteringPrefix
AbstractClusteringPrefix
AbstractReadCommandBuilder
AbstractReadCommandBuilder.PartitionRangeBuilder
AbstractReadCommandBuilder.SinglePartitionBuilder
AbstractReadCommandBuilder.SinglePartitionSliceBuilder
BlacklistedDirectories
BufferClustering: The clustering column values for a row.
BufferDecoratedKey
CachedHashDecoratedKey
CBuilder: Allows to build ClusteringPrefixes, either Clustering or ClusteringBound.
ClockAndCount
Clustering.Serializer: Serializer for Clustering object.
ClusteringBound: The start or end of a range of clusterings, either inclusive or exclusive.
ClusteringBoundary: The threshold between two different ranges, i.e.
ClusteringBoundOrBoundary: This class defines a threshold between ranges of clusterings.
ClusteringBoundOrBoundary.Serializer
ClusteringComparator: A comparator of clustering prefixes (or more generally of `Clusterable`}.
ClusteringPrefix.Deserializer: Helper class that makes the deserialization of clustering prefixes faster.
ClusteringPrefix.Serializer
ColumnFamilyStore
ColumnFamilyStore.FlushLargestColumnFamily: Finds the largest memtable, as a percentage of *either* on- or off-heap memory limits, and immediately queues it for flushing.
ColumnFamilyStore.RefViewFragment
ColumnFamilyStore.ViewFragment
ColumnFamilyStoreCQLHelper: Helper methods to represent CFMetadata and related objects in CQL format
ColumnIndex: Column index builder used by `BigTableWriter`.
Columns: An immutable and sorted list of (non-PK) columns for a given table.
Columns.Serializer
CompactTables: Small utility methods pertaining to the encoding of COMPACT STORAGE tables.
CompactTables.DefaultNames
Conflicts
CounterMutation
CounterMutation.CounterMutationSerializer
CounterMutationVerbHandler
DataRange: Groups both the range of partitions to query, and the clustering index filter to apply for each partition (for a (partition) range query).
DataRange.Paging: Specialized `DataRange` used for the paging case.
DataRange.Serializer
DecoratedKey: Represents a decorated key, handy for certain operations where just working with strings gets slow.
DefinitionsUpdateVerbHandler: Called when node receives updated schema state from the schema migration coordinator node.
DeletionTime: Information on deletion of a storage engine object.
DeletionTime.Serializer
Directories: Encapsulate handling of paths to the data files.
Directories.DataDirectory
DiskBoundaries
DiskBoundaryManager
EmptyIterators
ExpirationDateOverflowHandling
HintedHandOffManager: Deprecated
Keyspace: It represents a Keyspace.
LegacyLayout: Functions to deal with the old format.
LegacyLayout.CellGrouper
LegacyLayout.LegacyBound
LegacyLayout.LegacyCell: A legacy cell.
LegacyLayout.LegacyCellName
LegacyLayout.LegacyDeletionInfo
LegacyLayout.LegacyRangeTombstone: A legacy range tombstone.
LegacyLayout.LegacyRangeTombstoneList: Almost an entire copy of RangeTombstoneList from C* 2.1.
LegacyLayout.LegacyUnfilteredPartition
LivenessInfo: Stores the information relating to the liveness of the primary key columns of a row.
Memtable
Memtable.LastCommitLogPosition
Memtable.MemtableUnfilteredPartitionIterator
MigrationRequestVerbHandler: Sends it's current schema state in form of mutations in reply to the remote node's request.
MultiCBuilder: Builder that allow to build multiple Clustering/ClusteringBound at the same time.
MutableDeletionInfo: A mutable implementation of `DeletionInfo`.
MutableDeletionInfo.Builder: Builds DeletionInfo object from (in order) range tombstone markers.
Mutation
Mutation.MutationSerializer
MutationVerbHandler
NativeClustering
NativeDecoratedKey
PartitionColumns: Columns (or a subset of the columns) that a partition contains.
PartitionColumns.Builder
PartitionPosition.ForKey
PartitionPosition.RowPositionSerializer
PartitionRangeReadCommand: A read command that selects a (part of a) range of partitions.
PreHashedDecoratedKey
RangeSliceVerbHandler
RangeTombstone: A range tombstone is a tombstone that covers a slice/range of rows.
RangeTombstoneList: Data structure holding the range tombstones of a ColumnFamily.
ReadCommand: General interface for storage-engine read commands (common to both range and single partition commands).
ReadCommand.SelectionDeserializer
ReadCommandVerbHandler
ReadExecutionController
ReadRepairVerbHandler
ReadResponse

RowIndexEntry<T>

Binary format of `RowIndexEntry` is defined as follows: {@code (long) position (64 bit long, vint encoded) (int) serialized size of data that follows (32 bit int, vint encoded) -- following for indexed entries only (so serialized size > 0) (int) DeletionTime.localDeletionTime (long) DeletionTime.markedForDeletionAt (int) number of IndexInfo objects (32 bit int, vint encoded) (*) serialized IndexInfo objects, see below (*) offsets of serialized IndexInfo objects, since version "ma" (3.0) Each IndexInfo object's offset is relative to the first IndexInfo object.

RowIndexEntry.Serializer
SchemaCheckVerbHandler
SerializationHeader
SerializationHeader.Component: We need the CFMetadata to properly deserialize a SerializationHeader but it's clunky to pass that to a SSTable component, so we use this temporary object to delay the actual need for the metadata.
SerializationHeader.Serializer
Serializers: Holds references on serializers that depend on the table definition.
SimpleBuilders
SimpleBuilders.MutationBuilder
SimpleBuilders.PartitionUpdateBuilder
SimpleBuilders.RowBuilder
SinglePartitionReadCommand: A read command that selects a (part of a) single partition.
SinglePartitionReadCommand.Group: Groups multiple single partition read commands.
SizeEstimatesRecorder: A very simplistic/crude partition count/size estimator.
Slice: A slice represents the selection of a range of rows.
Slice.Serializer
Slices: Represents the selection of multiple range of rows within a partition.
Slices.Builder: Builder to create `Slices` objects.
Slices.Serializer
SnapshotCommand
SnapshotDetailsTabularData
SystemKeyspace
TruncateResponse: This message is sent back the truncate operation and basically specifies if the truncate succeeded.
TruncateResponse.TruncateResponseSerializer
TruncateVerbHandler
Truncation: A truncate operation descriptor
TypeSizes
UnfilteredDeserializer: Helper class to deserialize Unfiltered object from disk efficiently.
UnfilteredDeserializer.OldFormatDeserializer
WindowsFailedSnapshotTracker
WriteResponse
WriteResponse.Serializer

Enum Summary
ClusteringPrefix.Kind: The kind of clustering prefix this actually is.
Conflicts.Resolution
ConsistencyLevel
Directories.FileAction
Directories.FileType: The type of files that can be listed by SSTableLister, we never return txn logs, use LifecycleTransaction.getFiles() if you need txn logs.
Directories.OnTxnErr: How to handle a failure to read a txn log file.
ExpirationDateOverflowHandling.ExpirationDateOverflowPolicy
LegacyLayout.LegacyCell.Kind
PartitionPosition.Kind
ReadCommand.Kind
SystemKeyspace.BootstrapState
WriteType

Exception Summary
KeyspaceNotDefinedException
UnknownColumnException: Exception thrown when we read a column internally that is unknown.
UnknownColumnFamilyException