Class SortedRangesPacked<ArrayType>
java.lang.Object
com.illumon.iris.db.v2.utils.RefCountedCow<SortedRanges>
com.illumon.iris.db.v2.utils.sortedranges.SortedRanges
com.illumon.iris.db.v2.utils.sortedranges.SortedRangesTyped<ArrayType>
com.illumon.iris.db.v2.utils.sortedranges.SortedRangesPacked<ArrayType>
- All Implemented Interfaces:
TreeIndexImpl
- Direct Known Subclasses:
SortedRangesInt,SortedRangesShort
public abstract class SortedRangesPacked<ArrayType> extends SortedRangesTyped<ArrayType>
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.utils.sortedranges.SortedRanges
SortedRanges.RangeIteratorNested classes/interfaces inherited from interface com.illumon.iris.db.v2.utils.TreeIndexImpl
TreeIndexImpl.RandomBuilder, TreeIndexImpl.SequentialBuilder -
Field Summary
Fields Modifier and Type Field Description protected longoffsetFields inherited from class com.illumon.iris.db.v2.utils.sortedranges.SortedRanges
cardinality, count, DEBUG, ELEMENTS_PER_BLOCK_DENSE_THRESHOLD, INITIAL_SIZE, INT_DENSE_MAX_CAPACITY, INT_EXTENT, INT_SPARSE_MAX_CAPACITY, LONG_DENSE_MAX_CAPACITY, LONG_EXTENT, LONG_SPARSE_MAX_CAPACITY, MAX_CAPACITY, POOL_ARRAYS, SHORT_EXTENT, SHORT_MAX_CAPACITY, USE_RANGES_ARRAY -
Constructor Summary
Constructors Modifier Constructor Description protectedSortedRangesPacked(int initialCapacity, long offset)protectedSortedRangesPacked(ArrayType data, long offset)protectedSortedRangesPacked(ArrayType data, long offset, int count, long cardinality) -
Method Summary
Modifier and Type Method Description SortedRangesaddInternal(long v, boolean writeCheck)SortedRangesaddRangeInternal(long start, long end, boolean writeCheck)SortedRangesappendInternal(long v, boolean writeCheck)SortedRangesappendRangeInternal(long start, long end, boolean writeCheck)SortedRangesapplyShift(long shiftOffset)SortedRangesapplyShiftOnNew(long shiftOffset)booleanfits(long value)booleanfits(long start, long end)booleanfitsForAppend(long end)protected abstract SortedRangesmakeMyType(ArrayType data, long offset, int count, long cardinality)protected abstract longmaxValueForType()protected longoffset()voidoffsetToDebugString(StringBuilder sb)protected longpack(long unpackedValue)protected abstract voidrebaseAndShift(ArrayType dataOut, long newOffset, long shiftOffset, SortedRangesTyped<ArrayType> sar, long first)SortedRangesremoveInternal(long v)SortedRangesremoveRangeInternal(long start, long end)protected longunpack(long packedValue)Methods inherited from class com.illumon.iris.db.v2.utils.sortedranges.SortedRangesTyped
capacityForLastIndex, checkSizeAndMoveData, copyData, copyData, copyData, copyDataForMoveToNew, copyTo, ensureCanAppend, freeArray, makeArray, makeMyTypeAndOffset, moveData, tryCompactUnsafe, tryMakePackedTypeMethods inherited from class com.illumon.iris.db.v2.utils.sortedranges.SortedRanges
absPackedGet, absUnpackedGet, add, addPacked, addPackedWithStart, addRange, addRangePacked, addRangePackedWithStart, addRangeUnsafe, addUnsafe, append, appendPacked, appendRange, appendRangePacked, appendRangeUnpacked, appendRangeUnsafe, appendUnsafe, arraySizeRoundingInt, arraySizeRoundingShort, bytesAllocated, bytesUsed, clear, close, close2, contains, containsRange, count, dataLength, dataToDebugString, deepCopy, find, first, forEachLong, forEachLongRange, get, getAverageRunLengthEstimate, getCardinality, getIterator, getKeysForPositions, getOrderedKeysByKeyRange, getOrderedKeysByPosition, getOrderedKeysByPositionWithStart, getOrderedKeysIterator, getRangeIterator, getReverseIterator, getSearchIterator, growOnNew, hasMoreThanOneRange, insertImpl, insertImpl, intArrayCapacityForLastIndex, intersectOnNew, intersectOnNewImpl, invertOnNew, invertRangeOnNew, isDense, isDenseInt, isDenseLong, isDenseLongSample, isDenseShort, isEmpty, isIntAllocationSize, isLongAllocationSize, isShortAllocationSize, isSparse, ixAppendRange, ixCardinality, ixCompact, ixContainsRange, ixCowRef, ixFind, ixFirstKey, ixForEachLong, ixForEachLongRange, ixGet, ixGetAverageRunLengthEstimate, ixGetKeysForPositions, ixGetOrderedKeysByKeyRange, ixGetOrderedKeysByPosition, ixGetOrderedKeysIterator, ixInsert, ixInsert, ixInsertRange, ixInsertSecondHalf, ixInsertWithShift, ixIntersectOnNew, ixInvertOnNew, ixIsEmpty, ixIterator, ixLastKey, ixMinusOnNew, ixOverlaps, ixOverlapsRange, ixRangeIterator, ixRangesCountUpperBound, ixRefCount, ixRelease, ixRemove, ixRemove, ixRemoveRange, ixRemoveSecondHalf, ixRetain, ixRetainRange, ixReverseIterator, ixSearchIterator, ixShiftInPlace, ixShiftOnNew, ixSubindexByKeyOnNew, ixSubindexByPosOnNew, ixSubsetOf, ixToRspOnNew, ixUnionOnNew, ixUpdate, ixValidate, last, longArrayCapacityForLastIndex, makeEmpty, makeForKnownRange, makeSingleElement, makeSingleRange, overlaps, overlapsRange, packedGet, packedSet, packedValuesPerCacheLine, remove, remove, removePacked, removeRange, removeRangePacked, removeRangePackedWithStart, retainRange, self, shortArrayCapacityForLastIndex, subRangesByKey, subRangesByPos, subsetOf, toDebugString, toRsp, toString, tryCompact, tryMakeForKnownRangeFinalCapacityLowerBound, tryMakeForKnownRangeKnownCount, tryMakeForKnownRangeUnknownMaxCapacity, tryPack, tryPackFor, tryPackWithNewLast, unionOnNew, unionOnNewLegacy, unpackedGet, unpackedSet, validate, validate, validateMethods inherited from class com.illumon.iris.db.v2.utils.RefCountedCow
acquire, canWrite, cowRef, getWriteRef, notifyAfterRelease, notifyBeforeAcquire, refCount, releaseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.utils.TreeIndexImpl
ixInsert, ixRemove, ixValidate
-
Field Details
-
offset
protected long offset
-
-
Constructor Details
-
SortedRangesPacked
protected SortedRangesPacked(int initialCapacity, long offset) -
SortedRangesPacked
-
SortedRangesPacked
-
-
Method Details
-
maxValueForType
protected abstract long maxValueForType() -
fits
public boolean fits(long value)- Specified by:
fitsin classSortedRanges
-
fits
public boolean fits(long start, long end)- Specified by:
fitsin classSortedRanges
-
fitsForAppend
public boolean fitsForAppend(long end)- Specified by:
fitsForAppendin classSortedRanges
-
pack
protected final long pack(long unpackedValue)- Specified by:
packin classSortedRanges
-
unpack
protected final long unpack(long packedValue)- Specified by:
unpackin classSortedRanges
-
makeMyType
protected abstract SortedRanges makeMyType(ArrayType data, long offset, int count, long cardinality) -
offset
protected final long offset() -
addInternal
- Specified by:
addInternalin classSortedRanges
-
addRangeInternal
- Specified by:
addRangeInternalin classSortedRanges
-
appendInternal
- Specified by:
appendInternalin classSortedRanges
-
appendRangeInternal
- Specified by:
appendRangeInternalin classSortedRanges
-
removeInternal
- Specified by:
removeInternalin classSortedRanges
-
removeRangeInternal
- Specified by:
removeRangeInternalin classSortedRanges
-
rebaseAndShift
protected abstract void rebaseAndShift(ArrayType dataOut, long newOffset, long shiftOffset, SortedRangesTyped<ArrayType> sar, long first) -
applyShift
- Specified by:
applyShiftin classSortedRanges
-
applyShiftOnNew
- Specified by:
applyShiftOnNewin classSortedRanges
-
offsetToDebugString
- Overrides:
offsetToDebugStringin classSortedRanges
-