Documentation
¶
Index ¶
- type Iterator
- type IteratorSource
- type MergingIterator
- func (mi *MergingIterator) Close() error
- func (mi *MergingIterator) Domain() (start, end []byte)
- func (mi *MergingIterator) Error() error
- func (mi *MergingIterator) Key() []byte
- func (mi *MergingIterator) KeyCopy(dst []byte) []byte
- func (mi *MergingIterator) Next()
- func (mi *MergingIterator) Valid() bool
- func (mi *MergingIterator) Value() []byte
- func (mi *MergingIterator) ValueCopy(dst []byte) []byte
- type ReverseMergingIterator
- func (mi *ReverseMergingIterator) Close() error
- func (mi *ReverseMergingIterator) Domain() (start, end []byte)
- func (mi *ReverseMergingIterator) Error() error
- func (mi *ReverseMergingIterator) Key() []byte
- func (mi *ReverseMergingIterator) KeyCopy(dst []byte) []byte
- func (mi *ReverseMergingIterator) Next()
- func (mi *ReverseMergingIterator) Valid() bool
- func (mi *ReverseMergingIterator) Value() []byte
- func (mi *ReverseMergingIterator) ValueCopy(dst []byte) []byte
- type ReverseTwoWayMerger
- func (m *ReverseTwoWayMerger) Close() error
- func (m *ReverseTwoWayMerger) Domain() (start, end []byte)
- func (m *ReverseTwoWayMerger) Error() error
- func (m *ReverseTwoWayMerger) Key() []byte
- func (m *ReverseTwoWayMerger) KeyCopy(dst []byte) []byte
- func (m *ReverseTwoWayMerger) Next()
- func (m *ReverseTwoWayMerger) Valid() bool
- func (m *ReverseTwoWayMerger) Value() []byte
- func (m *ReverseTwoWayMerger) ValueCopy(dst []byte) []byte
- type TwoWayMerger
- func (m *TwoWayMerger) Close() error
- func (m *TwoWayMerger) Domain() (start, end []byte)
- func (m *TwoWayMerger) Error() error
- func (m *TwoWayMerger) Key() []byte
- func (m *TwoWayMerger) KeyCopy(dst []byte) []byte
- func (m *TwoWayMerger) Next()
- func (m *TwoWayMerger) Valid() bool
- func (m *TwoWayMerger) Value() []byte
- func (m *TwoWayMerger) ValueCopy(dst []byte) []byte
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Iterator ¶
type Iterator interface {
Next()
Valid() bool
Key() []byte
Value() []byte
KeyCopy(dst []byte) []byte
ValueCopy(dst []byte) []byte
Close() error
Error() error
Domain() (start, end []byte)
}
Iterator represents a generic iterator that yields key-value pairs. Key/Value are views, valid until the next Next()/Close().
func NewMergingIterator ¶
func NewMergingIterator(sources []IteratorSource, start, end []byte) Iterator
func NewReverseMergingIterator ¶ added in v0.4.0
func NewReverseMergingIterator(sources []IteratorSource, start, end []byte) Iterator
type IteratorSource ¶
type IteratorSource struct {
Iter iterator.UnsafeIterator
Priority int
}
IteratorSource wraps an internal UnsafeIterator with a priority level.
type MergingIterator ¶
type MergingIterator struct {
// contains filtered or unexported fields
}
MergingIterator merges multiple sorted iterators.
func (*MergingIterator) Close ¶
func (mi *MergingIterator) Close() error
func (*MergingIterator) Domain ¶
func (mi *MergingIterator) Domain() (start, end []byte)
func (*MergingIterator) Error ¶
func (mi *MergingIterator) Error() error
func (*MergingIterator) Key ¶
func (mi *MergingIterator) Key() []byte
func (*MergingIterator) KeyCopy ¶
func (mi *MergingIterator) KeyCopy(dst []byte) []byte
func (*MergingIterator) Next ¶
func (mi *MergingIterator) Next()
func (*MergingIterator) Valid ¶
func (mi *MergingIterator) Valid() bool
func (*MergingIterator) Value ¶
func (mi *MergingIterator) Value() []byte
func (*MergingIterator) ValueCopy ¶
func (mi *MergingIterator) ValueCopy(dst []byte) []byte
type ReverseMergingIterator ¶ added in v0.4.0
type ReverseMergingIterator struct {
// contains filtered or unexported fields
}
ReverseMergingIterator merges multiple reverse-sorted iterators.
func (*ReverseMergingIterator) Close ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Close() error
func (*ReverseMergingIterator) Domain ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Domain() (start, end []byte)
func (*ReverseMergingIterator) Error ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Error() error
func (*ReverseMergingIterator) Key ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Key() []byte
func (*ReverseMergingIterator) KeyCopy ¶ added in v0.4.0
func (mi *ReverseMergingIterator) KeyCopy(dst []byte) []byte
func (*ReverseMergingIterator) Next ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Next()
func (*ReverseMergingIterator) Valid ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Valid() bool
func (*ReverseMergingIterator) Value ¶ added in v0.4.0
func (mi *ReverseMergingIterator) Value() []byte
func (*ReverseMergingIterator) ValueCopy ¶ added in v0.4.0
func (mi *ReverseMergingIterator) ValueCopy(dst []byte) []byte
type ReverseTwoWayMerger ¶ added in v0.4.0
type ReverseTwoWayMerger struct {
// contains filtered or unexported fields
}
ReverseTwoWayMerger implements ReverseMergingIterator for two sources.
func NewReverseTwoWayMerger ¶ added in v0.4.0
func NewReverseTwoWayMerger(src1, src2 iterator.UnsafeIterator, start, end []byte) *ReverseTwoWayMerger
func (*ReverseTwoWayMerger) Close ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Close() error
func (*ReverseTwoWayMerger) Domain ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Domain() (start, end []byte)
func (*ReverseTwoWayMerger) Error ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Error() error
func (*ReverseTwoWayMerger) Key ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Key() []byte
func (*ReverseTwoWayMerger) KeyCopy ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) KeyCopy(dst []byte) []byte
func (*ReverseTwoWayMerger) Next ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Next()
func (*ReverseTwoWayMerger) Valid ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Valid() bool
func (*ReverseTwoWayMerger) Value ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) Value() []byte
func (*ReverseTwoWayMerger) ValueCopy ¶ added in v0.4.0
func (m *ReverseTwoWayMerger) ValueCopy(dst []byte) []byte
type TwoWayMerger ¶
type TwoWayMerger struct {
// contains filtered or unexported fields
}
TwoWayMerger implements MergingIterator for two sources (Memtable and Disk). It avoids heap overhead for the common case.
func NewTwoWayMerger ¶
func NewTwoWayMerger(src1, src2 iterator.UnsafeIterator, start, end []byte) *TwoWayMerger
func (*TwoWayMerger) Close ¶
func (m *TwoWayMerger) Close() error
func (*TwoWayMerger) Domain ¶
func (m *TwoWayMerger) Domain() (start, end []byte)
func (*TwoWayMerger) Error ¶
func (m *TwoWayMerger) Error() error
func (*TwoWayMerger) Key ¶
func (m *TwoWayMerger) Key() []byte
func (*TwoWayMerger) KeyCopy ¶
func (m *TwoWayMerger) KeyCopy(dst []byte) []byte
func (*TwoWayMerger) Next ¶
func (m *TwoWayMerger) Next()
func (*TwoWayMerger) Valid ¶
func (m *TwoWayMerger) Valid() bool
func (*TwoWayMerger) Value ¶
func (m *TwoWayMerger) Value() []byte
func (*TwoWayMerger) ValueCopy ¶
func (m *TwoWayMerger) ValueCopy(dst []byte) []byte
Click to show internal directories.
Click to hide internal directories.