# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: substrait/function.proto
# Protobuf Python Version: 5.29.5
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    5,
    29,
    5,
    '',
    'substrait/function.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from substrait import parameterized_types_pb2 as substrait_dot_parameterized__types__pb2
from substrait import type_pb2 as substrait_dot_type__pb2
from substrait import type_expressions_pb2 as substrait_dot_type__expressions__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18substrait/function.proto\x12\tsubstrait\x1a#substrait/parameterized_types.proto\x1a\x14substrait/type.proto\x1a substrait/type_expressions.proto\"\xd9\x19\n\x11\x46unctionSignature\x1a\xbc\x02\n\x10\x46inalArgVariadic\x12\x19\n\x08min_args\x18\x01 \x01(\x03R\x07minArgs\x12\x19\n\x08max_args\x18\x02 \x01(\x03R\x07maxArgs\x12\x64\n\x0b\x63onsistency\x18\x03 \x01(\x0e\x32\x42.substrait.FunctionSignature.FinalArgVariadic.ParameterConsistencyR\x0b\x63onsistency\"\x8b\x01\n\x14ParameterConsistency\x12%\n!PARAMETER_CONSISTENCY_UNSPECIFIED\x10\x00\x12$\n PARAMETER_CONSISTENCY_CONSISTENT\x10\x01\x12&\n\"PARAMETER_CONSISTENCY_INCONSISTENT\x10\x02\x1a\x10\n\x0e\x46inalArgNormal\x1a\xc8\x04\n\x06Scalar\x12\x43\n\targuments\x18\x02 \x03(\x0b\x32%.substrait.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12J\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32(.substrait.FunctionSignature.DescriptionR\x0b\x64\x65scription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12@\n\x0boutput_type\x18\t \x01(\x0b\x32\x1f.substrait.DerivationExpressionR\noutputType\x12K\n\x08variadic\x18\n \x01(\x0b\x32-.substrait.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12\x45\n\x06normal\x18\x0b \x01(\x0b\x32+.substrait.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12U\n\x0fimplementations\x18\x0c \x03(\x0b\x32+.substrait.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17\x66inal_variable_behavior\x1a\xbc\x05\n\tAggregate\x12\x43\n\targuments\x18\x02 \x03(\x0b\x32%.substrait.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12J\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32(.substrait.FunctionSignature.DescriptionR\x0b\x64\x65scription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12@\n\x0boutput_type\x18\t \x01(\x0b\x32\x1f.substrait.DerivationExpressionR\noutputType\x12K\n\x08variadic\x18\n \x01(\x0b\x32-.substrait.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12\x45\n\x06normal\x18\x0b \x01(\x0b\x32+.substrait.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0e \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12<\n\x11intermediate_type\x18\r \x01(\x0b\x32\x0f.substrait.TypeR\x10intermediateType\x12U\n\x0fimplementations\x18\x0f \x03(\x0b\x32+.substrait.FunctionSignature.ImplementationR\x0fimplementationsB\x19\n\x17\x66inal_variable_behavior\x1a\xfb\x06\n\x06Window\x12\x43\n\targuments\x18\x02 \x03(\x0b\x32%.substrait.FunctionSignature.ArgumentR\targuments\x12\x12\n\x04name\x18\x03 \x03(\tR\x04name\x12J\n\x0b\x64\x65scription\x18\x04 \x01(\x0b\x32(.substrait.FunctionSignature.DescriptionR\x0b\x64\x65scription\x12$\n\rdeterministic\x18\x07 \x01(\x08R\rdeterministic\x12+\n\x11session_dependent\x18\x08 \x01(\x08R\x10sessionDependent\x12L\n\x11intermediate_type\x18\t \x01(\x0b\x32\x1f.substrait.DerivationExpressionR\x10intermediateType\x12@\n\x0boutput_type\x18\n \x01(\x0b\x32\x1f.substrait.DerivationExpressionR\noutputType\x12K\n\x08variadic\x18\x10 \x01(\x0b\x32-.substrait.FunctionSignature.FinalArgVariadicH\x00R\x08variadic\x12\x45\n\x06normal\x18\x11 \x01(\x0b\x32+.substrait.FunctionSignature.FinalArgNormalH\x00R\x06normal\x12\x18\n\x07ordered\x18\x0b \x01(\x08R\x07ordered\x12\x17\n\x07max_set\x18\x0c \x01(\x04R\x06maxSet\x12O\n\x0bwindow_type\x18\x0e \x01(\x0e\x32..substrait.FunctionSignature.Window.WindowTypeR\nwindowType\x12U\n\x0fimplementations\x18\x0f \x03(\x0b\x32+.substrait.FunctionSignature.ImplementationR\x0fimplementations\"_\n\nWindowType\x12\x1b\n\x17WINDOW_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15WINDOW_TYPE_STREAMING\x10\x01\x12\x19\n\x15WINDOW_TYPE_PARTITION\x10\x02\x42\x19\n\x17\x66inal_variable_behavior\x1a=\n\x0b\x44\x65scription\x12\x1a\n\x08language\x18\x01 \x01(\tR\x08language\x12\x12\n\x04\x62ody\x18\x02 \x01(\tR\x04\x62ody\x1a\xb1\x01\n\x0eImplementation\x12\x44\n\x04type\x18\x01 \x01(\x0e\x32\x30.substrait.FunctionSignature.Implementation.TypeR\x04type\x12\x10\n\x03uri\x18\x02 \x01(\tR\x03uri\"G\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11TYPE_WEB_ASSEMBLY\x10\x01\x12\x12\n\x0eTYPE_TRINO_JAR\x10\x02\x1a\xf7\x03\n\x08\x41rgument\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12K\n\x05value\x18\x02 \x01(\x0b\x32\x33.substrait.FunctionSignature.Argument.ValueArgumentH\x00R\x05value\x12H\n\x04type\x18\x03 \x01(\x0b\x32\x32.substrait.FunctionSignature.Argument.TypeArgumentH\x00R\x04type\x12H\n\x04\x65num\x18\x04 \x01(\x0b\x32\x32.substrait.FunctionSignature.Argument.EnumArgumentH\x00R\x04\x65num\x1a]\n\rValueArgument\x12\x30\n\x04type\x18\x01 \x01(\x0b\x32\x1c.substrait.ParameterizedTypeR\x04type\x12\x1a\n\x08\x63onstant\x18\x02 \x01(\x08R\x08\x63onstant\x1a@\n\x0cTypeArgument\x12\x30\n\x04type\x18\x01 \x01(\x0b\x32\x1c.substrait.ParameterizedTypeR\x04type\x1a\x44\n\x0c\x45numArgument\x12\x18\n\x07options\x18\x01 \x03(\tR\x07options\x12\x1a\n\x08optional\x18\x02 \x01(\x08R\x08optionalB\x0f\n\rargument_kindBf\n\x12io.substrait.protoP\x01Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\xaa\x02\x12Substrait.Protobufb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'substrait.function_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\022io.substrait.protoP\001Z9github.com/substrait-io/substrait-protobuf/go/substraitpb\252\002\022Substrait.Protobuf'
  _globals['_FUNCTIONSIGNATURE']._serialized_start=133
  _globals['_FUNCTIONSIGNATURE']._serialized_end=3422
  _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC']._serialized_start=155
  _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC']._serialized_end=471
  _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY']._serialized_start=332
  _globals['_FUNCTIONSIGNATURE_FINALARGVARIADIC_PARAMETERCONSISTENCY']._serialized_end=471
  _globals['_FUNCTIONSIGNATURE_FINALARGNORMAL']._serialized_start=473
  _globals['_FUNCTIONSIGNATURE_FINALARGNORMAL']._serialized_end=489
  _globals['_FUNCTIONSIGNATURE_SCALAR']._serialized_start=492
  _globals['_FUNCTIONSIGNATURE_SCALAR']._serialized_end=1076
  _globals['_FUNCTIONSIGNATURE_AGGREGATE']._serialized_start=1079
  _globals['_FUNCTIONSIGNATURE_AGGREGATE']._serialized_end=1779
  _globals['_FUNCTIONSIGNATURE_WINDOW']._serialized_start=1782
  _globals['_FUNCTIONSIGNATURE_WINDOW']._serialized_end=2673
  _globals['_FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE']._serialized_start=2551
  _globals['_FUNCTIONSIGNATURE_WINDOW_WINDOWTYPE']._serialized_end=2646
  _globals['_FUNCTIONSIGNATURE_DESCRIPTION']._serialized_start=2675
  _globals['_FUNCTIONSIGNATURE_DESCRIPTION']._serialized_end=2736
  _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION']._serialized_start=2739
  _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION']._serialized_end=2916
  _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE']._serialized_start=2845
  _globals['_FUNCTIONSIGNATURE_IMPLEMENTATION_TYPE']._serialized_end=2916
  _globals['_FUNCTIONSIGNATURE_ARGUMENT']._serialized_start=2919
  _globals['_FUNCTIONSIGNATURE_ARGUMENT']._serialized_end=3422
  _globals['_FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT']._serialized_start=3176
  _globals['_FUNCTIONSIGNATURE_ARGUMENT_VALUEARGUMENT']._serialized_end=3269
  _globals['_FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT']._serialized_start=3271
  _globals['_FUNCTIONSIGNATURE_ARGUMENT_TYPEARGUMENT']._serialized_end=3335
  _globals['_FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT']._serialized_start=3337
  _globals['_FUNCTIONSIGNATURE_ARGUMENT_ENUMARGUMENT']._serialized_end=3405
# @@protoc_insertion_point(module_scope)
