Class AggregateFunction

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.substrait.proto.AggregateFunction
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, AggregateFunctionOrBuilder, Serializable

public final class AggregateFunction extends com.google.protobuf.GeneratedMessageV3 implements AggregateFunctionOrBuilder
 An aggregate function.
 
Protobuf type substrait.AggregateFunction
See Also:
  • Field Details

  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • getFunctionReference

      public int getFunctionReference()
       Points to a function_anchor defined in this plan, which must refer
       to an aggregate function in the associated YAML file. Required; 0 is
       considered to be a valid anchor/reference.
       
      uint32 function_reference = 1;
      Specified by:
      getFunctionReference in interface AggregateFunctionOrBuilder
      Returns:
      The functionReference.
    • getArgumentsList

      public 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.
        - Optional enum arguments must be bound using FunctionArgument.enum
          followed by either Enum.specified or Enum.unspecified. If specified,
          the string must case-insensitively match one of the allowed options.
       
      repeated .substrait.FunctionArgument arguments = 7;
      Specified by:
      getArgumentsList in interface AggregateFunctionOrBuilder
    • getArgumentsOrBuilderList

      public 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.
        - Optional enum arguments must be bound using FunctionArgument.enum
          followed by either Enum.specified or Enum.unspecified. If specified,
          the string must case-insensitively match one of the allowed options.
       
      repeated .substrait.FunctionArgument arguments = 7;
      Specified by:
      getArgumentsOrBuilderList in interface AggregateFunctionOrBuilder
    • getArgumentsCount

      public 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.
        - Optional enum arguments must be bound using FunctionArgument.enum
          followed by either Enum.specified or Enum.unspecified. If specified,
          the string must case-insensitively match one of the allowed options.
       
      repeated .substrait.FunctionArgument arguments = 7;
      Specified by:
      getArgumentsCount in interface AggregateFunctionOrBuilder
    • getArguments

      public 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.
        - Optional enum arguments must be bound using FunctionArgument.enum
          followed by either Enum.specified or Enum.unspecified. If specified,
          the string must case-insensitively match one of the allowed options.
       
      repeated .substrait.FunctionArgument arguments = 7;
      Specified by:
      getArguments in interface AggregateFunctionOrBuilder
    • getArgumentsOrBuilder

      public 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.
        - Optional enum arguments must be bound using FunctionArgument.enum
          followed by either Enum.specified or Enum.unspecified. If specified,
          the string must case-insensitively match one of the allowed options.
       
      repeated .substrait.FunctionArgument arguments = 7;
      Specified by:
      getArgumentsOrBuilder in interface AggregateFunctionOrBuilder
    • getOptionsList

      public 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 = 8;
      Specified by:
      getOptionsList in interface AggregateFunctionOrBuilder
    • getOptionsOrBuilderList

      public 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 = 8;
      Specified by:
      getOptionsOrBuilderList in interface AggregateFunctionOrBuilder
    • getOptionsCount

      public 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 = 8;
      Specified by:
      getOptionsCount in interface AggregateFunctionOrBuilder
    • getOptions

      public 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 = 8;
      Specified by:
      getOptions in interface AggregateFunctionOrBuilder
    • getOptionsOrBuilder

      public 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 = 8;
      Specified by:
      getOptionsOrBuilder in interface AggregateFunctionOrBuilder
    • hasOutputType

      public 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 = 5;
      Specified by:
      hasOutputType in interface AggregateFunctionOrBuilder
      Returns:
      Whether the outputType field is set.
    • getOutputType

      public 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 = 5;
      Specified by:
      getOutputType in interface AggregateFunctionOrBuilder
      Returns:
      The outputType.
    • getOutputTypeOrBuilder

      public 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 = 5;
      Specified by:
      getOutputTypeOrBuilder in interface AggregateFunctionOrBuilder
    • getPhaseValue

      public int getPhaseValue()
       Describes which part of the aggregation to perform within the context of
       distributed algorithms. Required. Must be set to INITIAL_TO_RESULT for
       aggregate functions that are not decomposable.
       
      .substrait.AggregationPhase phase = 4;
      Specified by:
      getPhaseValue in interface AggregateFunctionOrBuilder
      Returns:
      The enum numeric value on the wire for phase.
    • getPhase

      public AggregationPhase getPhase()
       Describes which part of the aggregation to perform within the context of
       distributed algorithms. Required. Must be set to INITIAL_TO_RESULT for
       aggregate functions that are not decomposable.
       
      .substrait.AggregationPhase phase = 4;
      Specified by:
      getPhase in interface AggregateFunctionOrBuilder
      Returns:
      The phase.
    • getSortsList

      public List<SortField> getSortsList()
       If specified, the aggregated records 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.
       
      repeated .substrait.SortField sorts = 3;
      Specified by:
      getSortsList in interface AggregateFunctionOrBuilder
    • getSortsOrBuilderList

      public List<? extends SortFieldOrBuilder> getSortsOrBuilderList()
       If specified, the aggregated records 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.
       
      repeated .substrait.SortField sorts = 3;
      Specified by:
      getSortsOrBuilderList in interface AggregateFunctionOrBuilder
    • getSortsCount

      public int getSortsCount()
       If specified, the aggregated records 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.
       
      repeated .substrait.SortField sorts = 3;
      Specified by:
      getSortsCount in interface AggregateFunctionOrBuilder
    • getSorts

      public SortField getSorts(int index)
       If specified, the aggregated records 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.
       
      repeated .substrait.SortField sorts = 3;
      Specified by:
      getSorts in interface AggregateFunctionOrBuilder
    • getSortsOrBuilder

      public SortFieldOrBuilder getSortsOrBuilder(int index)
       If specified, the aggregated records 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.
       
      repeated .substrait.SortField sorts = 3;
      Specified by:
      getSortsOrBuilder in interface AggregateFunctionOrBuilder
    • getInvocationValue

      public int getInvocationValue()
       Specifies whether equivalent records are merged before being aggregated.
       Optional, defaults to AGGREGATION_INVOCATION_ALL.
       
      .substrait.AggregateFunction.AggregationInvocation invocation = 6;
      Specified by:
      getInvocationValue in interface AggregateFunctionOrBuilder
      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 = 6;
      Specified by:
      getInvocation in interface AggregateFunctionOrBuilder
      Returns:
      The invocation.
    • getArgsList

      @Deprecated public List<Expression> getArgsList()
      Deprecated.
       deprecated; use arguments instead
       
      repeated .substrait.Expression args = 2 [deprecated = true];
      Specified by:
      getArgsList in interface AggregateFunctionOrBuilder
    • getArgsOrBuilderList

      @Deprecated public List<? extends ExpressionOrBuilder> getArgsOrBuilderList()
      Deprecated.
       deprecated; use arguments instead
       
      repeated .substrait.Expression args = 2 [deprecated = true];
      Specified by:
      getArgsOrBuilderList in interface AggregateFunctionOrBuilder
    • getArgsCount

      @Deprecated public int getArgsCount()
      Deprecated.
       deprecated; use arguments instead
       
      repeated .substrait.Expression args = 2 [deprecated = true];
      Specified by:
      getArgsCount in interface AggregateFunctionOrBuilder
    • getArgs

      @Deprecated public Expression getArgs(int index)
      Deprecated.
       deprecated; use arguments instead
       
      repeated .substrait.Expression args = 2 [deprecated = true];
      Specified by:
      getArgs in interface AggregateFunctionOrBuilder
    • getArgsOrBuilder

      @Deprecated public ExpressionOrBuilder getArgsOrBuilder(int index)
      Deprecated.
       deprecated; use arguments instead
       
      repeated .substrait.Expression args = 2 [deprecated = true];
      Specified by:
      getArgsOrBuilder in interface AggregateFunctionOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static AggregateFunction parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AggregateFunction parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AggregateFunction parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AggregateFunction parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AggregateFunction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AggregateFunction parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static AggregateFunction parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AggregateFunction parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AggregateFunction parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static AggregateFunction parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AggregateFunction parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static AggregateFunction parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public AggregateFunction.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static AggregateFunction.Builder newBuilder()
    • newBuilder

      public static AggregateFunction.Builder newBuilder(AggregateFunction prototype)
    • toBuilder

      public AggregateFunction.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected AggregateFunction.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static AggregateFunction getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<AggregateFunction> parser()
    • getParserForType

      public com.google.protobuf.Parser<AggregateFunction> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public AggregateFunction getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder