public final class RangePartitioningFunction extends Object implements PartitioningFunction
PartitioningFunction.Evaluator| Constructor and Description |
|---|
RangePartitioningFunction(List<RecordToken> values)
Range partitions based on multiple keys.
|
RangePartitioningFunction(String key,
List<? extends ScalarToken> values)
Range partitions based on a single key
|
| Modifier and Type | Method and Description |
|---|---|
List<RecordToken> |
getBoundaries()
Returns the boundaries to partition on
|
RecordTokenType |
getBoundaryType()
Returns the boundary type determined by the widest type of all boundaries
|
PartitioningFunction.Evaluator |
getEvaluator(PartitioningFunctionContext ctx)
Create an Evaluator bound to the specified context.
|
boolean |
isEquivalentPartitioning(PartitioningFunction other)
Returns true iff, given a single row of input, this function is guaranteed to produce the same
partitioning as the other function.
|
boolean |
isFunctionOfInput()
Returns true iff, given two identical rows of input, this function will
return the same value.
|
RangePartitioningFunction |
remapFieldReferences(Map<String,String> oldToNewMapping)
Creates a new function, equivalent to the given function, but with all field references
renamed according to the given mapping.
|
void |
validateForType(RecordTokenType type)
Performs validation of the specified input type
|
public RangePartitioningFunction(String key, List<? extends ScalarToken> values)
key - the keyvalues - the boundary values for the keypublic RangePartitioningFunction(List<RecordToken> values)
values - the values to partition onpublic List<RecordToken> getBoundaries()
public RecordTokenType getBoundaryType()
public void validateForType(RecordTokenType type)
PartitioningFunctionvalidateForType in interface PartitioningFunctiontype - the input typepublic PartitioningFunction.Evaluator getEvaluator(PartitioningFunctionContext ctx)
PartitioningFunctiongetEvaluator in interface PartitioningFunctionctx - the partitioning contextpublic boolean isEquivalentPartitioning(PartitioningFunction other)
PartitioningFunctionPartitioningFunction.isFunctionOfInput(), this function must
return false if PartitioningFunction.isFunctionOfInput() returns false.isEquivalentPartitioning in interface PartitioningFunctionother - the other functionpublic boolean isFunctionOfInput()
PartitioningFunctionisFunctionOfInput in interface PartitioningFunctionpublic RangePartitioningFunction remapFieldReferences(Map<String,String> oldToNewMapping)
PartitioningFunctionremapFieldReferences in interface PartitioningFunctionoldToNewMapping - a mapping from old names to new names. If a name is not present in the
given mapping, it will remain as-is.Copyright © 2021 Actian Corporation. All rights reserved.