Package io.deephaven.engine.table.impl
Class NaturalJoinModifiedSlotTracker
java.lang.Object
io.deephaven.engine.table.impl.NaturalJoinModifiedSlotTracker
A tracker for modified join hash table slots.
After adding an entry, you get back a cookie, which must be passed in on future modification operations for that
slot.
To process the entries after modifications are complete, call
forAllModifiedSlots(ModifiedSlotConsumer)
.-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final byte
static final byte
static final byte
static final byte
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionlong
addMain
(long cookie, int slot, long originalRightValue, byte flags) Add a slot in the main table.void
moveTableLocation
(long cookie, int oldTableLocation, int newTableLocation) Move a main table location.
-
Field Details
-
FLAG_MASK
public static final int FLAG_MASK- See Also:
-
FLAG_RIGHT_SHIFT
public static final byte FLAG_RIGHT_SHIFT- See Also:
-
FLAG_RIGHT_MODIFY_PROBE
public static final byte FLAG_RIGHT_MODIFY_PROBE- See Also:
-
FLAG_RIGHT_CHANGE
public static final byte FLAG_RIGHT_CHANGE- See Also:
-
FLAG_RIGHT_ADD
public static final byte FLAG_RIGHT_ADD- See Also:
-
-
Constructor Details
-
NaturalJoinModifiedSlotTracker
public NaturalJoinModifiedSlotTracker()
-
-
Method Details
-
addMain
public long addMain(long cookie, int slot, long originalRightValue, byte flags) Add a slot in the main table.- Parameters:
slot
- the slot to add.originalRightValue
- if we are the addition of the slot, what the right value was before our modification (otherwise ignored)flags
- the flags to or into our state- Returns:
- the cookie for future access
-
moveTableLocation
public void moveTableLocation(long cookie, int oldTableLocation, int newTableLocation) Move a main table location.- Parameters:
oldTableLocation
- the old hash slotnewTableLocation
- the new hash slot
-