Interface HotLoopCallee

All Known Subinterfaces:
AggregateCombiner<T>, BaseDoubleColumnValueSelector, BaseFloatColumnValueSelector, BaseLongColumnValueSelector, BufferAggregator, CloseableIndexed<T>, ColumnarInts, ColumnarMultiInts, ColumnValueSelector<T>, DimensionSelector, DoubleColumnSelector, FloatColumnSelector, HistoricalColumnSelector<T>, HistoricalDimensionSelector, Indexed<T>, IndexedInts, LongColumnSelector, NumericColumn, ReadableOffset, SettableColumnValueSelector<T>, SingleValueHistoricalDimensionSelector, ValueMatcher
All Known Implementing Classes:
AbstractDimensionSelector, ArrayBasedIndexedInts, AtomicIntegerReadableOffset, BaseExpressionColumnValueSelector, BaseSingleValueDimensionSelector, BitmapOffset, CardinalityBufferAggregator, CompressedVSizeColumnarIntsSupplier.CompressedVSizeColumnarInts, CompressedVSizeColumnarMultiIntsSupplier.CompressedVSizeColumnarMultiInts, ConstantDimensionSelector, ConstantExprEvalSelector, ConstantMultiValueDimensionSelector, ConstantTimeColumn, CountBufferAggregator, DelegatingBufferAggregator, DoubleAggregateCombiner, DoubleAnyBufferAggregator, DoubleFirstBufferAggregator, DoubleLastBufferAggregator, DoubleMaxBufferAggregator, DoubleMeanBufferAggregator, DoubleMinBufferAggregator, DoublesColumn, DoubleSumBufferAggregator, DoubleWrappingDimensionSelector, ExpressionColumnValueSelector, ExpressionLambdaBufferAggregator, ExpressionMultiValueDimensionSelector, FilteredBufferAggregator, FilteredOffset, FixedIndexed, FloatAnyBufferAggregator, FloatFirstBufferAggregator, FloatLastBufferAggregator, FloatMaxBufferAggregator, FloatMinBufferAggregator, FloatsColumn, FloatSumBufferAggregator, FloatWrappingDimensionSelector, FrameFilteredOffset, FrontCodedIndexed, FrontCodedIndexed.FrontCodedV0, FrontCodedIndexed.FrontCodedV1, FrontCodedIntArrayIndexed, GenericFirstAggregateCombiner, GenericIndexed, GenericIndexed.BufferIndexed, GenericLastAggregateCombiner, HistogramBufferAggregator, HyperLogLogCollectorAggregateCombiner, HyperUniquesBufferAggregator, IncrementalIndexRowHolder, IndexedTableColumnValueSelector, IndexedTableDimensionSelector, JavaScriptBufferAggregator, ListIndexed, LongAggregateCombiner, LongAnyBufferAggregator, LongConstantBufferAggregator, LongFirstBufferAggregator, LongLastBufferAggregator, LongMaxBufferAggregator, LongMinBufferAggregator, LongsColumn, LongSumAggregateCombiner, LongSumBufferAggregator, LongWrappingDimensionSelector, NestedDataColumnSupplier.FieldsFixupIndexed, NestedFieldVirtualColumn.FieldDimensionSelector, NilColumnValueSelector, NoopBufferAggregator, NullableNumericAggregateCombiner, NullableNumericBufferAggregator, NumericAnyBufferAggregator, NumericArrayFieldSelector, NumericFirstBufferAggregator, NumericLastBufferAggregator, ObjectAggregateCombiner, ObjectBasedColumnSelector, ObjectColumnDoubleBufferAggregatorWrapper, ObjectColumnFloatBufferAggregatorWrapper, ObjectColumnLongBufferAggregatorWrapper, ObjectColumnSelector, ObjectToArrayColumnValueSelector, ObjectToNumberColumnValueSelector, Offset, PossiblyNullColumnValueSelector, PossiblyNullDimensionSelector, QueryableIndexCursorHolder.AscendingTimestampCheckingOffset, QueryableIndexCursorHolder.DescendingTimestampCheckingOffset, QueryableIndexCursorHolder.TimestampCheckingOffset, RangeIndexedInts, RowBasedExpressionColumnValueSelector, SettableDimensionValueSelector, SettableDoubleColumnValueSelector, SettableFloatColumnValueSelector, SettableLongColumnValueSelector, SettableObjectColumnValueSelector, SettableValueDoubleColumnValueSelector, SettableValueFloatColumnValueSelector, SettableValueLongColumnValueSelector, ShimMultiValueDimensionSelector, ShimNumericColumnValueSelector, ShimObjectColumnValueSelector, ShimSingleValueDimensionSelector, ShimVectorObjectDimSelector, SimpleAscendingOffset, SimpleDescendingOffset, SimpleDoubleBufferAggregator, SimpleFloatBufferAggregator, SimpleLongBufferAggregator, SimpleSettableOffset, SingleIndexedInt, SingleLongInputCachingExpressionColumnValueSelector, SingleScanTimeDimensionSelector, SingleStringInputCachingExpressionColumnValueSelector, SingleStringInputDeferredEvaluationExpressionDimensionSelector, SingleValueBufferAggregator, SliceIndexedInts, StringAnyBufferAggregator, StringEncodingStrategies.Utf8ToStringIndexed, StringFirstBufferAggregator, StringLastBufferAggregator, SuppressedAggregatorFactory.SuppressedBufferAggregator, TrackingColumnValueSelector, TrackingDimensionSelector, VSizeColumnarInts, VSizeColumnarMultiInts, ZeroIndexedInts

public interface HotLoopCallee
Marker interface for abstractions, which are called from hot loops during query processing. Some of the methods of interfaces extending HotLoopCallee should be annotated with CalledFromHotLoop.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Implementations of this method should call inspector.visit() with all fields of this class, which meet two conditions: 1.
  • Method Details

    • inspectRuntimeShape

      void inspectRuntimeShape(RuntimeShapeInspector inspector)
      Implementations of this method should call inspector.visit() with all fields of this class, which meet two conditions: 1. They are used in methods of this class, annotated with CalledFromHotLoop 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 type Set could be HashSet or TreeSet 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.