Class IndexAggregateFunction
- java.lang.Object
-
- com.apple.foundationdb.record.metadata.IndexAggregateFunction
-
- All Implemented Interfaces:
PlanHashable
- Direct Known Subclasses:
TimeWindowAggregateFunction
@API(MAINTAINED) public class IndexAggregateFunction extends Object implements PlanHashable
An aggregate function implemented by scanning an appropriate index.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.PlanHashable
PlanHashable.PlanHashKind
-
-
Constructor Summary
Constructors Constructor Description IndexAggregateFunction(String name, KeyExpression operand, String index)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TupleRange
adjustRange(EvaluationContext context, TupleRange tupleRange)
IndexAggregateFunction
cloneWithIndex(String index)
IndexAggregateFunction
cloneWithOperand(KeyExpression operand)
boolean
equals(Object o)
String
getIndex()
String
getName()
KeyExpression
getOperand()
int
hashCode()
int
planHash(PlanHashable.PlanHashKind hashKind)
Return a hash similar tohashCode
, but with the additional guarantee that is is stable across JVMs.String
toString()
void
validate(Descriptors.Descriptor descriptor)
-
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
-
-
-
-
Method Detail
-
getOperand
@Nonnull public KeyExpression getOperand()
-
cloneWithOperand
@Nonnull public IndexAggregateFunction cloneWithOperand(@Nonnull KeyExpression operand)
-
cloneWithIndex
@Nonnull public IndexAggregateFunction cloneWithIndex(@Nonnull String index)
-
validate
public void validate(@Nonnull Descriptors.Descriptor descriptor)
-
adjustRange
@Nonnull public TupleRange adjustRange(@Nonnull EvaluationContext context, @Nonnull TupleRange tupleRange)
-
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
-
-