Class PercentileDiscAccumulator
java.lang.Object
dev.frostlake.functions.aggregate.PercentileDiscAccumulator
- All Implemented Interfaces:
CoercedNumericArgumentAccumulator,AggregateFunction.Accumulator
public class PercentileDiscAccumulator
extends Object
implements AggregateFunction.Accumulator, CoercedNumericArgumentAccumulator
Accumulator for
PercentileDisc, delegating to
AggregateNumerics.percentileDisc(Iterable, double). It PICKS an input rather than computing
one, so the value is handed back as it arrived and keeps its column's own scale — collapsing it to a
double lost that, turning a NUMBER(10,2)'s 2.00 into 2.0. A VARCHAR or VARIANT key is the one
exception: live converts it to a whole number, and the declaration says so
(CoercedNumericArgumentAccumulator).-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaccumulate(Object v) Folds one row's argument value into the running state.The aggregate's result over everything accumulated so far.voidFolds another accumulator's state into this one, combining two partial aggregations of the same group.voidreset()Clears the state back to the empty-group starting point so the accumulator can be reused.voidsetCoercedNumericArgument(boolean coerced) Tell the accumulator whether its argument is declared VARCHAR or VARIANT.voidsetPercentile(double p) The fraction, for the window path where the accumulator is built before the call is read.
-
Constructor Details
-
PercentileDiscAccumulator
public PercentileDiscAccumulator(double p)
-
-
Method Details
-
setPercentile
public void setPercentile(double p) The fraction, for the window path where the accumulator is built before the call is read. -
setCoercedNumericArgument
public void setCoercedNumericArgument(boolean coerced) Description copied from interface:CoercedNumericArgumentAccumulatorTell the accumulator whether its argument is declared VARCHAR or VARIANT.- Specified by:
setCoercedNumericArgumentin interfaceCoercedNumericArgumentAccumulator- Parameters:
coerced- whether the aggregated expression is text or VARIANT, converted value by value
-
accumulate
Description copied from interface:AggregateFunction.AccumulatorFolds one row's argument value into the running state.- Specified by:
accumulatein interfaceAggregateFunction.Accumulator- Parameters:
v- the aggregate argument's value for one row; SQL NULL arrives asnull
-
getResult
Description copied from interface:AggregateFunction.AccumulatorThe aggregate's result over everything accumulated so far.- Specified by:
getResultin interfaceAggregateFunction.Accumulator- Returns:
- the group's result, or
nullwhere the aggregate defines an empty group as NULL
-
reset
public void reset()Description copied from interface:AggregateFunction.AccumulatorClears the state back to the empty-group starting point so the accumulator can be reused.- Specified by:
resetin interfaceAggregateFunction.Accumulator
-
merge
Description copied from interface:AggregateFunction.AccumulatorFolds another accumulator's state into this one, combining two partial aggregations of the same group.- Specified by:
mergein interfaceAggregateFunction.Accumulator- Parameters:
other- a partial state of the same aggregate implementation
-