# Functions
CheckOrdering checks that the files are consistent with respect to seqnums (for level 0 files -- see detailed comment below) and increasing and non- overlapping internal key ranges (for non-level 0 files).
FlushableIngestsLayer returns a Layer that represents the flushable ingests layer (which is logically above L0).
KeyRange returns the minimum smallest and maximum largest internalKey for all the FileMetadata in iters.
L0Sublevel returns a Layer that represents a specific L0 sublevel.
Level returns a Layer that represents an entire level (L0 through L6).
MakeLevelMetadata creates a LevelMetadata with the given files.
MakeVirtualBackings returns empty initialized VirtualBackings.
NewL0Sublevels creates an L0Sublevels instance for a given set of L0 files.
NewLevelSliceKeySorted constructs a LevelSlice over the provided files, sorted by the files smallest keys.
NewLevelSliceSeqSorted constructs a LevelSlice over the provided files, sorted by the L0 sequence number sort order.
NewLevelSliceSpecificOrder constructs a LevelSlice over the provided files, ordering the files by their order in the provided slice.
NewVersion constructs a new Version with the provided files.
ParseFileMetadataDebug parses a FileMetadata from its DebugString representation.
ParseVersionDebug parses a Version from its DebugString output.
ParseVersionEditDebug parses a VersionEdit from its DebugString implementation.
SortBySeqNum sorts the specified files by increasing sequence number.
SortBySmallest sorts the specified files by smallest key using the supplied comparison function to order user keys.
SumAnnotator takes a function that computes a uint64 value from a single FileMetadata and returns an Annotator that sums together the values across files.
TestingNewVersion returns a blank Version, used for tests.
# Constants
CompactionStates.
CompactionStates.
CompactionStates.
KeyTypePoint denotes a search among the point keyspace.
KeyTypePointAndRange denotes a search among the entire keyspace, including both point keys and range keys.
KeyTypeRange denotes a search among the range keyspace.
NumLevels is the number of levels a Version contains.
# Variables
NumFilesAnnotator is an Annotator which computes an annotation value equal to the number of files included in the annotation.
# Structs
An Annotator defines a computation over a level's FileMetadata.
BulkVersionEdit summarizes the files added and deleted from a set of version edits.
DeletedFileEntry holds the state for a file deletion from a level.
FileBacking either backs a single physical sstable, or one or more virtual sstables.
FileMetadata is maintained for leveled-ssts, i.e., they belong to a level of some version.
L0Compaction describes an active compaction with inputs from L0.
L0CompactionFiles represents a candidate set of L0 files for compaction.
L0Sublevels represents a sublevel view of SSTables in L0.
Layer represents a section of the logical sstable hierarchy.
LevelFile holds a file's metadata along with its position within a level of the LSM.
LevelIterator iterates over a set of files' metadata.
LevelMetadata contains metadata for all of the files within a level of the LSM.
LevelSlice contains a slice of the files within a level of the LSM.
NewFileEntry holds the state for a new file or one moved from a different level.
PhysicalFileMeta is used by functions which want a guarantee that their input belongs to a physical sst and not a virtual sst.
PickFileAggregator implements the AnnotationAggregator interface.
SumAggregator defines an Aggregator which sums together a uint64 value across files.
TableInfo contains the common information for table related events.
TableStats contains statistics on a table used for compaction heuristics, and export via Metrics.
Version is a collection of file metadata for on-disk tables at various levels.
VersionEdit holds the state for an edit to a Version along with other on-disk state (log numbers, next file number, and the last sequence number).
VersionList holds a list of versions.
VirtualBackings maintains information about the set of backings that support virtual tables in the latest version.
VirtualFileMeta is used by functions which want a guarantee that their input belongs to a virtual sst and not a physical sst.
# Interfaces
An AnnotationAggregator defines how an annotation should be accumulated from a single FileMetadata and merged with other annotated values.
A PartialOverlapAnnotationAggregator is an extension of AnnotationAggregator that allows for custom accumulation of range annotations for files that only partially overlap with the range.
# Type aliases
CompactionState is the compaction state of a file.
Compare exports the base.Compare type.
InternalKey exports the base.InternalKey type.
KeyType is used to specify the type of keys we're looking for in LevelIterator positioning operations.