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 int
CHUNK_SIZE
static double
DEFAULT_MAX_LOAD_FACTOR
static double
DEFAULT_TARGET_LOAD_FACTOR
static int
MINIMUM_INITIAL_HASH_SIZE
-
Constructor Summary
Constructors Constructor Description IncrementalUpdateByStateManager(ColumnSource<?>[] tableKeySources, int tableSize, double maximumLoadFactor, double targetLoadFactor)
-
Method Summary
Modifier and Type Method Description void
add(SafeCloseable bc, OrderedKeys orderedKeys, ColumnSource<?>[] sources, org.apache.commons.lang3.mutable.MutableInt nextOutputPosition, WritableIntChunk<Attributes.KeyIndices> outputPositions)
void
doRehash(com.illumon.iris.db.v2.updateby.hashing.IncrementalUpdateByStateManager.BuildContext bc)
void
findModifications(SafeCloseable pc, OrderedKeys modifiedIndex, ColumnSource<?>[] leftSources, WritableIntChunk<Attributes.KeyIndices> outputPositions)
SafeCloseable
makeUpdateByBuildContext(ColumnSource<?>[] buildSources, long maxSize)
SafeCloseable
makeUpdateByProbeContext(ColumnSource<?>[] buildSources, long maxSize)
boolean
rehashRequired()
void
remove(SafeCloseable pc, OrderedKeys indexToRemove, ColumnSource<?>[] sources, WritableIntChunk<Attributes.KeyIndices> outputPositions)
void
setMaximumLoadFactor(double maximumLoadFactor)
void
setTargetLoadFactor(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:
add
in interfaceChunkedUpdateByStateManager
-
makeUpdateByBuildContext
- Specified by:
makeUpdateByBuildContext
in interfaceChunkedUpdateByStateManager
-
makeUpdateByProbeContext
- Specified by:
makeUpdateByProbeContext
in 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:
remove
in interfaceChunkedUpdateByStateManager
-
findModifications
public void findModifications(@NotNull SafeCloseable pc, @NotNull OrderedKeys modifiedIndex, @NotNull ColumnSource<?>[] leftSources, @NotNull WritableIntChunk<Attributes.KeyIndices> outputPositions)- Specified by:
findModifications
in interfaceChunkedUpdateByStateManager
-