Package org.apache.druid.segment.serde
Class CombineFirstTwoValuesIndexedInts
- java.lang.Object
-
- org.apache.druid.segment.serde.CombineFirstTwoValuesIndexedInts
-
- All Implemented Interfaces:
HotLoopCallee
,IndexedInts
- Direct Known Subclasses:
CombineFirstTwoValuesColumnarInts
public class CombineFirstTwoValuesIndexedInts extends Object implements IndexedInts
AIndexedInts
that delegates to an underyling instance, but combines the values 0 and 1 into 0, and shifts all other values down by one. For example: - [2, 0, 1] => [1, 0, 0] - [3, 2, 1] => [2, 1, 0] - [0, 1, 0] => [0, 0, 0] Provided to enable compatibility for segments written underNullHandling.sqlCompatible()
mode but read underNullHandling.replaceWithDefault()
mode.
-
-
Constructor Summary
Constructors Constructor Description CombineFirstTwoValuesIndexedInts(IndexedInts delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
get(int index)
void
get(int[] out, int[] indexes, int length)
void
get(int[] out, int start, int length)
void
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1.int
size()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.segment.data.IndexedInts
debugToString, forEach
-
-
-
-
Constructor Detail
-
CombineFirstTwoValuesIndexedInts
public CombineFirstTwoValuesIndexedInts(IndexedInts delegate)
-
-
Method Detail
-
size
public int size()
- Specified by:
size
in interfaceIndexedInts
-
get
public int get(int index)
- Specified by:
get
in interfaceIndexedInts
-
get
public void get(int[] out, int start, int length)
- Specified by:
get
in interfaceIndexedInts
-
get
public void get(int[] out, int[] indexes, int length)
- Specified by:
get
in interfaceIndexedInts
-
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.- Specified by:
inspectRuntimeShape
in interfaceHotLoopCallee
-
-