public class XXXCShardSplitHandler extends Object implements ISimpleSplitHandler, Serializable
ContextAdvancerto skip to the next possible triple without imposing a "DISTINCT" filter.
|Constructor and Description|
|Modifier and Type||Method and Description|
Return a separator key which does not split quads for the same triple prefix.
public byte getSeparatorKey(IndexSegment seg, int fromIndex, int toIndex, int splitAt)
A "quad" key is formed by an
IV array. For an index whose
last key component is "C" (context), the first three key components
identify some permutation of a triple. This will return a separator key
such that all "quads" for a given triple are on the same shard.
On entry, splitAt will be the index of some quads key. From that
key, this method generates (a) the key corresponding to that triple from
IV; and (b) the key corresponding to the next triple from
ILinearList.indexOf(byte) positions of the two keys are
considered within the index segment. The key is returned whose index
position is closest to the given splitAt index. If neither of
these two keys lies within the allowable half-open range
(fromIndex:toIndex]) then an error message is logged and
null is returned, indicating that the
should not be split.
IndexSegmentcontaining the data to be split.
fromIndex- The index of the first tuple which may be considered (inclusive lower bound).
toIndex- The index of the last tuple which may be considered (exclusive upper bound).
splitAt- The index of the recommended separator key.
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.