Package org.apache.druid.segment.serde
Class CombineFirstTwoValuesColumnarMultiInts
- java.lang.Object
-
- org.apache.druid.segment.serde.CombineFirstTwoValuesColumnarMultiInts
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<IndexedInts>,HotLoopCallee,ColumnarMultiInts,Indexed<IndexedInts>
public class CombineFirstTwoValuesColumnarMultiInts extends Object implements ColumnarMultiInts
AColumnarMultiIntsthat delegates to an underyling instance, but appliesCombineFirstTwoValuesIndexedIntsto each row's set of values. Provided to enable compatibility for segments written underNullHandling.sqlCompatible()mode but read underNullHandling.replaceWithDefault()mode.
-
-
Constructor Summary
Constructors Constructor Description CombineFirstTwoValuesColumnarMultiInts(ColumnarMultiInts delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()IndexedIntsget(int index)Returns the values at a given row index.IndexedIntsgetUnshared(int index)Returns the values at a given row index.intindexOf(IndexedInts value)Returns the index of "value" in this Indexed object, or a negative number if the value is not present.voidinspectRuntimeShape(RuntimeShapeInspector inspector)Implementations of this method should callinspector.visit()with all fields of this class, which meet two conditions: 1.booleanisSorted()Indicates if this value set is sorted, the implication being that the contract ofIndexed.indexOf(T)is strenthened to return a negative number equal to (-(insertion point) - 1) when the value is not present in the set.Iterator<IndexedInts>iterator()intsize()Number of elements in the value set-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
CombineFirstTwoValuesColumnarMultiInts
public CombineFirstTwoValuesColumnarMultiInts(ColumnarMultiInts delegate)
-
-
Method Detail
-
get
public IndexedInts get(int index)
Description copied from interface:ColumnarMultiIntsReturns the values at a given row index. The IndexedInts object may potentially be reused, so callers should not keep references to it.- Specified by:
getin interfaceColumnarMultiInts- Specified by:
getin interfaceIndexed<IndexedInts>
-
getUnshared
public IndexedInts getUnshared(int index)
Description copied from interface:ColumnarMultiIntsReturns the values at a given row index. The IndexedInts object will not be reused. This method may be less efficient than plain "get".- Specified by:
getUnsharedin interfaceColumnarMultiInts
-
size
public int size()
Description copied from interface:IndexedNumber of elements in the value set- Specified by:
sizein interfaceIndexed<IndexedInts>
-
indexOf
public int indexOf(@Nullable IndexedInts value)
Description copied from interface:IndexedReturns the index of "value" in this Indexed object, or a negative number if the value is not present. The negative number is not guaranteed to be any particular number unlessIndexed.isSorted()returns true, in which case it will be a negative number equal to (-(insertion point) - 1), in the manner of Arrays.binarySearch.- Specified by:
indexOfin interfaceIndexed<IndexedInts>- Parameters:
value- value to search for- Returns:
- index of value, or a negative number (equal to (-(insertion point) - 1) if
Indexed.isSorted())
-
isSorted
public boolean isSorted()
Description copied from interface:IndexedIndicates if this value set is sorted, the implication being that the contract ofIndexed.indexOf(T)is strenthened to return a negative number equal to (-(insertion point) - 1) when the value is not present in the set.- Specified by:
isSortedin interfaceIndexed<IndexedInts>
-
inspectRuntimeShape
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
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.- Specified by:
inspectRuntimeShapein interfaceHotLoopCallee
-
iterator
public Iterator<IndexedInts> iterator()
- Specified by:
iteratorin interfaceIterable<IndexedInts>
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
-