Class ScanComparisons
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.ScanComparisons
-
- All Implemented Interfaces:
PlanHashable
- Direct Known Subclasses:
ScanComparisons.Builder
@API(INTERNAL) public class ScanComparisons extends Object implements PlanHashable
A set ofComparisons.Comparison
for scanning an index. A prefix of zero or more equality comparisons for each of the corresponding indexed fields, followed by zero or more inequality comparisons to be applied to the next field.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ScanComparisons.Builder
A builder forScanComparisons
.static class
ScanComparisons.ComparisonType
The type of a comparison.-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.PlanHashable
PlanHashable.PlanHashKind
-
-
Field Summary
Fields Modifier and Type Field Description static ScanComparisons
EMPTY
protected List<Comparisons.Comparison>
equalityComparisons
protected Set<Comparisons.Comparison>
inequalityComparisons
-
Constructor Summary
Constructors Constructor Description ScanComparisons(List<Comparisons.Comparison> equalityComparisons, Set<Comparisons.Comparison> inequalityComparisons)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.apple.foundationdb.record.PlanHashable
planHash
-
-
-
-
Field Detail
-
equalityComparisons
@Nonnull protected final List<Comparisons.Comparison> equalityComparisons
-
inequalityComparisons
@Nonnull protected final Set<Comparisons.Comparison> inequalityComparisons
-
EMPTY
public static final ScanComparisons EMPTY
-
-
Constructor Detail
-
ScanComparisons
public ScanComparisons(@Nonnull List<Comparisons.Comparison> equalityComparisons, @Nonnull Set<Comparisons.Comparison> inequalityComparisons)
-
-
Method Detail
-
getEqualityComparisons
@Nonnull public List<Comparisons.Comparison> getEqualityComparisons()
-
getInequalityComparisons
@Nonnull public Set<Comparisons.Comparison> getInequalityComparisons()
-
getEqualitySize
public int getEqualitySize()
-
size
public int size()
-
totalSize
public int totalSize()
-
isEmpty
public boolean isEmpty()
-
isEquality
public boolean isEquality()
-
getComparisonType
@Nonnull public static ScanComparisons.ComparisonType getComparisonType(@Nonnull Comparisons.Comparison comparison)
-
from
@Nullable public static ScanComparisons from(@Nonnull Comparisons.Comparison comparison)
-
merge
@Nullable public ScanComparisons merge(@Nonnull ScanComparisons other)
-
append
@Nullable public ScanComparisons append(@Nonnull ScanComparisons other)
-
toTupleRange
@Nonnull public TupleRange toTupleRange()
-
toTupleRange
@Nonnull public TupleRange toTupleRange(@Nullable FDBRecordStoreBase<?> store, @Nullable EvaluationContext context)
-
toTupleRangeWithoutContext
@Nullable public TupleRange toTupleRangeWithoutContext()
-
addComparandToList
protected static void addComparandToList(@Nonnull List<Object> items, @Nonnull Comparisons.Comparison comparison, @Nullable FDBRecordStoreBase<?> store, @Nullable EvaluationContext context)
-
planHash
public int planHash(@Nonnull PlanHashable.PlanHashKind hashKind)
Description copied from interface:PlanHashable
Return a hash similar tohashCode
, but with the additional guarantee that is is stable across JVMs.- Specified by:
planHash
in interfacePlanHashable
- Parameters:
hashKind
- the "kind" of hash to calculate. Each kind of hash has a particular logic with regards to included and excluded items.- Returns:
- a stable hash code
-
-