Class ApproxPercentileEstimate

java.lang.Object
dev.frostlake.functions.BuiltInFunction
dev.frostlake.functions.aggregate.ApproxPercentileEstimate

public class ApproxPercentileEstimate extends BuiltInFunction
APPROX_PERCENTILE_ESTIMATE(state, percentile): the value at a fraction of an APPROX_PERCENTILE_ACCUMULATE or APPROX_PERCENTILE_COMBINE state, as a FLOAT — the same number APPROX_PERCENTILE gives over the values the state was built from (see PercentileDigest for the weighted reading of a hand-written state). The fraction is a constant between 0 and 1, judged at compile time; a NULL state, a NULL fraction or an empty state is NULL, and an argument that is not a state refuses with First argument of the function must be an object which maps the key 'state' to an array. The scalar half of the accumulate family, so it lives beside it.
  • Constructor Details

    • ApproxPercentileEstimate

      public ApproxPercentileEstimate()
  • Method Details

    • evaluate

      public Object evaluate(List<Object> args)
      Description copied from class: BuiltInFunction
      Computes the function's result over its already-evaluated argument values. A SQL NULL argument arrives as Java null, and returning null makes the SQL result NULL.
      Specified by:
      evaluate in class BuiltInFunction
      Parameters:
      args - the argument values, in call order
      Returns:
      the function's value for these arguments, or null for SQL NULL
    • getMinArgCount

      public int getMinArgCount()
      Description copied from class: BuiltInFunction
      The fewest arguments a call to this function may pass; fewer is an argument-count error.
      Specified by:
      getMinArgCount in class BuiltInFunction
      Returns:
      the minimum accepted argument count
    • getMaxArgCount

      public int getMaxArgCount()
      Description copied from class: BuiltInFunction
      The most arguments a call to this function may pass; Integer.MAX_VALUE marks a variadic function (see BuiltInFunction.isVariadic()).
      Specified by:
      getMaxArgCount in class BuiltInFunction
      Returns:
      the maximum accepted argument count