public SimpleSqlAggregationFunction( String name, String description, InternalAggregationFunction function) { super(name, ImmutableList.<TypeParameterRequirement>of(), function.getFinalType().getTypeSignature().toString(), function.getParameterTypes().stream() .map(Type::getTypeSignature) .map(TypeSignature::toString) .collect(ImmutableCollectors.toImmutableList()), function.isApproximate() ? APPROXIMATE_AGGREGATE : AGGREGATE, ImmutableSet.of()); this.description = description; this.function = requireNonNull(function, "function is null"); }