merge

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StopMerge atomic.Bool

Functions

func NewCustomConfigProvider

func NewCustomConfigProvider() *customConfigProvider

Types

type Basic

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

func NewBasicPolicy

func NewBasicPolicy() *Basic

func (*Basic) GetConfig

func (o *Basic) GetConfig(tbl *catalog.TableEntry) any

func (*Basic) OnObject

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

impl Policy for Basic

func (*Basic) ResetForTable

func (o *Basic) ResetForTable(entry *catalog.TableEntry)

func (*Basic) Revise

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

func (*Basic) SetConfig added in v1.0.1

func (o *Basic) SetConfig(tbl *catalog.TableEntry, f func() txnif.AsyncTxn, c any)

type BasicPolicyConfig

type BasicPolicyConfig struct {
	ObjectMinRows    int
	MergeMaxOneRun   int
	MaxRowsMergedObj int
	MergeHints       []api.MergeHint
}

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, policy Policy)

func (*MergeExecutor) ManuallyExecute

func (e *MergeExecutor) ManuallyExecute(entry *catalog.TableEntry, objs []*catalog.ObjectEntry) error

func (*MergeExecutor) MemAvailBytes added in v1.0.1

func (e *MergeExecutor) MemAvailBytes() int

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) GetConfig

func (o *Overlap) GetConfig(*catalog.TableEntry) any

func (*Overlap) OnObject

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

impl Policy for Basic

func (*Overlap) ResetForTable

func (o *Overlap) ResetForTable(entry *catalog.TableEntry)

func (*Overlap) Revise

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

func (*Overlap) SetConfig added in v1.0.1

func (o *Overlap) SetConfig(*catalog.TableEntry, func() txnif.AsyncTxn, any)

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.ObjectEntry)
	Revise(cpu, mem int64) []*catalog.ObjectEntry
	ResetForTable(*catalog.TableEntry)
	SetConfig(*catalog.TableEntry, func() txnif.AsyncTxn, any)
	GetConfig(*catalog.TableEntry) any
}

Jump to

Keyboard shortcuts

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