# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: zetasql/proto/function.proto
# Protobuf Python Version: 6.31.1
"""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,
    6,
    31,
    1,
    '',
    'zetasql/proto/function.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from zetasql.wasi._pb2.zetasql.public import annotation_pb2 as zetasql_dot_public_dot_annotation__pb2
from zetasql.wasi._pb2.zetasql.public import constness_level_pb2 as zetasql_dot_public_dot_constness__level__pb2
from zetasql.wasi._pb2.zetasql.public import deprecation_warning_pb2 as zetasql_dot_public_dot_deprecation__warning__pb2
from zetasql.wasi._pb2.zetasql.public import function_pb2 as zetasql_dot_public_dot_function__pb2
from zetasql.wasi._pb2.zetasql.public import options_pb2 as zetasql_dot_public_dot_options__pb2
from zetasql.wasi._pb2.zetasql.public import parse_location_range_pb2 as zetasql_dot_public_dot_parse__location__range__pb2
from zetasql.wasi._pb2.zetasql.public import parse_resume_location_pb2 as zetasql_dot_public_dot_parse__resume__location__pb2
from zetasql.wasi._pb2.zetasql.public import simple_table_pb2 as zetasql_dot_public_dot_simple__table__pb2
from zetasql.wasi._pb2.zetasql.public import type_pb2 as zetasql_dot_public_dot_type__pb2
from zetasql.wasi._pb2.zetasql.public import value_pb2 as zetasql_dot_public_dot_value__pb2
from zetasql.wasi._pb2.zetasql.resolved_ast import resolved_ast_enums_pb2 as zetasql_dot_resolved__ast_dot_resolved__ast__enums__pb2
from zetasql.wasi._pb2.zetasql.resolved_ast import serialization_pb2 as zetasql_dot_resolved__ast_dot_serialization__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1czetasql/proto/function.proto\x12\x07zetasql\x1a\x1fzetasql/public/annotation.proto\x1a$zetasql/public/constness_level.proto\x1a(zetasql/public/deprecation_warning.proto\x1a\x1dzetasql/public/function.proto\x1a\x1czetasql/public/options.proto\x1a)zetasql/public/parse_location_range.proto\x1a*zetasql/public/parse_resume_location.proto\x1a!zetasql/public/simple_table.proto\x1a\x19zetasql/public/type.proto\x1a\x1azetasql/public/value.proto\x1a-zetasql/resolved_ast/resolved_ast_enums.proto\x1a(zetasql/resolved_ast/serialization.proto\"\xa1\x02\n\x16TVFRelationColumnProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0b\x32\x12.zetasql.TypeProto\x12\x18\n\x10is_pseudo_column\x18\x03 \x01(\x08\x12\x33\n\x0e\x61nnotation_map\x18\x06 \x01(\x0b\x32\x1b.zetasql.AnnotationMapProto\x12\x43\n\x19name_parse_location_range\x18\x04 \x01(\x0b\x32 .zetasql.ParseLocationRangeProto\x12\x43\n\x19type_parse_location_range\x18\x05 \x01(\x0b\x32 .zetasql.ParseLocationRangeProto\"b\n\x10TVFRelationProto\x12/\n\x06\x63olumn\x18\x01 \x03(\x0b\x32\x1f.zetasql.TVFRelationColumnProto\x12\x1d\n\x0eis_value_table\x18\x02 \x01(\x08:\x05\x66\x61lse\"0\n\rTVFModelProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\"5\n\x12TVFConnectionProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\")\n\x12TVFDescriptorProto\x12\x13\n\x0b\x63olumn_name\x18\x01 \x03(\t\"0\n\rTVFGraphProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tfull_name\x18\x02 \x01(\t\"\xfe\n\n FunctionArgumentTypeOptionsProto\x12?\n\x0b\x63\x61rdinality\x18\x01 \x01(\x0e\x32*.zetasql.FunctionEnums.ArgumentCardinality\x12\x1c\n\x10must_be_constant\x18\x02 \x01(\x08\x42\x02\x18\x01\x12\x18\n\x10must_be_non_null\x18\x03 \x01(\x08\x12\x18\n\x10is_not_aggregate\x18\x04 \x01(\x08\x12\x1d\n\x15must_support_equality\x18\x05 \x01(\x08\x12\x1d\n\x15must_support_ordering\x18\x06 \x01(\x08\x12\x11\n\tmin_value\x18\x07 \x01(\x03\x12\x11\n\tmax_value\x18\x08 \x01(\x03\x12,\n$extra_relation_input_columns_allowed\x18\t \x01(\x08\x12\x38\n\x15relation_input_schema\x18\n \x01(\x0b\x32\x19.zetasql.TVFRelationProto\x12\x15\n\rargument_name\x18\x0b \x01(\t\x12\x46\n\x1c\x61rgument_name_parse_location\x18\x0c \x01(\x0b\x32 .zetasql.ParseLocationRangeProto\x12\x46\n\x1c\x61rgument_type_parse_location\x18\r \x01(\x0b\x32 .zetasql.ParseLocationRangeProto\x12M\n\x17procedure_argument_mode\x18\x0e \x01(\x0e\x32,.zetasql.FunctionEnums.ProcedureArgumentMode\x12-\n\x1a\x61rgument_name_is_mandatory\x18\x0f \x01(\x08:\x05\x66\x61lseB\x02\x18\x01\x12.\n\"descriptor_resolution_table_offset\x18\x10 \x01(\x05:\x02-1\x12*\n\rdefault_value\x18\x11 \x01(\x0b\x32\x13.zetasql.ValueProto\x12.\n\x12\x64\x65\x66\x61ult_value_type\x18\x12 \x01(\x0b\x32\x12.zetasql.TypeProto\x12p\n\x17\x61rgument_collation_mode\x18\x13 \x01(\x0e\x32,.zetasql.FunctionEnums.ArgumentCollationMode:!AFFECTS_OPERATION_AND_PROPAGATION\x12(\n uses_array_element_for_collation\x18\x14 \x01(\x08\x12\x1d\n\x15must_support_grouping\x18\x15 \x01(\x08\x12+\n#array_element_must_support_equality\x18\x16 \x01(\x08\x12+\n#array_element_must_support_ordering\x18\x17 \x01(\x08\x12+\n#array_element_must_support_grouping\x18\x18 \x01(\x08\x12\x45\n\x13named_argument_kind\x18\x19 \x01(\x0e\x32(.zetasql.FunctionEnums.NamedArgumentKind\x12[\n\x13\x61rgument_alias_kind\x18\x1a \x01(\x0e\x32(.zetasql.FunctionEnums.ArgumentAliasKind:\x14\x41RGUMENT_NON_ALIASED\x12\'\n\x1bmust_be_constant_expression\x18\x1b \x01(\x08\x42\x02\x18\x01\x12;\n\x0f\x63onstness_level\x18\x1c \x01(\x0e\x32\".zetasql.ConstnessLevelProto.Level\"\x81\x01\n\x17\x41rgumentTypeLambdaProto\x12\x34\n\x08\x61rgument\x18\x05 \x03(\x0b\x32\".zetasql.FunctionArgumentTypeProto\x12\x30\n\x04\x62ody\x18\x06 \x01(\x0b\x32\".zetasql.FunctionArgumentTypeProto\"\xf2\x01\n\x19\x46unctionArgumentTypeProto\x12,\n\x04kind\x18\x01 \x01(\x0e\x32\x1e.zetasql.SignatureArgumentKind\x12 \n\x04type\x18\x02 \x01(\x0b\x32\x12.zetasql.TypeProto\x12\x17\n\x0fnum_occurrences\x18\x04 \x01(\x05\x12:\n\x07options\x18\x03 \x01(\x0b\x32).zetasql.FunctionArgumentTypeOptionsProto\x12\x30\n\x06lambda\x18\x05 \x01(\x0b\x32 .zetasql.ArgumentTypeLambdaProto\"\xb4\x01\n$FunctionSignatureRewriteOptionsProto\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12-\n\x08rewriter\x18\x02 \x01(\x0e\x32\x1b.zetasql.ResolvedASTRewrite\x12\x0b\n\x03sql\x18\x03 \x01(\t\x12\x1e\n\x16\x61llow_table_references\x18\x04 \x01(\x08\x12\x1f\n\x17\x61llowed_function_groups\x18\x05 \x03(\t\"\xa7\x03\n\x1d\x46unctionSignatureOptionsProto\x12\x1c\n\ris_deprecated\x18\x02 \x01(\x08:\x05\x66\x61lse\x12O\n\x1e\x61\x64\x64itional_deprecation_warning\x18\x03 \x03(\x0b\x32\'.zetasql.FreestandingDeprecationWarning\x12;\n\x19required_language_feature\x18\x04 \x03(\x0e\x32\x18.zetasql.LanguageFeature\x12#\n\x14is_aliased_signature\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\"\n\x14propagates_collation\x18\x06 \x01(\x08:\x04true\x12\'\n\x18uses_operation_collation\x18\x07 \x01(\x08:\x05\x66\x61lse\x12 \n\x11rejects_collation\x18\x08 \x01(\x08:\x05\x66\x61lse\x12\x46\n\x0frewrite_options\x18\t \x01(\x0b\x32-.zetasql.FunctionSignatureRewriteOptionsProto\"\xd4\x01\n\x16\x46unctionSignatureProto\x12\x34\n\x08\x61rgument\x18\x01 \x03(\x0b\x32\".zetasql.FunctionArgumentTypeProto\x12\x37\n\x0breturn_type\x18\x02 \x01(\x0b\x32\".zetasql.FunctionArgumentTypeProto\x12\x12\n\ncontext_id\x18\x03 \x01(\x03\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32&.zetasql.FunctionSignatureOptionsProto\"\xb6\x06\n\x14\x46unctionOptionsProto\x12#\n\x14supports_over_clause\x18\x01 \x01(\x08:\x05\x66\x61lse\x12]\n\x17window_ordering_support\x18\x02 \x01(\x0e\x32).zetasql.FunctionEnums.WindowOrderSupport:\x11ORDER_UNSUPPORTED\x12&\n\x17supports_window_framing\x18\x03 \x01(\x08:\x05\x66\x61lse\x12%\n\x17\x61rguments_are_coercible\x18\x04 \x01(\x08:\x04true\x12\x1c\n\ris_deprecated\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x12\n\nalias_name\x18\x06 \x01(\t\x12\x10\n\x08sql_name\x18\x07 \x01(\t\x12\"\n\x14\x61llow_external_usage\x18\x08 \x01(\x08:\x04true\x12@\n\nvolatility\x18\t \x01(\x0e\x32!.zetasql.FunctionEnums.Volatility:\tIMMUTABLE\x12 \n\x11supports_order_by\x18\n \x01(\x08:\x05\x66\x61lse\x12;\n\x19required_language_feature\x18\x0b \x03(\x0e\x32\x18.zetasql.LanguageFeature\x12\x1d\n\x0esupports_limit\x18\x0c \x01(\x08:\x05\x66\x61lse\x12.\n\x1fsupports_null_handling_modifier\x18\r \x01(\x08:\x05\x66\x61lse\x12&\n\x18supports_safe_error_mode\x18\x0e \x01(\x08:\x04true\x12&\n\x18supports_having_modifier\x18\x0f \x01(\x08:\x04true\x12\x30\n!supports_clamped_between_modifier\x18\x10 \x01(\x08:\x05\x66\x61lse\x12&\n\x18uses_upper_case_sql_name\x18\x11 \x01(\x08:\x04true\x12(\n\x19may_suppress_side_effects\x18\x12 \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x17module_name_from_import\x18\x13 \x03(\t\"\xda\x03\n\rFunctionProto\x12\x11\n\tname_path\x18\x01 \x03(\t\x12\r\n\x05group\x18\x02 \x01(\t\x12)\n\x04mode\x18\x03 \x01(\x0e\x32\x1b.zetasql.FunctionEnums.Mode\x12\x32\n\tsignature\x18\x04 \x03(\x0b\x32\x1f.zetasql.FunctionSignatureProto\x12.\n\x07options\x18\x05 \x01(\x0b\x32\x1d.zetasql.FunctionOptionsProto\x12@\n\x15parse_resume_location\x18\x08 \x01(\x0b\x32!.zetasql.ParseResumeLocationProto\x12,\n$templated_sql_function_argument_name\x18\x07 \x03(\t\x12\x61\n\x0csql_security\x18\t \x01(\x0e\x32\x31.zetasql.ResolvedCreateStatementEnums.SqlSecurity:\x18SQL_SECURITY_UNSPECIFIED\x12\x45\n\x11statement_context\x18\n \x01(\x0e\x32\x19.zetasql.StatementContext:\x0f\x43ONTEXT_DEFAULT\"\x1f\n\x1dResolvedFunctionCallInfoProto\"\x86\x01\n\x1fTableValuedFunctionOptionsProto\x12&\n\x18uses_upper_case_sql_name\x18\x01 \x01(\x08:\x04true\x12;\n\x19required_language_feature\x18\x02 \x03(\x0e\x32\x18.zetasql.LanguageFeature\"\xd4\x04\n\x18TableValuedFunctionProto\x12\x11\n\tname_path\x18\x01 \x03(\t\x12\x36\n\tsignature\x18\x02 \x01(\x0b\x32\x1f.zetasql.FunctionSignatureProtoB\x02\x18\x01\x12\x33\n\nsignatures\x18\x0c \x03(\x0b\x32\x1f.zetasql.FunctionSignatureProto\x12\x39\n\x07options\x18\t \x01(\x0b\x32(.zetasql.TableValuedFunctionOptionsProto\x12<\n\x04type\x18\x03 \x01(\x0e\x32..zetasql.FunctionEnums.TableValuedFunctionType\x12\x35\n\nvolatility\x18\x08 \x01(\x0e\x32!.zetasql.FunctionEnums.Volatility\x12@\n\x15parse_resume_location\x18\x06 \x01(\x0b\x32!.zetasql.ParseResumeLocationProto\x12\x15\n\rargument_name\x18\x05 \x03(\t\x12\x16\n\x0e\x63ustom_context\x18\x07 \x01(\t\x12\x41\n\x12\x61nonymization_info\x18\n \x01(\x0b\x32%.zetasql.SimpleAnonymizationInfoProto\x12\x45\n\x11statement_context\x18\x0b \x01(\x0e\x32\x19.zetasql.StatementContext:\x0f\x43ONTEXT_DEFAULT\x12\r\n\x05group\x18\r \x01(\t\"\xd2\x02\n\x10TVFArgumentProto\x12\x34\n\x0fscalar_argument\x18\x01 \x01(\x0b\x32\x1b.zetasql.ValueWithTypeProto\x12\x34\n\x11relation_argument\x18\x02 \x01(\x0b\x32\x19.zetasql.TVFRelationProto\x12.\n\x0emodel_argument\x18\x03 \x01(\x0b\x32\x16.zetasql.TVFModelProto\x12\x38\n\x13\x63onnection_argument\x18\x04 \x01(\x0b\x32\x1b.zetasql.TVFConnectionProto\x12\x38\n\x13\x64\x65scriptor_argument\x18\x05 \x01(\x0b\x32\x1b.zetasql.TVFDescriptorProto\x12.\n\x0egraph_argument\x18\x06 \x01(\x0b\x32\x16.zetasql.TVFGraphProto\"k\n\x18TVFSignatureOptionsProto\x12O\n\x1e\x61\x64\x64itional_deprecation_warning\x18\x01 \x03(\x0b\x32\'.zetasql.FreestandingDeprecationWarning\"\xf6\x01\n\x11TVFSignatureProto\x12+\n\x08\x61rgument\x18\x01 \x03(\x0b\x32\x19.zetasql.TVFArgumentProto\x12\x32\n\x07options\x18\x03 \x01(\x0b\x32!.zetasql.TVFSignatureOptionsProto\x12\x32\n\routput_schema\x18\x02 \x01(\x0b\x32\x19.zetasql.TVFRelationProtoH\x00\x12\x35\n\x13output_table_schema\x18\x04 \x01(\x0b\x32\x16.zetasql.TableRefProtoH\x00\x42\x15\n\x13output_schema_oneof\"W\n\x0eProcedureProto\x12\x11\n\tname_path\x18\x01 \x03(\t\x12\x32\n\tsignature\x18\x02 \x01(\x0b\x32\x1f.zetasql.FunctionSignatureProtoB$\n\x12\x63om.google.zetasqlB\x0e\x46unctionProtos')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'zetasql.proto.function_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\022com.google.zetasqlB\016FunctionProtos'
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO'].fields_by_name['must_be_constant']._loaded_options = None
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO'].fields_by_name['must_be_constant']._serialized_options = b'\030\001'
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO'].fields_by_name['argument_name_is_mandatory']._loaded_options = None
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO'].fields_by_name['argument_name_is_mandatory']._serialized_options = b'\030\001'
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO'].fields_by_name['must_be_constant_expression']._loaded_options = None
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO'].fields_by_name['must_be_constant_expression']._serialized_options = b'\030\001'
  _globals['_TABLEVALUEDFUNCTIONPROTO'].fields_by_name['signature']._loaded_options = None
  _globals['_TABLEVALUEDFUNCTIONPROTO'].fields_by_name['signature']._serialized_options = b'\030\001'
  _globals['_TVFRELATIONCOLUMNPROTO']._serialized_start=482
  _globals['_TVFRELATIONCOLUMNPROTO']._serialized_end=771
  _globals['_TVFRELATIONPROTO']._serialized_start=773
  _globals['_TVFRELATIONPROTO']._serialized_end=871
  _globals['_TVFMODELPROTO']._serialized_start=873
  _globals['_TVFMODELPROTO']._serialized_end=921
  _globals['_TVFCONNECTIONPROTO']._serialized_start=923
  _globals['_TVFCONNECTIONPROTO']._serialized_end=976
  _globals['_TVFDESCRIPTORPROTO']._serialized_start=978
  _globals['_TVFDESCRIPTORPROTO']._serialized_end=1019
  _globals['_TVFGRAPHPROTO']._serialized_start=1021
  _globals['_TVFGRAPHPROTO']._serialized_end=1069
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO']._serialized_start=1072
  _globals['_FUNCTIONARGUMENTTYPEOPTIONSPROTO']._serialized_end=2478
  _globals['_ARGUMENTTYPELAMBDAPROTO']._serialized_start=2481
  _globals['_ARGUMENTTYPELAMBDAPROTO']._serialized_end=2610
  _globals['_FUNCTIONARGUMENTTYPEPROTO']._serialized_start=2613
  _globals['_FUNCTIONARGUMENTTYPEPROTO']._serialized_end=2855
  _globals['_FUNCTIONSIGNATUREREWRITEOPTIONSPROTO']._serialized_start=2858
  _globals['_FUNCTIONSIGNATUREREWRITEOPTIONSPROTO']._serialized_end=3038
  _globals['_FUNCTIONSIGNATUREOPTIONSPROTO']._serialized_start=3041
  _globals['_FUNCTIONSIGNATUREOPTIONSPROTO']._serialized_end=3464
  _globals['_FUNCTIONSIGNATUREPROTO']._serialized_start=3467
  _globals['_FUNCTIONSIGNATUREPROTO']._serialized_end=3679
  _globals['_FUNCTIONOPTIONSPROTO']._serialized_start=3682
  _globals['_FUNCTIONOPTIONSPROTO']._serialized_end=4504
  _globals['_FUNCTIONPROTO']._serialized_start=4507
  _globals['_FUNCTIONPROTO']._serialized_end=4981
  _globals['_RESOLVEDFUNCTIONCALLINFOPROTO']._serialized_start=4983
  _globals['_RESOLVEDFUNCTIONCALLINFOPROTO']._serialized_end=5014
  _globals['_TABLEVALUEDFUNCTIONOPTIONSPROTO']._serialized_start=5017
  _globals['_TABLEVALUEDFUNCTIONOPTIONSPROTO']._serialized_end=5151
  _globals['_TABLEVALUEDFUNCTIONPROTO']._serialized_start=5154
  _globals['_TABLEVALUEDFUNCTIONPROTO']._serialized_end=5750
  _globals['_TVFARGUMENTPROTO']._serialized_start=5753
  _globals['_TVFARGUMENTPROTO']._serialized_end=6091
  _globals['_TVFSIGNATUREOPTIONSPROTO']._serialized_start=6093
  _globals['_TVFSIGNATUREOPTIONSPROTO']._serialized_end=6200
  _globals['_TVFSIGNATUREPROTO']._serialized_start=6203
  _globals['_TVFSIGNATUREPROTO']._serialized_end=6449
  _globals['_PROCEDUREPROTO']._serialized_start=6451
  _globals['_PROCEDUREPROTO']._serialized_end=6538
# @@protoc_insertion_point(module_scope)
