merge

package
v1.0.0-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCustomConfigProvider

func NewCustomConfigProvider() *customConfigProvider

Types

type Basic

type Basic struct {
	// contains filtered or unexported fields
}

func NewBasicPolicy

func NewBasicPolicy() *Basic

func (*Basic) Config

func (o *Basic) Config(id uint64, c any)

func (*Basic) GetConfig

func (o *Basic) GetConfig(id uint64) any

func (*Basic) OnObject

func (o *Basic) OnObject(obj *catalog.SegmentEntry)

impl Policy for Basic

func (*Basic) ResetForTable

func (o *Basic) ResetForTable(id uint64, entry *catalog.TableEntry)

func (*Basic) Revise

func (o *Basic) Revise(cpu, mem int64) []*catalog.SegmentEntry

type BasicPolicyConfig

type BasicPolicyConfig struct {
	ObjectMinRows  int
	MergeMaxOneRun int
}

func (*BasicPolicyConfig) String

func (c *BasicPolicyConfig) String() string

type MergeExecutor

type MergeExecutor struct {
	// contains filtered or unexported fields
}

MergeExecutor consider resources to decide to merge or not.

func NewMergeExecutor

func NewMergeExecutor(rt *dbutils.Runtime) *MergeExecutor

func (*MergeExecutor) AddActiveTask

func (e *MergeExecutor) AddActiveTask(taskId uint64, blkn, esize int)

func (*MergeExecutor) ExecuteFor

func (e *MergeExecutor) ExecuteFor(entry *catalog.TableEntry, delSegs []*catalog.SegmentEntry, policy Policy)

func (*MergeExecutor) ManuallyExecute

func (e *MergeExecutor) ManuallyExecute(entry *catalog.TableEntry, segs []*catalog.SegmentEntry) error

func (*MergeExecutor) OnExecDone

func (e *MergeExecutor) OnExecDone(v any)

func (*MergeExecutor) PrintStats

func (e *MergeExecutor) PrintStats()

func (*MergeExecutor) RefreshMemInfo

func (e *MergeExecutor) RefreshMemInfo()

type Overlap

type Overlap struct {
	// contains filtered or unexported fields
}

func NewOverlapPolicy

func NewOverlapPolicy() *Overlap

func (*Overlap) Config

func (o *Overlap) Config(uint64, any)

func (*Overlap) GetConfig

func (o *Overlap) GetConfig(uint64) any

func (*Overlap) OnObject

func (o *Overlap) OnObject(obj *catalog.SegmentEntry)

impl Policy for Basic

func (*Overlap) ResetForTable

func (o *Overlap) ResetForTable(id uint64, entry *catalog.TableEntry)

func (*Overlap) Revise

func (o *Overlap) Revise(cpu, mem int64) []*catalog.SegmentEntry

type OverlapInspector

type OverlapInspector struct {
	// contains filtered or unexported fields
}

type OverlapUnit

type OverlapUnit struct {
	// contains filtered or unexported fields
}

type Policy

type Policy interface {
	OnObject(obj *catalog.SegmentEntry)
	Revise(cpu, mem int64) []*catalog.SegmentEntry
	ResetForTable(id uint64, schema *catalog.TableEntry)
	Config(uint64, any)
	GetConfig(uint64) any
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL