Versions in this module Expand all Collapse all v1 v1.0.0 Sep 20, 2023 Changes in this version + const BufIOSize + const SortableAppendBuffer + const SortableOldestAppearedBuffer + const SortableSliceBuffer + var BufferOptimalSize = 256 * datasize.MB + func FlushToDisk(logPrefix string, b Buffer, tmpdir string, doFsync bool, lvl log.Lvl) (dataProvider, error) + func KeepInRAM(buffer Buffer) dataProvider + func NewAppendBuffer(bufferOptimalSize datasize.ByteSize) *appendSortableBuffer + func NewOldestEntryBuffer(bufferOptimalSize datasize.ByteSize) *oldestEntrySortableBuffer + func NewSortableBuffer(bufferOptimalSize datasize.ByteSize) *sortableBuffer + func NextKey(key []byte) ([]byte, error) + func ProgressFromKey(k []byte) int + func Transform(logPrefix string, db kv.RwTx, fromBucket string, toBucket string, ...) error + type AdditionalLogArguments func(k, v []byte) (additionalLogArguments []interface{}) + type Buffer interface + CheckFlushSize func() bool + Get func(i int, keyBuf, valBuf []byte) ([]byte, []byte) + Len func() int + Prealloc func(predictKeysAmount, predictDataAmount int) + Put func(k, v []byte) + Reset func() + SizeLimit func() int + Sort func() + Write func(io.Writer) error + type Collector struct + func NewCollector(logPrefix, tmpdir string, sortableBuffer Buffer, logger log.Logger) *Collector + func NewCollectorFromFiles(logPrefix, tmpdir string, logger log.Logger) (*Collector, error) + func NewCriticalCollector(logPrefix, tmpdir string, sortableBuffer Buffer, logger log.Logger) *Collector + func (c *Collector) Close() + func (c *Collector) Collect(k, v []byte) error + func (c *Collector) Flush() error + func (c *Collector) Load(db kv.RwTx, toBucket string, loadFunc LoadFunc, args TransformArgs) error + func (c *Collector) LogLvl(v log.Lvl) + type CurrentTableReader interface + Get func([]byte) ([]byte, error) + type ExtractFunc func(k []byte, v []byte, next ExtractNextFunc) error + type ExtractNextFunc func(originalK, k []byte, v []byte) error + type Heap struct + func (h *Heap) Len() int + func (h *Heap) Less(i, j int) bool + func (h *Heap) Pop() *HeapElem + func (h *Heap) Push(x *HeapElem) + func (h *Heap) Swap(i, j int) + type HeapElem struct + Key []byte + TimeIdx int + Value []byte + type LoadCommitHandler func(db kv.Putter, key []byte, isDone bool) error + type LoadFunc func(k, v []byte, table CurrentTableReader, next LoadNextFunc) error + var IdentityLoadFunc LoadFunc = func(k []byte, value []byte, _ CurrentTableReader, next LoadNextFunc) error { ... } + type LoadNextFunc func(originalK, k, v []byte) error + type TransformArgs struct + BufferSize int + BufferType int + ExtractEndKey []byte + ExtractStartKey []byte + LogDetailsExtract AdditionalLogArguments + LogDetailsLoad AdditionalLogArguments + Quit <-chan struct{}