Class RightIncrementalNaturalJoinStateManagerTypedBase
java.lang.Object
io.deephaven.engine.table.impl.StaticNaturalJoinStateManager
io.deephaven.engine.table.impl.RightIncrementalNaturalJoinStateManager
io.deephaven.engine.table.impl.naturaljoin.RightIncrementalNaturalJoinStateManagerTypedBase
- All Implemented Interfaces:
IncrementalNaturalJoinStateManager
public abstract class RightIncrementalNaturalJoinStateManagerTypedBase
extends RightIncrementalNaturalJoinStateManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.RightIncrementalNaturalJoinStateManager
RightIncrementalNaturalJoinStateManager.InitialBuildContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ChunkType[]
static final long
protected gnu.trove.list.array.TLongArrayList
protected ImmutableObjectArraySource<WritableRowSet>
protected final WritableColumnSource<?>[]
protected ImmutableLongArraySource
protected long
protected long
protected ImmutableLongArraySource
protected ObjectArraySource<WritableRowSet>
protected int
Fields inherited from class io.deephaven.engine.table.impl.StaticNaturalJoinStateManager
addOnly, DUPLICATE_RIGHT_VALUE, joinType, keySourcesForErrorMessages, NO_RIGHT_ENTRY_VALUE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
RightIncrementalNaturalJoinStateManagerTypedBase
(ColumnSource<?>[] tableKeySources, ColumnSource<?>[] keySourcesForErrorMessages, int tableSize, double maximumLoadFactor, NaturalJoinType joinType, boolean addOnly) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
addRightSide
(RowSequence rowSequence, Chunk[] sourceKeyChunks) protected abstract void
addRightSide
(RowSequence rowSequence, Chunk[] sourceKeyChunks, NaturalJoinModifiedSlotTracker modifiedSlotTracker) void
addRightSide
(RowSequence rightRowSet, ColumnSource<?>[] rightSources) void
addRightSide
(Context pc, RowSequence rightRowSet, ColumnSource<?>[] rightSources, @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) protected long
protected abstract void
applyRightShift
(RowSequence rowSequence, Chunk[] sourceKeyChunks, long shiftDelta, NaturalJoinModifiedSlotTracker modifiedSlotTracker, RightIncrementalNaturalJoinStateManagerTypedBase.ProbeContext pc) void
applyRightShift
(Context pc, ColumnSource<?>[] rightSources, RowSet shiftedRowSet, long shiftDelta, @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) protected abstract void
buildFromLeftSide
(RowSequence rowSequence, Chunk[] sourceKeyChunks) void
buildFromLeftSide
(Table leftTable, ColumnSource<?>[] leftSources, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc) buildRowRedirectionFromHashSlot
(QueryTable leftTable, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc, JoinControl.RedirectionType redirectionType) buildRowRedirectionFromHashSlotIndexed
(QueryTable leftTable, ColumnSource<RowSet> rowSetSource, int groupingSize, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc, JoinControl.RedirectionType redirectionType) protected void
buildTable
(TypedHasherUtil.BuildOrProbeContext.BuildContext bc, RowSequence buildRows, ColumnSource<?>[] buildSources, TypedHasherUtil.BuildHandler buildHandler) void
convertLeftDataIndex
(int groupingSize, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc, ColumnSource<RowSet> rowSetSource) protected void
decorateLeftSide
(RowSet leftRowSet, ColumnSource<?>[] leftSources, LongArraySource leftRedirections) void
doRehash
(int nextChunkSize) protected long
duplicateLocationFromRowKey
(long rowKey) protected void
freeDuplicateLocation
(long duplicateLocation) getLeftRowSet
(int slot) long
getRightRowKey
(int slot) getRightRowSet
(int slot) protected int
hashToTableLocation
(int hash) keyString
(int slot) makeInitialBuildContext
(Table leftTable) makeProbeContext
(ColumnSource<?>[] buildSources, long maxSize) protected abstract void
modifyByRight
(RowSequence rowSequence, Chunk[] sourceKeyChunks, NaturalJoinModifiedSlotTracker modifiedSlotTracker) void
modifyByRight
(Context pc, RowSet modified, ColumnSource<?>[] rightSources, @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) protected void
probeTable
(RightIncrementalNaturalJoinStateManagerTypedBase.ProbeContext pc, RowSequence probeRows, boolean usePrev, ColumnSource<?>[] probeSources, TypedHasherUtil.ProbeHandler handler) protected abstract void
rehashInternalFull
(int oldSize) boolean
rehashRequired
(int nextChunkSize) protected abstract void
removeRight
(RowSequence rowSequence, Chunk[] sourceKeyChunks, NaturalJoinModifiedSlotTracker modifiedSlotTracker) void
removeRight
(Context pc, RowSequence rightRowSet, ColumnSource<?>[] rightSources, @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) protected long
rowKeyFromDuplicateLocation
(long duplicateLocation) Methods inherited from class io.deephaven.engine.table.impl.StaticNaturalJoinStateManager
buildRowRedirection, checkExactMatch, extractKeyStringFromSourceTable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.deephaven.engine.table.impl.IncrementalNaturalJoinStateManager
addRightRowKeyToDuplicates, checkExactMatch, getRightRowKeyFromDuplicates, removeRightRowKeyFromDuplicates, shiftOneKey
-
Field Details
-
FIRST_DUPLICATE
public static final long FIRST_DUPLICATE- See Also:
-
tableSize
protected int tableSize -
numEntries
protected long numEntries -
chunkTypes
-
mainKeySources
-
leftRowSet
-
rightRowKey
-
rightSideDuplicateRowSets
-
nextDuplicateRightSide
protected long nextDuplicateRightSide -
freeDuplicateValues
protected gnu.trove.list.array.TLongArrayList freeDuplicateValues -
modifiedTrackerCookieSource
-
-
Constructor Details
-
RightIncrementalNaturalJoinStateManagerTypedBase
protected RightIncrementalNaturalJoinStateManagerTypedBase(ColumnSource<?>[] tableKeySources, ColumnSource<?>[] keySourcesForErrorMessages, int tableSize, double maximumLoadFactor, NaturalJoinType joinType, boolean addOnly)
-
-
Method Details
-
makeProbeContext
public RightIncrementalNaturalJoinStateManagerTypedBase.ProbeContext makeProbeContext(ColumnSource<?>[] buildSources, long maxSize) - Specified by:
makeProbeContext
in classRightIncrementalNaturalJoinStateManager
-
buildTable
protected void buildTable(TypedHasherUtil.BuildOrProbeContext.BuildContext bc, RowSequence buildRows, ColumnSource<?>[] buildSources, TypedHasherUtil.BuildHandler buildHandler) -
probeTable
protected void probeTable(RightIncrementalNaturalJoinStateManagerTypedBase.ProbeContext pc, RowSequence probeRows, boolean usePrev, ColumnSource<?>[] probeSources, TypedHasherUtil.ProbeHandler handler) -
doRehash
public void doRehash(int nextChunkSize) -
rehashRequired
public boolean rehashRequired(int nextChunkSize) -
rehashInternalFull
protected abstract void rehashInternalFull(int oldSize) -
hashToTableLocation
protected int hashToTableLocation(int hash) -
duplicateLocationFromRowKey
protected long duplicateLocationFromRowKey(long rowKey) -
rowKeyFromDuplicateLocation
protected long rowKeyFromDuplicateLocation(long duplicateLocation) -
allocateDuplicateLocation
protected long allocateDuplicateLocation() -
freeDuplicateLocation
protected void freeDuplicateLocation(long duplicateLocation) -
getRightRowKey
public long getRightRowKey(int slot) -
getLeftRowSet
-
getRightRowSet
-
keyString
-
buildFromLeftSide
public void buildFromLeftSide(Table leftTable, ColumnSource<?>[] leftSources, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc) - Specified by:
buildFromLeftSide
in classRightIncrementalNaturalJoinStateManager
-
buildFromLeftSide
-
convertLeftDataIndex
public void convertLeftDataIndex(int groupingSize, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc, ColumnSource<RowSet> rowSetSource) - Specified by:
convertLeftDataIndex
in classRightIncrementalNaturalJoinStateManager
-
addRightSide
- Specified by:
addRightSide
in classRightIncrementalNaturalJoinStateManager
-
addRightSide
-
buildRowRedirectionFromHashSlot
public WritableRowRedirection buildRowRedirectionFromHashSlot(QueryTable leftTable, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc, JoinControl.RedirectionType redirectionType) - Specified by:
buildRowRedirectionFromHashSlot
in classRightIncrementalNaturalJoinStateManager
-
buildRowRedirectionFromHashSlotIndexed
public WritableRowRedirection buildRowRedirectionFromHashSlotIndexed(QueryTable leftTable, ColumnSource<RowSet> rowSetSource, int groupingSize, RightIncrementalNaturalJoinStateManager.InitialBuildContext ibc, JoinControl.RedirectionType redirectionType) - Specified by:
buildRowRedirectionFromHashSlotIndexed
in classRightIncrementalNaturalJoinStateManager
-
applyRightShift
public void applyRightShift(Context pc, ColumnSource<?>[] rightSources, RowSet shiftedRowSet, long shiftDelta, @NotNull @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) - Specified by:
applyRightShift
in classRightIncrementalNaturalJoinStateManager
-
applyRightShift
protected abstract void applyRightShift(RowSequence rowSequence, Chunk[] sourceKeyChunks, long shiftDelta, NaturalJoinModifiedSlotTracker modifiedSlotTracker, RightIncrementalNaturalJoinStateManagerTypedBase.ProbeContext pc) -
modifyByRight
public void modifyByRight(Context pc, RowSet modified, ColumnSource<?>[] rightSources, @NotNull @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) - Specified by:
modifyByRight
in classRightIncrementalNaturalJoinStateManager
-
modifyByRight
protected abstract void modifyByRight(RowSequence rowSequence, Chunk[] sourceKeyChunks, NaturalJoinModifiedSlotTracker modifiedSlotTracker) -
removeRight
public void removeRight(Context pc, RowSequence rightRowSet, ColumnSource<?>[] rightSources, @NotNull @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) - Specified by:
removeRight
in classRightIncrementalNaturalJoinStateManager
-
removeRight
protected abstract void removeRight(RowSequence rowSequence, Chunk[] sourceKeyChunks, NaturalJoinModifiedSlotTracker modifiedSlotTracker) -
addRightSide
public void addRightSide(Context pc, RowSequence rightRowSet, ColumnSource<?>[] rightSources, @NotNull @NotNull NaturalJoinModifiedSlotTracker modifiedSlotTracker) - Specified by:
addRightSide
in classRightIncrementalNaturalJoinStateManager
-
addRightSide
protected abstract void addRightSide(RowSequence rowSequence, Chunk[] sourceKeyChunks, NaturalJoinModifiedSlotTracker modifiedSlotTracker) -
decorateLeftSide
protected void decorateLeftSide(RowSet leftRowSet, ColumnSource<?>[] leftSources, LongArraySource leftRedirections) - Specified by:
decorateLeftSide
in classStaticNaturalJoinStateManager
-
makeInitialBuildContext
public RightIncrementalNaturalJoinStateManager.InitialBuildContext makeInitialBuildContext(Table leftTable) - Specified by:
makeInitialBuildContext
in classRightIncrementalNaturalJoinStateManager
-