Class MapIndex
- java.lang.Object
-
- org.apache.druid.segment.join.table.MapIndex
-
- All Implemented Interfaces:
IndexedTable.Index
public class MapIndex extends Object implements IndexedTable.Index
AnIndexedTable.Index
backed by a Map.
-
-
Field Summary
-
Fields inherited from interface org.apache.druid.segment.join.table.IndexedTable.Index
NOT_FOUND
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areKeysUnique(boolean includeNull)
Returns whether keys are unique in this index.it.unimi.dsi.fastutil.ints.IntSortedSet
find(Object key)
Returns the list of row numbers corresponding to "key" in this index.int
findUniqueLong(long key)
Returns the row number corresponding to "key" in this index, orIndexedTable.Index.NOT_FOUND
if the key does not exist in the index.ColumnType
keyType()
Returns the natural key type for the index.
-
-
-
Method Detail
-
keyType
public ColumnType keyType()
Description copied from interface:IndexedTable.Index
Returns the natural key type for the index.- Specified by:
keyType
in interfaceIndexedTable.Index
-
areKeysUnique
public boolean areKeysUnique(boolean includeNull)
Description copied from interface:IndexedTable.Index
Returns whether keys are unique in this index. If this returns true, thenIndexedTable.Index.find(Object)
will only ever return a zero- or one-element list.- Specified by:
areKeysUnique
in interfaceIndexedTable.Index
- Parameters:
includeNull
- whether null is considered a valid key
-
find
public it.unimi.dsi.fastutil.ints.IntSortedSet find(@Nullable Object key)
Description copied from interface:IndexedTable.Index
Returns the list of row numbers corresponding to "key" in this index. If "key" is some type other than the natural typeIndexedTable.Index.keyType()
, it will be converted before checking the index.- Specified by:
find
in interfaceIndexedTable.Index
-
findUniqueLong
public int findUniqueLong(long key)
Description copied from interface:IndexedTable.Index
Returns the row number corresponding to "key" in this index, orIndexedTable.Index.NOT_FOUND
if the key does not exist in the index. It is only valid to call this method ifIndexedTable.Index.keyType()
isValueType.LONG
andIndexedTable.Index.areKeysUnique(boolean)
returns true.- Specified by:
findUniqueLong
in interfaceIndexedTable.Index
-
-