Documentation
¶
Index ¶
- Constants
- func BuildTable(dbname string, env db.Env, iter db.Iterator, icmp *InternalKeyComparator, ...) error
- func CurrentFileName(dbname string) string
- func DescriptorFileName(dbname string, num FileNumber) string
- func ExtractUserKey(internalKey []byte) []byte
- func InfoLogFileName(dbname string) string
- func LockFileName(dbname string) string
- func LogFileName(dbname string, num FileNumber) string
- func Open(userOpt *db.Options, dbname string) (db.DB, error)
- func PackSequenceAndType(seq SequenceNumber, t ValueType) uint64
- func ParseFileName(filename string) (FileType, FileNumber, bool)
- func SSTTableFileName(dbname string, num FileNumber) string
- func SetCurrentFile(env db.Env, dbname string, num FileNumber) error
- func TableFileName(dbname string, num FileNumber) string
- func TempFileName(dbname string, num FileNumber) string
- type CompactPointer
- type Compaction
- type DeletedFile
- type FileMetaData
- type FileNumber
- type FileType
- type InternalKey
- type InternalKeyComparator
- type Level
- type LookupKey
- type MemTable
- func (mt *MemTable) Add(seq SequenceNumber, valueType ValueType, key, value []byte)
- func (mt *MemTable) ApproximateMemoryUsage() int
- func (mt *MemTable) Delete(seq SequenceNumber, key []byte)
- func (mt *MemTable) Get(lookupKey *LookupKey) (value []byte, deleted, exist bool)
- func (mt *MemTable) Iterator() *MemTableIterator
- func (mt *MemTable) Put(seq SequenceNumber, key, value []byte)
- type MemTableIterator
- func (it *MemTableIterator) Close() error
- func (it *MemTableIterator) Error() error
- func (it *MemTableIterator) Key() []byte
- func (it *MemTableIterator) Next()
- func (it *MemTableIterator) Prev()
- func (it *MemTableIterator) Seek(key []byte)
- func (it *MemTableIterator) SeekToFirst()
- func (it *MemTableIterator) SeekToLast()
- func (it *MemTableIterator) Valid() bool
- func (it *MemTableIterator) Value() []byte
- type ParsedInternalKey
- type SequenceNumber
- type Snapshot
- type SnapshotList
- type TableCache
- type ValueType
- type Version
- type VersionBuilder
- type VersionEdit
- func (ve *VersionEdit) AddFile(level Level, number FileNumber, size uint64, smallest, largest []byte)
- func (ve *VersionEdit) Append(dst []byte) []byte
- func (ve *VersionEdit) DecodeFrom(src []byte) error
- func (ve *VersionEdit) RemoveFile(number FileNumber, level Level)
- func (ve *VersionEdit) SetCompactPointer(level Level, internalKey []byte)
- func (ve *VersionEdit) SetComparator(comparator string)
- func (ve *VersionEdit) SetLastSequence(lastSequence SequenceNumber)
- func (ve *VersionEdit) SetLogNumber(logNumber FileNumber)
- func (ve *VersionEdit) SetNextFileNumber(nextFileNumber FileNumber)
- func (ve *VersionEdit) SetPrevLogNumber(prevLogNumber FileNumber)
- type VersionSet
- func (vs *VersionSet) AppendVersion(v *Version)
- func (vs *VersionSet) Close()
- func (vs *VersionSet) Finalize(v *Version)
- func (vs *VersionSet) GetLastSequence() SequenceNumber
- func (vs *VersionSet) LiveFiles() map[FileNumber]struct{}
- func (vs *VersionSet) LogAndApply(edit *VersionEdit, dbMu *sync.Mutex) error
- func (vs *VersionSet) MakeFileNumberUsed(number FileNumber)
- func (vs *VersionSet) NeedsCompaction() bool
- func (vs *VersionSet) NewBuilder(v *Version) *VersionBuilder
- func (vs *VersionSet) NewFileNumber() FileNumber
- func (vs *VersionSet) NewVersion() *Version
- func (vs *VersionSet) NumLevelFiles(level Level) int
- func (vs *VersionSet) PickCompaction() *Compaction
- func (vs *VersionSet) Recover() error
- func (vs *VersionSet) SetLastSequence(seq SequenceNumber)
- type WriteBatchImpl
Constants ¶
View Source
const ( NumLevels = 7 L0CompactionTrigger = 4 L0SlowDownTrigger = 8 L0StopWritesTrigger = 12 )
View Source
const ( TagComparator = 1 TagLogNumber = 2 TagNextFileNumber = 3 TagLastSequence = 4 TagCompactPointer = 5 TagDeletedFile = 6 TagNewFile = 7 TagPrevLogNumber = 9 )
Variables ¶
This section is empty.
Functions ¶
func BuildTable ¶
func BuildTable(dbname string, env db.Env, iter db.Iterator, icmp *InternalKeyComparator, options *db.Options, filterPolicy db.FilterPolicy, meta *FileMetaData, ) error
func CurrentFileName ¶
func DescriptorFileName ¶
func DescriptorFileName(dbname string, num FileNumber) string
func ExtractUserKey ¶
func InfoLogFileName ¶
func LockFileName ¶
func LogFileName ¶
func LogFileName(dbname string, num FileNumber) string
func PackSequenceAndType ¶
func PackSequenceAndType(seq SequenceNumber, t ValueType) uint64
func ParseFileName ¶
func ParseFileName(filename string) (FileType, FileNumber, bool)
func SSTTableFileName ¶
func SSTTableFileName(dbname string, num FileNumber) string
func SetCurrentFile ¶
func SetCurrentFile(env db.Env, dbname string, num FileNumber) error
func TableFileName ¶
func TableFileName(dbname string, num FileNumber) string
func TempFileName ¶
func TempFileName(dbname string, num FileNumber) string
Types ¶
type CompactPointer ¶
type CompactPointer struct {
// contains filtered or unexported fields
}
type Compaction ¶
type Compaction struct {
// contains filtered or unexported fields
}
func (*Compaction) IsTrivial ¶
func (c *Compaction) IsTrivial() bool
func (*Compaction) NewInputIterator ¶
func (c *Compaction) NewInputIterator() (db.Iterator, error)
func (*Compaction) Release ¶
func (c *Compaction) Release()
type DeletedFile ¶
type DeletedFile struct {
// contains filtered or unexported fields
}
type FileMetaData ¶
type FileMetaData struct {
// contains filtered or unexported fields
}
type FileNumber ¶
type FileNumber uint64
type InternalKey ¶
type InternalKey []byte
InternalKey: [user key] [seq(56b) | type(8b)] Sorted by user key ASC, trailer DESC (newer first).
type InternalKeyComparator ¶
type InternalKeyComparator struct {
// contains filtered or unexported fields
}
func (*InternalKeyComparator) Compare ¶
func (ic *InternalKeyComparator) Compare(a []byte, b []byte) int
func (*InternalKeyComparator) FindShortSuccessor ¶
func (ic *InternalKeyComparator) FindShortSuccessor(key *[]byte)
func (*InternalKeyComparator) FindShortestSeparator ¶
func (ic *InternalKeyComparator) FindShortestSeparator(start *[]byte, limit []byte)
func (*InternalKeyComparator) Name ¶
func (*InternalKeyComparator) Name() string
type LookupKey ¶
type LookupKey struct {
// contains filtered or unexported fields
}
func (*LookupKey) Set ¶
func (k *LookupKey) Set(userKey []byte, seq SequenceNumber)
type MemTable ¶
type MemTable struct {
// contains filtered or unexported fields
}
func NewMemTable ¶
func NewMemTable(icmp *InternalKeyComparator) *MemTable
func (*MemTable) Add ¶
func (mt *MemTable) Add(seq SequenceNumber, valueType ValueType, key, value []byte)
func (*MemTable) ApproximateMemoryUsage ¶
func (*MemTable) Delete ¶
func (mt *MemTable) Delete(seq SequenceNumber, key []byte)
func (*MemTable) Iterator ¶
func (mt *MemTable) Iterator() *MemTableIterator
func (*MemTable) Put ¶
func (mt *MemTable) Put(seq SequenceNumber, key, value []byte)
type MemTableIterator ¶
type MemTableIterator struct {
// contains filtered or unexported fields
}
func (*MemTableIterator) Close ¶
func (it *MemTableIterator) Close() error
func (*MemTableIterator) Error ¶
func (it *MemTableIterator) Error() error
func (*MemTableIterator) Key ¶
func (it *MemTableIterator) Key() []byte
func (*MemTableIterator) Next ¶
func (it *MemTableIterator) Next()
func (*MemTableIterator) Prev ¶
func (it *MemTableIterator) Prev()
func (*MemTableIterator) Seek ¶
func (it *MemTableIterator) Seek(key []byte)
func (*MemTableIterator) SeekToFirst ¶
func (it *MemTableIterator) SeekToFirst()
func (*MemTableIterator) SeekToLast ¶
func (it *MemTableIterator) SeekToLast()
func (*MemTableIterator) Valid ¶
func (it *MemTableIterator) Valid() bool
func (*MemTableIterator) Value ¶
func (it *MemTableIterator) Value() []byte
type ParsedInternalKey ¶
type ParsedInternalKey struct {
UserKey []byte
Sequence SequenceNumber
Type ValueType
}
func ParseInternalKey ¶
func ParseInternalKey(ikey []byte) (*ParsedInternalKey, error)
type SequenceNumber ¶
type SequenceNumber uint64
const MaxSequenceNumber SequenceNumber = (1 << 56) - 1
type SnapshotList ¶
type SnapshotList struct {
// contains filtered or unexported fields
}
func NewSnapshotList ¶
func NewSnapshotList() *SnapshotList
func (*SnapshotList) Empty ¶
func (l *SnapshotList) Empty() bool
func (*SnapshotList) NewSnapshot ¶
func (l *SnapshotList) NewSnapshot(seq SequenceNumber, db *dbImpl) *Snapshot
func (*SnapshotList) Oldest ¶
func (l *SnapshotList) Oldest() *Snapshot
type TableCache ¶
type TableCache struct {
// contains filtered or unexported fields
}
func NewTableCache ¶
func NewTableCache(dbname string, env db.Env, size int, cmp db.Comparator, filter db.FilterPolicy, bcache *table.BlockCache, paranoidChecks bool) *TableCache
func (*TableCache) Close ¶
func (tc *TableCache) Close()
func (*TableCache) Evict ¶
func (tc *TableCache) Evict(num FileNumber)
func (*TableCache) Get ¶
func (tc *TableCache) Get(num FileNumber, size uint64, key []byte, handleFn func(k, v []byte), verifyChecksum, bypassCache bool) error
func (*TableCache) NewIterator ¶
func (tc *TableCache) NewIterator(num FileNumber, size uint64, verifyChecksum, bypassCache bool) (db.Iterator, error)
type Version ¶
type Version struct {
// contains filtered or unexported fields
}
func (*Version) AddIterators ¶
type VersionBuilder ¶
type VersionBuilder struct {
// contains filtered or unexported fields
}
func (*VersionBuilder) Apply ¶
func (b *VersionBuilder) Apply(edit *VersionEdit)
func (*VersionBuilder) MaybeAddFile ¶
func (b *VersionBuilder) MaybeAddFile(v *Version, level Level, f *FileMetaData)
func (*VersionBuilder) SaveTo ¶
func (b *VersionBuilder) SaveTo(v *Version)
type VersionEdit ¶
type VersionEdit struct {
// contains filtered or unexported fields
}
func (*VersionEdit) AddFile ¶
func (ve *VersionEdit) AddFile(level Level, number FileNumber, size uint64, smallest, largest []byte)
func (*VersionEdit) Append ¶
func (ve *VersionEdit) Append(dst []byte) []byte
func (*VersionEdit) DecodeFrom ¶
func (ve *VersionEdit) DecodeFrom(src []byte) error
func (*VersionEdit) RemoveFile ¶
func (ve *VersionEdit) RemoveFile(number FileNumber, level Level)
func (*VersionEdit) SetCompactPointer ¶
func (ve *VersionEdit) SetCompactPointer(level Level, internalKey []byte)
func (*VersionEdit) SetComparator ¶
func (ve *VersionEdit) SetComparator(comparator string)
func (*VersionEdit) SetLastSequence ¶
func (ve *VersionEdit) SetLastSequence(lastSequence SequenceNumber)
func (*VersionEdit) SetLogNumber ¶
func (ve *VersionEdit) SetLogNumber(logNumber FileNumber)
func (*VersionEdit) SetNextFileNumber ¶
func (ve *VersionEdit) SetNextFileNumber(nextFileNumber FileNumber)
func (*VersionEdit) SetPrevLogNumber ¶
func (ve *VersionEdit) SetPrevLogNumber(prevLogNumber FileNumber)
type VersionSet ¶
type VersionSet struct {
// contains filtered or unexported fields
}
func NewVersionSet ¶
func NewVersionSet(dbname string, icmp *InternalKeyComparator, env db.Env, tableCache *TableCache, paranoidChecks bool) *VersionSet
func (*VersionSet) AppendVersion ¶
func (vs *VersionSet) AppendVersion(v *Version)
func (*VersionSet) Close ¶
func (vs *VersionSet) Close()
func (*VersionSet) Finalize ¶
func (vs *VersionSet) Finalize(v *Version)
func (*VersionSet) GetLastSequence ¶
func (vs *VersionSet) GetLastSequence() SequenceNumber
func (*VersionSet) LiveFiles ¶
func (vs *VersionSet) LiveFiles() map[FileNumber]struct{}
func (*VersionSet) LogAndApply ¶
func (vs *VersionSet) LogAndApply(edit *VersionEdit, dbMu *sync.Mutex) error
func (*VersionSet) MakeFileNumberUsed ¶
func (vs *VersionSet) MakeFileNumberUsed(number FileNumber)
func (*VersionSet) NeedsCompaction ¶
func (vs *VersionSet) NeedsCompaction() bool
func (*VersionSet) NewBuilder ¶
func (vs *VersionSet) NewBuilder(v *Version) *VersionBuilder
func (*VersionSet) NewFileNumber ¶
func (vs *VersionSet) NewFileNumber() FileNumber
func (*VersionSet) NewVersion ¶
func (vs *VersionSet) NewVersion() *Version
func (*VersionSet) NumLevelFiles ¶
func (vs *VersionSet) NumLevelFiles(level Level) int
func (*VersionSet) PickCompaction ¶
func (vs *VersionSet) PickCompaction() *Compaction
func (*VersionSet) Recover ¶
func (vs *VersionSet) Recover() error
func (*VersionSet) SetLastSequence ¶
func (vs *VersionSet) SetLastSequence(seq SequenceNumber)
type WriteBatchImpl ¶
type WriteBatchImpl struct {
// contains filtered or unexported fields
}
func NewWriteBatch ¶
func NewWriteBatch() *WriteBatchImpl
func WriteBatchFromContents ¶
func WriteBatchFromContents(c []byte) *WriteBatchImpl
func (*WriteBatchImpl) Append ¶
func (b *WriteBatchImpl) Append(src *WriteBatchImpl)
func (*WriteBatchImpl) Delete ¶
func (b *WriteBatchImpl) Delete(key []byte)
func (*WriteBatchImpl) InsertIntoMemTable ¶
func (b *WriteBatchImpl) InsertIntoMemTable(mt *MemTable) error
func (*WriteBatchImpl) Put ¶
func (b *WriteBatchImpl) Put(key, value []byte)
func (*WriteBatchImpl) Size ¶
func (b *WriteBatchImpl) Size() int
Click to show internal directories.
Click to hide internal directories.