fragment

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FragmentRange

type FragmentRange struct {
	Start uint32
	End   uint32
}

FragmentRange means a fragment range of a data file. The range is left closed and right open. Such as [Start, end). A fragment is a logical data block based of row. It is used for data block filtering of primary index and skip index. Currently, fragment and segment are one-to-one and can be expanded to one-to-N in the future.

func NewFragmentRange

func NewFragmentRange(start, end uint32) *FragmentRange

func (*FragmentRange) Equal

func (fr *FragmentRange) Equal(other *FragmentRange) bool

Equal is used to determine that two fragment ranges are the same.

func (*FragmentRange) Less

func (fr *FragmentRange) Less(other *FragmentRange) (bool, error)

Less is used to determine that the former fragment range is on the left of the latter. The horizontal axis starts from 0.

func (*FragmentRange) NumberOfSegments added in v1.5.0

func (fr *FragmentRange) NumberOfSegments() int

type FragmentRangeDetail added in v1.5.0

type FragmentRangeDetail struct {
	Count int64
}

type FragmentRangeDetails added in v1.5.0

type FragmentRangeDetails []*FragmentRangeDetail

type FragmentRanges

type FragmentRanges []*FragmentRange

func CalcFragmentRanges added in v1.5.0

func CalcFragmentRanges(indices []int) FragmentRanges

Convention: The indices parameter is a list of valid range IDs in ascending order

func (FragmentRanges) Complement added in v1.5.0

func (frs FragmentRanges) Complement(subset FragmentRanges) FragmentRanges

Convention: 'frs' represents the full range set; 'subset' is a subset where the range intervals represented by its elements are sorted in ascending order and non-overlapping

func (FragmentRanges) ConvertToSegmentRanges added in v1.5.0

func (frs FragmentRanges) ConvertToSegmentRanges(segmentIDsLayout []int64) (FragmentRanges, error)

Generate segment ranges from fragment ranges

func (FragmentRanges) Empty added in v1.2.0

func (frs FragmentRanges) Empty() bool

func (FragmentRanges) GetLastFragment

func (frs FragmentRanges) GetLastFragment() uint32

func (FragmentRanges) Intersect added in v1.5.0

func (frs FragmentRanges) Intersect(other FragmentRanges) FragmentRanges

Convention: The range intervals represented by elements in 'frs' and 'other' are each sorted in ascending order and non-overlapping

func (FragmentRanges) String

func (frs FragmentRanges) String() string

func (FragmentRanges) Union added in v1.5.0

func (frs FragmentRanges) Union(other FragmentRanges) FragmentRanges

Convention: The range intervals represented by elements in 'frs' and 'other' are each sorted in ascending order and non-overlapping

type IndexFragment

type IndexFragment interface {
	GetFragmentCount() uint32
	GetSegmentsFromFragmentRange() FragmentRanges
	GetRowsCountInRange(start int, end int) uint64
	GetTotalRowsCount() uint64
	PopFragment()
	Empty() bool
}

func NewIndexFragmentFixedSize

func NewIndexFragmentFixedSize(fragmentCount uint32, rowCountPerFragment uint64) IndexFragment

func NewIndexFragmentVariable

func NewIndexFragmentVariable(segmentOffset []uint64) IndexFragment

type IndexFragmentFixedSizeImpl

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

IndexFragmentFixedSizeImpl indicates that the size of fragment is fixed and the last row of data is added to the index by default.

func (*IndexFragmentFixedSizeImpl) Empty

func (f *IndexFragmentFixedSizeImpl) Empty() bool

func (*IndexFragmentFixedSizeImpl) GetFragmentCount

func (f *IndexFragmentFixedSizeImpl) GetFragmentCount() uint32

func (*IndexFragmentFixedSizeImpl) GetRowsCountInRange

func (f *IndexFragmentFixedSizeImpl) GetRowsCountInRange(start int, end int) uint64

func (*IndexFragmentFixedSizeImpl) GetSegmentsFromFragmentRange added in v1.5.0

func (f *IndexFragmentFixedSizeImpl) GetSegmentsFromFragmentRange() FragmentRanges

func (*IndexFragmentFixedSizeImpl) GetTotalRowsCount

func (f *IndexFragmentFixedSizeImpl) GetTotalRowsCount() uint64

func (*IndexFragmentFixedSizeImpl) PopFragment

func (f *IndexFragmentFixedSizeImpl) PopFragment()

type IndexFragmentVariableImpl

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

IndexFragmentVariableImpl indicates that the size of fragment is variable and the last row of data is added to the index by default.

func (*IndexFragmentVariableImpl) AddRowsToLastFragment

func (f *IndexFragmentVariableImpl) AddRowsToLastFragment(rowsCount uint64)

func (*IndexFragmentVariableImpl) AppendFragment

func (f *IndexFragmentVariableImpl) AppendFragment(rowsCount uint64)

func (*IndexFragmentVariableImpl) Empty

func (f *IndexFragmentVariableImpl) Empty() bool

func (*IndexFragmentVariableImpl) GetFragmentCount

func (f *IndexFragmentVariableImpl) GetFragmentCount() uint32

func (*IndexFragmentVariableImpl) GetFragmentStartingRow

func (f *IndexFragmentVariableImpl) GetFragmentStartingRow(markIndex int) uint64

func (*IndexFragmentVariableImpl) GetLastFragmentRows

func (f *IndexFragmentVariableImpl) GetLastFragmentRows() uint64

func (*IndexFragmentVariableImpl) GetRowsCountInRange

func (f *IndexFragmentVariableImpl) GetRowsCountInRange(start int, end int) uint64

func (*IndexFragmentVariableImpl) GetSegmentsFromFragmentRange added in v1.5.0

func (f *IndexFragmentVariableImpl) GetSegmentsFromFragmentRange() FragmentRanges

func (*IndexFragmentVariableImpl) GetTotalRowsCount

func (f *IndexFragmentVariableImpl) GetTotalRowsCount() uint64

func (*IndexFragmentVariableImpl) PopFragment

func (f *IndexFragmentVariableImpl) PopFragment()

Jump to

Keyboard shortcuts

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