Package org.apache.druid.segment
Class FilteredOffset
- java.lang.Object
-
- org.apache.druid.segment.data.Offset
-
- org.apache.druid.segment.FilteredOffset
-
- All Implemented Interfaces:
Cloneable
,HotLoopCallee
,ReadableOffset
public final class FilteredOffset extends Offset
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Offset
clone()
clone() is not supported by FilteredOffset because it's not possible to clonefilterMatcher
, and while re-creating filterMatcher could be not very cheap for some implementations ofFilter
.ReadableOffset
getBaseReadableOffset()
Returns the same offset ("this") or a readable "view" of this offset, which always returns the same value fromReadableOffset.getOffset()
, as this offset.int
getOffset()
void
increment()
void
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1.void
reset()
Resets the Offset to the position it was created or cloned with.boolean
withinBounds()
-
-
-
Method Detail
-
withinBounds
public boolean withinBounds()
- Specified by:
withinBounds
in classOffset
-
reset
public void reset()
Description copied from class:Offset
Resets the Offset to the position it was created or cloned with.
-
getBaseReadableOffset
public ReadableOffset getBaseReadableOffset()
Description copied from class:Offset
Returns the same offset ("this") or a readable "view" of this offset, which always returns the same value fromReadableOffset.getOffset()
, as this offset. This method is useful for "unwrapping" such offsets asFilteredOffset
and reduce reference indirection, when onlyReadableOffset
API is needed.- Specified by:
getBaseReadableOffset
in classOffset
-
clone
public Offset clone()
clone() is not supported by FilteredOffset because it's not possible to clonefilterMatcher
, and while re-creating filterMatcher could be not very cheap for some implementations ofFilter
. Although this approach could be investigated. If clone is made possible for FilteredOffset, some improvements could become possible inPooledTopNAlgorithm.computeSpecializedScanAndAggregateImplementations()
. See also https://github.com/apache/druid/issues/5132.
-
getOffset
public int getOffset()
-
inspectRuntimeShape
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
Description copied from interface:HotLoopCallee
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1. They are used in methods of this class, annotated withCalledFromHotLoop
2. They are either: a. Nullable objects b. Instances of HotLoopCallee c. Objects, which don't always have a specific class in runtime. For example, a field of typeSet
could beHashSet
orTreeSet
in runtime, depending on how this instance (the instance on which inspectRuntimeShape() is called) is configured. d. ByteBuffer or similar objects, where byte order matters e. boolean flags, affecting branch taking f. Arrays of objects, meeting any of conditions a-e.
-
-