Package org.apache.druid.frame.segment
Class FrameFilteredOffset
java.lang.Object
org.apache.druid.segment.data.Offset
org.apache.druid.segment.SimpleSettableOffset
org.apache.druid.frame.segment.FrameFilteredOffset
- All Implemented Interfaces:
Cloneable,HotLoopCallee,ReadableOffset
Copy of
FilteredOffset that does not require bitmap indexes.
In a future where FilteredOffset is opened up for usage outside of regular segments,
this class could be removed and usages could be migrated to FilteredOffset.-
Constructor Summary
ConstructorsConstructorDescriptionFrameFilteredOffset(SimpleSettableOffset baseOffset, ColumnSelectorFactory columnSelectorFactory, Filter postFilter) -
Method Summary
Modifier and TypeMethodDescriptionclone()SeeFilteredOffset.clone()for notes.Returns the same offset ("this") or a readable "view" of this offset, which always returns the same value fromReadableOffset.getOffset(), as this offset.intvoidMove to next offsetvoidinspectRuntimeShape(RuntimeShapeInspector inspector) Implementations of this method should callinspector.visit()with all fields of this class, which meet two conditions: 1.voidreset()Resets the Offset to the position it was created or cloned with.voidsetCurrentOffset(int currentOffset) booleanCheck if current offset position is within the valid range
-
Constructor Details
-
FrameFilteredOffset
public FrameFilteredOffset(SimpleSettableOffset baseOffset, ColumnSelectorFactory columnSelectorFactory, Filter postFilter)
-
-
Method Details
-
increment
public void increment()Description copied from class:OffsetMove to next offset -
withinBounds
public boolean withinBounds()Description copied from class:OffsetCheck if current offset position is within the valid range- Specified by:
withinBoundsin classOffset
-
setCurrentOffset
public void setCurrentOffset(int currentOffset) - Specified by:
setCurrentOffsetin classSimpleSettableOffset
-
reset
public void reset()Description copied from class:OffsetResets the Offset to the position it was created or cloned with. -
getBaseReadableOffset
Description copied from class:OffsetReturns 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 asFilteredOffsetand reduce reference indirection, when onlyReadableOffsetAPI is needed.- Specified by:
getBaseReadableOffsetin classOffset
-
clone
SeeFilteredOffset.clone()for notes. -
getOffset
public int getOffset() -
inspectRuntimeShape
Description copied from interface:HotLoopCalleeImplementations 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 withCalledFromHotLoop2. 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 typeSetcould beHashSetorTreeSetin 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.
-