Class IncrementalUpdateByStateManager
java.lang.Object
com.illumon.iris.db.v2.updateby.hashing.IncrementalUpdateByStateManager
- All Implemented Interfaces:
ChunkedUpdateByStateManager
public class IncrementalUpdateByStateManager extends Object implements ChunkedUpdateByStateManager
-
Field Summary
Fields Modifier and Type Field Description static intCHUNK_SIZEstatic doubleDEFAULT_MAX_LOAD_FACTORstatic doubleDEFAULT_TARGET_LOAD_FACTORstatic intMINIMUM_INITIAL_HASH_SIZE -
Constructor Summary
Constructors Constructor Description IncrementalUpdateByStateManager(ColumnSource<?>[] tableKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor) -
Method Summary
Modifier and Type Method Description voidadd(SafeCloseable bc, OrderedKeys orderedKeys, ColumnSource<?>[] sources, org.apache.commons.lang3.mutable.MutableInt nextOutputPosition, WritableIntChunk<Attributes.KeyIndices> outputPositions)voiddoRehash(com.illumon.iris.db.v2.updateby.hashing.IncrementalUpdateByStateManager.BuildContext bc)voidfindModifications(SafeCloseable pc, OrderedKeys modifiedIndex, ColumnSource<?>[] leftSources, WritableIntChunk<Attributes.KeyIndices> outputPositions)SafeCloseablemakeUpdateByBuildContext(ColumnSource<?>[] buildSources, long maxSize)SafeCloseablemakeUpdateByProbeContext(ColumnSource<?>[] buildSources, long maxSize)booleanrehashRequired()voidremove(SafeCloseable pc, OrderedKeys indexToRemove, ColumnSource<?>[] sources, WritableIntChunk<Attributes.KeyIndices> outputPositions)voidsetMaximumLoadFactor(double maximumLoadFactor)voidsetTargetLoadFactor(double targetLoadFactor)
-
Field Details
-
CHUNK_SIZE
public static final int CHUNK_SIZE- See Also:
- Constant Field Values
-
MINIMUM_INITIAL_HASH_SIZE
public static final int MINIMUM_INITIAL_HASH_SIZE- See Also:
- Constant Field Values
-
DEFAULT_MAX_LOAD_FACTOR
public static final double DEFAULT_MAX_LOAD_FACTOR- See Also:
- Constant Field Values
-
DEFAULT_TARGET_LOAD_FACTOR
public static final double DEFAULT_TARGET_LOAD_FACTOR- See Also:
- Constant Field Values
-
-
Constructor Details
-
IncrementalUpdateByStateManager
public IncrementalUpdateByStateManager(ColumnSource<?>[] tableKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor)
-
-
Method Details
-
add
public void add(SafeCloseable bc, OrderedKeys orderedKeys, ColumnSource<?>[] sources, org.apache.commons.lang3.mutable.MutableInt nextOutputPosition, WritableIntChunk<Attributes.KeyIndices> outputPositions)- Specified by:
addin interfaceChunkedUpdateByStateManager
-
makeUpdateByBuildContext
- Specified by:
makeUpdateByBuildContextin interfaceChunkedUpdateByStateManager
-
makeUpdateByProbeContext
- Specified by:
makeUpdateByProbeContextin interfaceChunkedUpdateByStateManager
-
doRehash
public void doRehash(com.illumon.iris.db.v2.updateby.hashing.IncrementalUpdateByStateManager.BuildContext bc) -
rehashRequired
public boolean rehashRequired() -
setTargetLoadFactor
public void setTargetLoadFactor(double targetLoadFactor) -
setMaximumLoadFactor
public void setMaximumLoadFactor(double maximumLoadFactor) -
remove
public void remove(@NotNull SafeCloseable pc, @NotNull OrderedKeys indexToRemove, @NotNull ColumnSource<?>[] sources, @NotNull WritableIntChunk<Attributes.KeyIndices> outputPositions)- Specified by:
removein interfaceChunkedUpdateByStateManager
-
findModifications
public void findModifications(@NotNull SafeCloseable pc, @NotNull OrderedKeys modifiedIndex, @NotNull ColumnSource<?>[] leftSources, @NotNull WritableIntChunk<Attributes.KeyIndices> outputPositions)- Specified by:
findModificationsin interfaceChunkedUpdateByStateManager
-