Class ChildSlot
java.lang.Object
com.apple.foundationdb.async.rtree.ChildSlot
- All Implemented Interfaces:
NodeSlot
A child slot that is used by
IntermediateNode
s. Holds the id of a child node, as well as the largest
hilbert value of its child, the largest key of its child and an mbr that encompasses all points in the subtree
rooted at the child.-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
getMbr()
getSlotKey
(boolean storeHilbertValue) Create a tuple for the key part of this slot.Create a tuple for the value part of this slot.boolean
Method to determine if (during a scan a suffix predicate can be applied).toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.apple.foundationdb.async.rtree.NodeSlot
compareLargestHilbertValueAndKey, compareSmallestHilbertValueAndKey, getLargestKeySuffix, getSmallestKeySuffix
-
Method Details
-
getChildId
@Nonnull public byte[] getChildId() -
getSmallestHilbertValue
- Specified by:
getSmallestHilbertValue
in interfaceNodeSlot
-
getSmallestKey
- Specified by:
getSmallestKey
in interfaceNodeSlot
-
getLargestHilbertValue
- Specified by:
getLargestHilbertValue
in interfaceNodeSlot
-
getLargestKey
- Specified by:
getLargestKey
in interfaceNodeSlot
-
getMbr
-
getSlotKey
Description copied from interface:NodeSlot
Create a tuple for the key part of this slot. This tuple is used when the slot is persisted in the database. Note that the serialization format is not yet finalized.- Specified by:
getSlotKey
in interfaceNodeSlot
- Parameters:
storeHilbertValue
- indicator if the hilbert value should be encoded into the slot key or null-ed out- Returns:
- a new tuple
-
getSlotValue
Description copied from interface:NodeSlot
Create a tuple for the value part of this slot. This tuple is used when the slot is persisted in the database. Note that the serialization format is not yet finalized.- Specified by:
getSlotValue
in interfaceNodeSlot
- Returns:
- a new tuple
-
suffixPredicateCanBeApplied
public boolean suffixPredicateCanBeApplied()Method to determine if (during a scan a suffix predicate can be applied). A suffix predicate can only be applied, if the smallest and largest hilbert value as well as the non-suffix part of the key are the same.- Returns:
true
if a suffix predicate can be applied on this child slot
-
toString
-