Documentation
¶
Index ¶
- type FragmentRange
- type FragmentRangeDetail
- type FragmentRangeDetails
- type FragmentRanges
- func (frs FragmentRanges) Complement(subset FragmentRanges) FragmentRanges
- func (frs FragmentRanges) ConvertToSegmentRanges(segmentIDsLayout []int64) (FragmentRanges, error)
- func (frs FragmentRanges) Empty() bool
- func (frs FragmentRanges) GetLastFragment() uint32
- func (frs FragmentRanges) Intersect(other FragmentRanges) FragmentRanges
- func (frs FragmentRanges) String() string
- func (frs FragmentRanges) Union(other FragmentRanges) FragmentRanges
- type IndexFragment
- type IndexFragmentFixedSizeImpl
- func (f *IndexFragmentFixedSizeImpl) Empty() bool
- func (f *IndexFragmentFixedSizeImpl) GetFragmentCount() uint32
- func (f *IndexFragmentFixedSizeImpl) GetRowsCountInRange(start int, end int) uint64
- func (f *IndexFragmentFixedSizeImpl) GetSegmentsFromFragmentRange() FragmentRanges
- func (f *IndexFragmentFixedSizeImpl) GetTotalRowsCount() uint64
- func (f *IndexFragmentFixedSizeImpl) PopFragment()
- type IndexFragmentVariableImpl
- func (f *IndexFragmentVariableImpl) AddRowsToLastFragment(rowsCount uint64)
- func (f *IndexFragmentVariableImpl) AppendFragment(rowsCount uint64)
- func (f *IndexFragmentVariableImpl) Empty() bool
- func (f *IndexFragmentVariableImpl) GetFragmentCount() uint32
- func (f *IndexFragmentVariableImpl) GetFragmentStartingRow(markIndex int) uint64
- func (f *IndexFragmentVariableImpl) GetLastFragmentRows() uint64
- func (f *IndexFragmentVariableImpl) GetRowsCountInRange(start int, end int) uint64
- func (f *IndexFragmentVariableImpl) GetSegmentsFromFragmentRange() FragmentRanges
- func (f *IndexFragmentVariableImpl) GetTotalRowsCount() uint64
- func (f *IndexFragmentVariableImpl) PopFragment()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FragmentRange ¶
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()