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 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

      FunctionArgument getArguments(int index)
       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

      FunctionArgumentOrBuilder getArgumentsOrBuilder(int index)
       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

      FunctionOption 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.
       
      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

      FunctionOptionOrBuilder 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.
       
      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

      List<SortField> 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

      SortField 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. 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

      SortFieldOrBuilder 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. 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

       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

      Expression 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. 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

      ExpressionOrBuilder 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. 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

       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

       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

       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

       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

       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 List<Expression> getArgsList()
      Deprecated.
       Deprecated; use arguments instead.
       
      repeated .substrait.Expression args = 8 [deprecated = true];
    • getArgs

      @Deprecated Expression getArgs(int index)
      Deprecated.
       Deprecated; use arguments instead.
       
      repeated .substrait.Expression args = 8 [deprecated = true];
    • getArgsCount

      @Deprecated int getArgsCount()
      Deprecated.
       Deprecated; use arguments instead.
       
      repeated .substrait.Expression args = 8 [deprecated = true];
    • getArgsOrBuilderList

      @Deprecated List<? extends ExpressionOrBuilder> getArgsOrBuilderList()
      Deprecated.
       Deprecated; use arguments instead.
       
      repeated .substrait.Expression args = 8 [deprecated = true];
    • getArgsOrBuilder

      @Deprecated ExpressionOrBuilder getArgsOrBuilder(int index)
      Deprecated.
       Deprecated; use arguments instead.
       
      repeated .substrait.Expression args = 8 [deprecated = true];