Package io.substrait.expression
Class AggregateFunctionInvocation
java.lang.Object
io.substrait.expression.AggregateFunctionInvocation
- Direct Known Subclasses:
ImmutableAggregateFunctionInvocation
Represents an aggregate function invocation, including its declaration, arguments, options,
aggregation phase, sort fields, output type, and invocation semantics.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Expression.AggregationPhaseReturns the aggregation phase (e.g., initial, intermediate, final).abstract List<FunctionArg>Returns the ordered list of function arguments.builder()Creates a builder forAggregateFunctionInvocation.protected voidcheck()Validates that variadic arguments satisfy the parameter consistency requirement.Returns the aggregate function variant declaration.getType()Returns the type of this invocation (same asoutputType()).abstract Expression.AggregationInvocationReturns the aggregation invocation semantics (e.g., aggregate, merge).abstract List<FunctionOption>options()Returns the options applied to this aggregate function.abstract TypeReturns the output type produced by this invocation.abstract List<Expression.SortField>sort()Returns the sort fields applied to this invocation, if any.
-
Constructor Details
-
AggregateFunctionInvocation
public AggregateFunctionInvocation()
-
-
Method Details
-
declaration
Returns the aggregate function variant declaration.- Returns:
- the function variant declaration
-
arguments
Returns the ordered list of function arguments.- Returns:
- list of function arguments
-
options
Returns the options applied to this aggregate function.- Returns:
- list of function options
-
aggregationPhase
Returns the aggregation phase (e.g., initial, intermediate, final).- Returns:
- aggregation phase
-
sort
Returns the sort fields applied to this invocation, if any.- Returns:
- list of sort fields
-
outputType
Returns the output type produced by this invocation.- Returns:
- the output type
-
getType
Returns the type of this invocation (same asoutputType()).- Returns:
- the output type
-
invocation
Returns the aggregation invocation semantics (e.g., aggregate, merge).- Returns:
- aggregation invocation
-
check
@Check protected void check()Validates that variadic arguments satisfy the parameter consistency requirement. When CONSISTENT, all variadic arguments must have the same type (ignoring nullability). When INCONSISTENT, arguments can have different types.- Throws:
IllegalArgumentException- if validation fails
-
builder
Creates a builder forAggregateFunctionInvocation.- Returns:
- a new immutable builder
-