Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultOptions = &Options{
LevelMultiplier: 10,
MaxLevels: 4,
MaxBytesForLevelBase: 128 * (1 << 20),
L0MaxFiles: 2,
BaseLevel: 1,
}
View Source
var (
ErrEmptyIters = errors.New("provided empty slice of iterators")
)
Functions ¶
This section is empty.
Types ¶
type CompactionReq ¶
type CompactionReq struct { L0 *sst.Level Levels []*sst.Level Logger *log.Logger EstimatedSize uint64 // todo IsL0Compaction bool SourceLevel *sst.Level SourceTables []*sst.SST TargetLevel *sst.Level TargetTables []*sst.SST Lower, Upper common.Iterator // contains filtered or unexported fields }
func (*CompactionReq) Json ¶
func (cr *CompactionReq) Json() []byte
type LeveledCompaction ¶
type LeveledCompaction struct {
// contains filtered or unexported fields
}
func NewLeveledCompaction ¶
func NewLeveledCompaction(opt *Options) *LeveledCompaction
func (*LeveledCompaction) MaybeTriggerCompaction ¶
func (l *LeveledCompaction) MaybeTriggerCompaction(req *CompactionReq) (*CompactionReq, error)
type MergeIter ¶
type MergeIter struct {
// contains filtered or unexported fields
}
MergeIter has keys from underlying iterators that can be overlapping, so we must always pick the smallest one
func NewMergeIter ¶
NewMergeIter creates a new MergeIter from given iterators.
func (*MergeIter) SeekToFirst ¶
func (mi *MergeIter) SeekToFirst() (*common.InternalKey, []byte, error)
type TwoLevelIter ¶
type TwoLevelIter struct {
// contains filtered or unexported fields
}
TwoLevelIter iterates over two common.Iterator and choses smaller key from each iteration resulting in sorted strings table
func NewTwoLevelIter ¶
func NewTwoLevelIter(i1, i2 common.Iterator) (*TwoLevelIter, error)
func (*TwoLevelIter) Key ¶
func (mi *TwoLevelIter) Key() *common.InternalKey
func (*TwoLevelIter) Next ¶
func (mi *TwoLevelIter) Next() (*common.InternalKey, []byte, error)
func (*TwoLevelIter) SeekToFirst ¶
func (mi *TwoLevelIter) SeekToFirst() (*common.InternalKey, []byte, error)
func (*TwoLevelIter) Valid ¶
func (mi *TwoLevelIter) Valid() bool
func (*TwoLevelIter) Value ¶
func (mi *TwoLevelIter) Value() []byte
Click to show internal directories.
Click to hide internal directories.