Package io.substrait.proto
Interface Expression.WindowFunctionOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
Expression.WindowFunction,Expression.WindowFunction.Builder
- Enclosing class:
- Expression
public static interface Expression.WindowFunctionOrBuilder
extends com.google.protobuf.MessageOrBuilder
-
Method Summary
Modifier and TypeMethodDescriptiongetArgs(int index) Deprecated.intDeprecated.Deprecated.getArgsOrBuilder(int index) Deprecated.List<? extends ExpressionOrBuilder>Deprecated.getArguments(int index) The arguments to be bound to the function.intThe arguments to be bound to the function.The arguments to be bound to the function.getArgumentsOrBuilder(int index) The arguments to be bound to the function.List<? extends FunctionArgumentOrBuilder>The arguments to be bound to the function.Defines the bounds type: ROWS, RANGEintDefines the bounds type: ROWS, RANGEintPoints to a function_anchor defined in this plan.Specifies whether equivalent records are merged before being aggregated.intSpecifies whether equivalent records are merged before being aggregated.Defines the record relative to the current record from which the window extends.Defines the record relative to the current record from which the window extends.getOptions(int index) Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.intOptions to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.getOptionsOrBuilder(int index) Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.List<? extends FunctionOptionOrBuilder>Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.Must be set to the return type of the function, exactly as derived using the declaration in the extension.Must be set to the return type of the function, exactly as derived using the declaration in the extension.getPartitions(int index) When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both.intWhen one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both.When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both.getPartitionsOrBuilder(int index) When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both.List<? extends ExpressionOrBuilder>When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both.getPhase()Describes which part of the window function to perform within the context of distributed algorithms.intDescribes which part of the window function to perform within the context of distributed algorithms.getSorts(int index) If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated.intIf specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated.If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated.getSortsOrBuilder(int index) If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated.List<? extends SortFieldOrBuilder>If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated.Defines the record relative to the current record up to which the window extends.Defines the record relative to the current record up to which the window extends.booleanDefines the record relative to the current record from which the window extends.booleanMust be set to the return type of the function, exactly as derived using the declaration in the extension.booleanDefines the record relative to the current record up to which the window extends.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
isInitializedMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getFunctionReference
int getFunctionReference()Points to a function_anchor defined in this plan. The function must be: - a window function - an aggregate function An aggregate function referenced here should be treated as a window function with Window Type STREAMING Required; 0 is considered to be a valid anchor/reference.
uint32 function_reference = 1;- Returns:
- The functionReference.
-
getArgumentsList
List<FunctionArgument> getArgumentsList()The arguments to be bound to the function. This must have exactly the number of arguments specified in the function definition, and the argument types must also match exactly: - Value arguments must be bound using FunctionArgument.value, and the expression in that must yield a value of a type that a function overload is defined for. - Type arguments must be bound using FunctionArgument.type, and a function overload must be defined for that type. - Enum arguments must be bound using FunctionArgument.enum followed by Enum.specified, with a string that case-insensitively matches one of the allowed options.repeated .substrait.FunctionArgument arguments = 9; -
getArguments
The arguments to be bound to the function. This must have exactly the number of arguments specified in the function definition, and the argument types must also match exactly: - Value arguments must be bound using FunctionArgument.value, and the expression in that must yield a value of a type that a function overload is defined for. - Type arguments must be bound using FunctionArgument.type, and a function overload must be defined for that type. - Enum arguments must be bound using FunctionArgument.enum followed by Enum.specified, with a string that case-insensitively matches one of the allowed options.repeated .substrait.FunctionArgument arguments = 9; -
getArgumentsCount
int getArgumentsCount()The arguments to be bound to the function. This must have exactly the number of arguments specified in the function definition, and the argument types must also match exactly: - Value arguments must be bound using FunctionArgument.value, and the expression in that must yield a value of a type that a function overload is defined for. - Type arguments must be bound using FunctionArgument.type, and a function overload must be defined for that type. - Enum arguments must be bound using FunctionArgument.enum followed by Enum.specified, with a string that case-insensitively matches one of the allowed options.repeated .substrait.FunctionArgument arguments = 9; -
getArgumentsOrBuilderList
List<? extends FunctionArgumentOrBuilder> getArgumentsOrBuilderList()The arguments to be bound to the function. This must have exactly the number of arguments specified in the function definition, and the argument types must also match exactly: - Value arguments must be bound using FunctionArgument.value, and the expression in that must yield a value of a type that a function overload is defined for. - Type arguments must be bound using FunctionArgument.type, and a function overload must be defined for that type. - Enum arguments must be bound using FunctionArgument.enum followed by Enum.specified, with a string that case-insensitively matches one of the allowed options.repeated .substrait.FunctionArgument arguments = 9; -
getArgumentsOrBuilder
The arguments to be bound to the function. This must have exactly the number of arguments specified in the function definition, and the argument types must also match exactly: - Value arguments must be bound using FunctionArgument.value, and the expression in that must yield a value of a type that a function overload is defined for. - Type arguments must be bound using FunctionArgument.type, and a function overload must be defined for that type. - Enum arguments must be bound using FunctionArgument.enum followed by Enum.specified, with a string that case-insensitively matches one of the allowed options.repeated .substrait.FunctionArgument arguments = 9; -
getOptionsList
List<FunctionOption> getOptionsList()Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.
repeated .substrait.FunctionOption options = 11; -
getOptions
Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.
repeated .substrait.FunctionOption options = 11; -
getOptionsCount
int getOptionsCount()Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.
repeated .substrait.FunctionOption options = 11; -
getOptionsOrBuilderList
List<? extends FunctionOptionOrBuilder> getOptionsOrBuilderList()Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.
repeated .substrait.FunctionOption options = 11; -
getOptionsOrBuilder
Options to specify behavior for corner cases, or leave behavior unspecified if the consumer does not need specific behavior in these cases.
repeated .substrait.FunctionOption options = 11; -
hasOutputType
boolean hasOutputType()Must be set to the return type of the function, exactly as derived using the declaration in the extension.
.substrait.Type output_type = 7;- Returns:
- Whether the outputType field is set.
-
getOutputType
Type getOutputType()Must be set to the return type of the function, exactly as derived using the declaration in the extension.
.substrait.Type output_type = 7;- Returns:
- The outputType.
-
getOutputTypeOrBuilder
TypeOrBuilder getOutputTypeOrBuilder()Must be set to the return type of the function, exactly as derived using the declaration in the extension.
.substrait.Type output_type = 7; -
getPhaseValue
int getPhaseValue()Describes which part of the window function to perform within the context of distributed algorithms. Required. Must be set to INITIAL_TO_RESULT for window functions that are not decomposable.
.substrait.AggregationPhase phase = 6;- Returns:
- The enum numeric value on the wire for phase.
-
getPhase
AggregationPhase getPhase()Describes which part of the window function to perform within the context of distributed algorithms. Required. Must be set to INITIAL_TO_RESULT for window functions that are not decomposable.
.substrait.AggregationPhase phase = 6;- Returns:
- The phase.
-
getSortsList
If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated. The first sort field has the highest priority; only if a sort field determines two records to be equivalent is the next field queried. This field is optional, and is only allowed if the window function is defined to support sorting.
repeated .substrait.SortField sorts = 3; -
getSorts
If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated. The first sort field has the highest priority; only if a sort field determines two records to be equivalent is the next field queried. This field is optional, and is only allowed if the window function is defined to support sorting.
repeated .substrait.SortField sorts = 3; -
getSortsCount
int getSortsCount()If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated. The first sort field has the highest priority; only if a sort field determines two records to be equivalent is the next field queried. This field is optional, and is only allowed if the window function is defined to support sorting.
repeated .substrait.SortField sorts = 3; -
getSortsOrBuilderList
List<? extends SortFieldOrBuilder> getSortsOrBuilderList()If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated. The first sort field has the highest priority; only if a sort field determines two records to be equivalent is the next field queried. This field is optional, and is only allowed if the window function is defined to support sorting.
repeated .substrait.SortField sorts = 3; -
getSortsOrBuilder
If specified, the records that are part of the window defined by upper_bound and lower_bound are ordered according to this list before they are aggregated. The first sort field has the highest priority; only if a sort field determines two records to be equivalent is the next field queried. This field is optional, and is only allowed if the window function is defined to support sorting.
repeated .substrait.SortField sorts = 3; -
getInvocationValue
int getInvocationValue()Specifies whether equivalent records are merged before being aggregated. Optional, defaults to AGGREGATION_INVOCATION_ALL.
.substrait.AggregateFunction.AggregationInvocation invocation = 10;- Returns:
- The enum numeric value on the wire for invocation.
-
getInvocation
AggregateFunction.AggregationInvocation getInvocation()Specifies whether equivalent records are merged before being aggregated. Optional, defaults to AGGREGATION_INVOCATION_ALL.
.substrait.AggregateFunction.AggregationInvocation invocation = 10;- Returns:
- The invocation.
-
getPartitionsList
List<Expression> getPartitionsList()When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both. When computing the window function, only the subset of records within the bounds that are also in the same partition as the current record are aggregated.
repeated .substrait.Expression partitions = 2; -
getPartitions
When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both. When computing the window function, only the subset of records within the bounds that are also in the same partition as the current record are aggregated.
repeated .substrait.Expression partitions = 2; -
getPartitionsCount
int getPartitionsCount()When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both. When computing the window function, only the subset of records within the bounds that are also in the same partition as the current record are aggregated.
repeated .substrait.Expression partitions = 2; -
getPartitionsOrBuilderList
List<? extends ExpressionOrBuilder> getPartitionsOrBuilderList()When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both. When computing the window function, only the subset of records within the bounds that are also in the same partition as the current record are aggregated.
repeated .substrait.Expression partitions = 2; -
getPartitionsOrBuilder
When one or more partition expressions are specified, two records are considered to be in the same partition if and only if these expressions yield an equal record of values for both. When computing the window function, only the subset of records within the bounds that are also in the same partition as the current record are aggregated.
repeated .substrait.Expression partitions = 2; -
getBoundsTypeValue
int getBoundsTypeValue()Defines the bounds type: ROWS, RANGE
.substrait.Expression.WindowFunction.BoundsType bounds_type = 12;- Returns:
- The enum numeric value on the wire for boundsType.
-
getBoundsType
Expression.WindowFunction.BoundsType getBoundsType()Defines the bounds type: ROWS, RANGE
.substrait.Expression.WindowFunction.BoundsType bounds_type = 12;- Returns:
- The boundsType.
-
hasLowerBound
boolean hasLowerBound()Defines the record relative to the current record from which the window extends. The bound is inclusive. If the lower bound indexes a record greater than the upper bound, TODO (null range/no records passed? wrapping around as if lower/upper were swapped? error? null?). Optional; defaults to the start of the partition.
.substrait.Expression.WindowFunction.Bound lower_bound = 5;- Returns:
- Whether the lowerBound field is set.
-
getLowerBound
Expression.WindowFunction.Bound getLowerBound()Defines the record relative to the current record from which the window extends. The bound is inclusive. If the lower bound indexes a record greater than the upper bound, TODO (null range/no records passed? wrapping around as if lower/upper were swapped? error? null?). Optional; defaults to the start of the partition.
.substrait.Expression.WindowFunction.Bound lower_bound = 5;- Returns:
- The lowerBound.
-
getLowerBoundOrBuilder
Expression.WindowFunction.BoundOrBuilder getLowerBoundOrBuilder()Defines the record relative to the current record from which the window extends. The bound is inclusive. If the lower bound indexes a record greater than the upper bound, TODO (null range/no records passed? wrapping around as if lower/upper were swapped? error? null?). Optional; defaults to the start of the partition.
.substrait.Expression.WindowFunction.Bound lower_bound = 5; -
hasUpperBound
boolean hasUpperBound()Defines the record relative to the current record up to which the window extends. The bound is inclusive. If the upper bound indexes a record less than the lower bound, TODO (null range/no records passed? wrapping around as if lower/upper were swapped? error? null?). Optional; defaults to the end of the partition.
.substrait.Expression.WindowFunction.Bound upper_bound = 4;- Returns:
- Whether the upperBound field is set.
-
getUpperBound
Expression.WindowFunction.Bound getUpperBound()Defines the record relative to the current record up to which the window extends. The bound is inclusive. If the upper bound indexes a record less than the lower bound, TODO (null range/no records passed? wrapping around as if lower/upper were swapped? error? null?). Optional; defaults to the end of the partition.
.substrait.Expression.WindowFunction.Bound upper_bound = 4;- Returns:
- The upperBound.
-
getUpperBoundOrBuilder
Expression.WindowFunction.BoundOrBuilder getUpperBoundOrBuilder()Defines the record relative to the current record up to which the window extends. The bound is inclusive. If the upper bound indexes a record less than the lower bound, TODO (null range/no records passed? wrapping around as if lower/upper were swapped? error? null?). Optional; defaults to the end of the partition.
.substrait.Expression.WindowFunction.Bound upper_bound = 4; -
getArgsList
Deprecated.Deprecated; use arguments instead.
repeated .substrait.Expression args = 8 [deprecated = true]; -
getArgs
Deprecated.Deprecated; use arguments instead.
repeated .substrait.Expression args = 8 [deprecated = true]; -
getArgsCount
Deprecated.Deprecated; use arguments instead.
repeated .substrait.Expression args = 8 [deprecated = true]; -
getArgsOrBuilderList
Deprecated.Deprecated; use arguments instead.
repeated .substrait.Expression args = 8 [deprecated = true]; -
getArgsOrBuilder
Deprecated.Deprecated; use arguments instead.
repeated .substrait.Expression args = 8 [deprecated = true];
-