################################################################################
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
# limitations under the License.
################################################################################
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: flink-fn-execution.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='flink-fn-execution.proto',
  package='org.apache.flink.fn_execution.v1',
  syntax='proto3',
  serialized_pb=_b('\n\x18\x66link-fn-execution.proto\x12 org.apache.flink.fn_execution.v1\"\x86\x01\n\x05Input\x12\x44\n\x03udf\x18\x01 \x01(\x0b\x32\x35.org.apache.flink.fn_execution.v1.UserDefinedFunctionH\x00\x12\x15\n\x0binputOffset\x18\x02 \x01(\x05H\x00\x12\x17\n\rinputConstant\x18\x03 \x01(\x0cH\x00\x42\x07\n\x05input\"\x8c\x01\n\x13UserDefinedFunction\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x37\n\x06inputs\x18\x02 \x03(\x0b\x32\'.org.apache.flink.fn_execution.v1.Input\x12\x14\n\x0cwindow_index\x18\x03 \x01(\x05\x12\x15\n\ris_pandas_udf\x18\x05 \x01(\x08\"\xb2\x01\n\x14UserDefinedFunctions\x12\x43\n\x04udfs\x18\x01 \x03(\x0b\x32\x35.org.apache.flink.fn_execution.v1.UserDefinedFunction\x12\x16\n\x0emetric_enabled\x18\x02 \x01(\x08\x12=\n\x07windows\x18\x03 \x03(\x0b\x32,.org.apache.flink.fn_execution.v1.OverWindow\"\xdd\x02\n\nOverWindow\x12L\n\x0bwindow_type\x18\x01 \x01(\x0e\x32\x37.org.apache.flink.fn_execution.v1.OverWindow.WindowType\x12\x16\n\x0elower_boundary\x18\x02 \x01(\x03\x12\x16\n\x0eupper_boundary\x18\x03 \x01(\x03\"\xd0\x01\n\nWindowType\x12\x13\n\x0fRANGE_UNBOUNDED\x10\x00\x12\x1d\n\x19RANGE_UNBOUNDED_PRECEDING\x10\x01\x12\x1d\n\x19RANGE_UNBOUNDED_FOLLOWING\x10\x02\x12\x11\n\rRANGE_SLIDING\x10\x03\x12\x11\n\rROW_UNBOUNDED\x10\x04\x12\x1b\n\x17ROW_UNBOUNDED_PRECEDING\x10\x05\x12\x1b\n\x17ROW_UNBOUNDED_FOLLOWING\x10\x06\x12\x0f\n\x0bROW_SLIDING\x10\x07\"\xc0\x06\n\x1dUserDefinedDataStreamFunction\x12\x63\n\rfunction_type\x18\x01 \x01(\x0e\x32L.org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.FunctionType\x12g\n\x0fruntime_context\x18\x02 \x01(\x0b\x32N.org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x16\n\x0emetric_enabled\x18\x04 \x01(\x08\x12\x41\n\rkey_type_info\x18\x05 \x01(\x0b\x32*.org.apache.flink.fn_execution.v1.TypeInfo\x1a*\n\x0cJobParameter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\xaf\x02\n\x0eRuntimeContext\x12\x11\n\ttask_name\x18\x01 \x01(\t\x12\x1f\n\x17task_name_with_subtasks\x18\x02 \x01(\t\x12#\n\x1bnumber_of_parallel_subtasks\x18\x03 \x01(\x05\x12\'\n\x1fmax_number_of_parallel_subtasks\x18\x04 \x01(\x05\x12\x1d\n\x15index_of_this_subtask\x18\x05 \x01(\x05\x12\x16\n\x0e\x61ttempt_number\x18\x06 \x01(\x05\x12\x64\n\x0ejob_parameters\x18\x07 \x03(\x0b\x32L.org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.JobParameter\"\x86\x01\n\x0c\x46unctionType\x12\x07\n\x03MAP\x10\x00\x12\x0c\n\x08\x46LAT_MAP\x10\x01\x12\n\n\x06REDUCE\x10\x02\x12\n\n\x06\x43O_MAP\x10\x03\x12\x0f\n\x0b\x43O_FLAT_MAP\x10\x04\x12\x0b\n\x07PROCESS\x10\x05\x12\x11\n\rKEYED_PROCESS\x10\x06\x12\x16\n\x12TIMESTAMP_ASSIGNER\x10\x07\"\xef\x05\n\x1cUserDefinedAggregateFunction\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x37\n\x06inputs\x18\x02 \x03(\x0b\x32\'.org.apache.flink.fn_execution.v1.Input\x12Z\n\x05specs\x18\x03 \x03(\x0b\x32K.org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec\x12\x12\n\nfilter_arg\x18\x04 \x01(\x05\x12\x10\n\x08\x64istinct\x18\x05 \x01(\x08\x1a\x82\x04\n\x0c\x44\x61taViewSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x66ield_index\x18\x02 \x01(\x05\x12i\n\tlist_view\x18\x03 \x01(\x0b\x32T.org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.ListViewH\x00\x12g\n\x08map_view\x18\x04 \x01(\x0b\x32S.org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.MapViewH\x00\x1aT\n\x08ListView\x12H\n\x0c\x65lement_type\x18\x01 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldType\x1a\x97\x01\n\x07MapView\x12\x44\n\x08key_type\x18\x01 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldType\x12\x46\n\nvalue_type\x18\x02 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldTypeB\x0b\n\tdata_view\"\xb8\x03\n\x1dUserDefinedAggregateFunctions\x12L\n\x04udfs\x18\x01 \x03(\x0b\x32>.org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction\x12\x16\n\x0emetric_enabled\x18\x02 \x01(\x08\x12\x10\n\x08grouping\x18\x03 \x03(\x05\x12\x1e\n\x16generate_update_before\x18\x04 \x01(\x08\x12\x44\n\x08key_type\x18\x05 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldType\x12\x1b\n\x13index_of_count_star\x18\x06 \x01(\x05\x12\x1e\n\x16state_cleaning_enabled\x18\x07 \x01(\x08\x12\x18\n\x10state_cache_size\x18\x08 \x01(\x05\x12!\n\x19map_state_read_cache_size\x18\t \x01(\x05\x12\"\n\x1amap_state_write_cache_size\x18\n \x01(\x05\x12\x1b\n\x13\x63ount_star_inserted\x18\x0b \x01(\x08\"\xec\x0f\n\x06Schema\x12>\n\x06\x66ields\x18\x01 \x03(\x0b\x32..org.apache.flink.fn_execution.v1.Schema.Field\x1a\x97\x01\n\x07MapInfo\x12\x44\n\x08key_type\x18\x01 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldType\x12\x46\n\nvalue_type\x18\x02 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldType\x1a\x1d\n\x08TimeInfo\x12\x11\n\tprecision\x18\x01 \x01(\x05\x1a\"\n\rTimestampInfo\x12\x11\n\tprecision\x18\x01 \x01(\x05\x1a,\n\x17LocalZonedTimestampInfo\x12\x11\n\tprecision\x18\x01 \x01(\x05\x1a\'\n\x12ZonedTimestampInfo\x12\x11\n\tprecision\x18\x01 \x01(\x05\x1a/\n\x0b\x44\x65\x63imalInfo\x12\x11\n\tprecision\x18\x01 \x01(\x05\x12\r\n\x05scale\x18\x02 \x01(\x05\x1a\x1c\n\nBinaryInfo\x12\x0e\n\x06length\x18\x01 \x01(\x05\x1a\x1f\n\rVarBinaryInfo\x12\x0e\n\x06length\x18\x01 \x01(\x05\x1a\x1a\n\x08\x43harInfo\x12\x0e\n\x06length\x18\x01 \x01(\x05\x1a\x1d\n\x0bVarCharInfo\x12\x0e\n\x06length\x18\x01 \x01(\x05\x1a\xb0\x08\n\tFieldType\x12\x44\n\ttype_name\x18\x01 \x01(\x0e\x32\x31.org.apache.flink.fn_execution.v1.Schema.TypeName\x12\x10\n\x08nullable\x18\x02 \x01(\x08\x12U\n\x17\x63ollection_element_type\x18\x03 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldTypeH\x00\x12\x44\n\x08map_info\x18\x04 \x01(\x0b\x32\x30.org.apache.flink.fn_execution.v1.Schema.MapInfoH\x00\x12>\n\nrow_schema\x18\x05 \x01(\x0b\x32(.org.apache.flink.fn_execution.v1.SchemaH\x00\x12L\n\x0c\x64\x65\x63imal_info\x18\x06 \x01(\x0b\x32\x34.org.apache.flink.fn_execution.v1.Schema.DecimalInfoH\x00\x12\x46\n\ttime_info\x18\x07 \x01(\x0b\x32\x31.org.apache.flink.fn_execution.v1.Schema.TimeInfoH\x00\x12P\n\x0etimestamp_info\x18\x08 \x01(\x0b\x32\x36.org.apache.flink.fn_execution.v1.Schema.TimestampInfoH\x00\x12\x66\n\x1alocal_zoned_timestamp_info\x18\t \x01(\x0b\x32@.org.apache.flink.fn_execution.v1.Schema.LocalZonedTimestampInfoH\x00\x12[\n\x14zoned_timestamp_info\x18\n \x01(\x0b\x32;.org.apache.flink.fn_execution.v1.Schema.ZonedTimestampInfoH\x00\x12J\n\x0b\x62inary_info\x18\x0b \x01(\x0b\x32\x33.org.apache.flink.fn_execution.v1.Schema.BinaryInfoH\x00\x12Q\n\x0fvar_binary_info\x18\x0c \x01(\x0b\x32\x36.org.apache.flink.fn_execution.v1.Schema.VarBinaryInfoH\x00\x12\x46\n\tchar_info\x18\r \x01(\x0b\x32\x31.org.apache.flink.fn_execution.v1.Schema.CharInfoH\x00\x12M\n\rvar_char_info\x18\x0e \x01(\x0b\x32\x34.org.apache.flink.fn_execution.v1.Schema.VarCharInfoH\x00\x42\x0b\n\ttype_info\x1al\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12@\n\x04type\x18\x03 \x01(\x0b\x32\x32.org.apache.flink.fn_execution.v1.Schema.FieldType\"\xa1\x02\n\x08TypeName\x12\x07\n\x03ROW\x10\x00\x12\x0b\n\x07TINYINT\x10\x01\x12\x0c\n\x08SMALLINT\x10\x02\x12\x07\n\x03INT\x10\x03\x12\n\n\x06\x42IGINT\x10\x04\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x05\x12\t\n\x05\x46LOAT\x10\x06\x12\n\n\x06\x44OUBLE\x10\x07\x12\x08\n\x04\x44\x41TE\x10\x08\x12\x08\n\x04TIME\x10\t\x12\r\n\tTIMESTAMP\x10\n\x12\x0b\n\x07\x42OOLEAN\x10\x0b\x12\n\n\x06\x42INARY\x10\x0c\x12\r\n\tVARBINARY\x10\r\x12\x08\n\x04\x43HAR\x10\x0e\x12\x0b\n\x07VARCHAR\x10\x0f\x12\x0f\n\x0b\x42\x41SIC_ARRAY\x10\x10\x12\x07\n\x03MAP\x10\x11\x12\x0c\n\x08MULTISET\x10\x12\x12\x19\n\x15LOCAL_ZONED_TIMESTAMP\x10\x13\x12\x13\n\x0fZONED_TIMESTAMP\x10\x14\"\x88\x06\n\x08TypeInfo\x12?\n\x05\x66ield\x18\x01 \x03(\x0b\x32\x30.org.apache.flink.fn_execution.v1.TypeInfo.Field\x1a\xc5\x02\n\tFieldType\x12\x46\n\ttype_name\x18\x01 \x01(\x0e\x32\x33.org.apache.flink.fn_execution.v1.TypeInfo.TypeName\x12W\n\x17\x63ollection_element_type\x18\x02 \x01(\x0b\x32\x34.org.apache.flink.fn_execution.v1.TypeInfo.FieldTypeH\x00\x12\x43\n\rrow_type_info\x18\x03 \x01(\x0b\x32*.org.apache.flink.fn_execution.v1.TypeInfoH\x00\x12\x45\n\x0ftuple_type_info\x18\x04 \x01(\x0b\x32*.org.apache.flink.fn_execution.v1.TypeInfoH\x00\x42\x0b\n\ttype_info\x1an\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x42\n\x04type\x18\x03 \x01(\x0b\x32\x34.org.apache.flink.fn_execution.v1.TypeInfo.FieldType\"\x82\x02\n\x08TypeName\x12\x07\n\x03ROW\x10\x00\x12\n\n\x06STRING\x10\x01\x12\x08\n\x04\x42YTE\x10\x02\x12\x0b\n\x07\x42OOLEAN\x10\x03\x12\t\n\x05SHORT\x10\x04\x12\x07\n\x03INT\x10\x05\x12\x08\n\x04LONG\x10\x06\x12\t\n\x05\x46LOAT\x10\x07\x12\n\n\x06\x44OUBLE\x10\x08\x12\x08\n\x04\x43HAR\x10\t\x12\x0b\n\x07\x42IG_INT\x10\n\x12\x0b\n\x07\x42IG_DEC\x10\x0b\x12\x0c\n\x08SQL_DATE\x10\x0c\x12\x0c\n\x08SQL_TIME\x10\r\x12\x11\n\rSQL_TIMESTAMP\x10\x0e\x12\x0f\n\x0b\x42\x41SIC_ARRAY\x10\x0f\x12\x11\n\rPICKLED_BYTES\x10\x10\x12\t\n\x05TUPLE\x10\x11\x12\x13\n\x0fPRIMITIVE_ARRAY\x10\x12\x42-\n\x1forg.apache.flink.fnexecution.v1B\nFlinkFnApib\x06proto3')
)



_OVERWINDOW_WINDOWTYPE = _descriptor.EnumDescriptor(
  name='WindowType',
  full_name='org.apache.flink.fn_execution.v1.OverWindow.WindowType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RANGE_UNBOUNDED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RANGE_UNBOUNDED_PRECEDING', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RANGE_UNBOUNDED_FOLLOWING', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RANGE_SLIDING', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ROW_UNBOUNDED', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ROW_UNBOUNDED_PRECEDING', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ROW_UNBOUNDED_FOLLOWING', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ROW_SLIDING', index=7, number=7,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=665,
  serialized_end=873,
)
_sym_db.RegisterEnumDescriptor(_OVERWINDOW_WINDOWTYPE)

_USERDEFINEDDATASTREAMFUNCTION_FUNCTIONTYPE = _descriptor.EnumDescriptor(
  name='FunctionType',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.FunctionType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MAP', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLAT_MAP', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REDUCE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CO_MAP', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CO_FLAT_MAP', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROCESS', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='KEYED_PROCESS', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TIMESTAMP_ASSIGNER', index=7, number=7,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1574,
  serialized_end=1708,
)
_sym_db.RegisterEnumDescriptor(_USERDEFINEDDATASTREAMFUNCTION_FUNCTIONTYPE)

_SCHEMA_TYPENAME = _descriptor.EnumDescriptor(
  name='TypeName',
  full_name='org.apache.flink.fn_execution.v1.Schema.TypeName',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ROW', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TINYINT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SMALLINT', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INT', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BIGINT', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DECIMAL', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLOAT', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOUBLE', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DATE', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TIME', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TIMESTAMP', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOLEAN', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BINARY', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VARBINARY', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHAR', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VARCHAR', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BASIC_ARRAY', index=16, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MAP', index=17, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MULTISET', index=18, number=18,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOCAL_ZONED_TIMESTAMP', index=19, number=19,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ZONED_TIMESTAMP', index=20, number=20,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4647,
  serialized_end=4936,
)
_sym_db.RegisterEnumDescriptor(_SCHEMA_TYPENAME)

_TYPEINFO_TYPENAME = _descriptor.EnumDescriptor(
  name='TypeName',
  full_name='org.apache.flink.fn_execution.v1.TypeInfo.TypeName',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ROW', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STRING', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BYTE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOLEAN', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHORT', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INT', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LONG', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLOAT', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOUBLE', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHAR', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BIG_INT', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BIG_DEC', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SQL_DATE', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SQL_TIME', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SQL_TIMESTAMP', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BASIC_ARRAY', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PICKLED_BYTES', index=16, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TUPLE', index=17, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PRIMITIVE_ARRAY', index=18, number=18,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5457,
  serialized_end=5715,
)
_sym_db.RegisterEnumDescriptor(_TYPEINFO_TYPENAME)


_INPUT = _descriptor.Descriptor(
  name='Input',
  full_name='org.apache.flink.fn_execution.v1.Input',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='udf', full_name='org.apache.flink.fn_execution.v1.Input.udf', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inputOffset', full_name='org.apache.flink.fn_execution.v1.Input.inputOffset', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inputConstant', full_name='org.apache.flink.fn_execution.v1.Input.inputConstant', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='input', full_name='org.apache.flink.fn_execution.v1.Input.input',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=63,
  serialized_end=197,
)


_USERDEFINEDFUNCTION = _descriptor.Descriptor(
  name='UserDefinedFunction',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedFunction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='payload', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunction.payload', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inputs', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunction.inputs', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='window_index', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunction.window_index', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='is_pandas_udf', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunction.is_pandas_udf', index=3,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=200,
  serialized_end=340,
)


_USERDEFINEDFUNCTIONS = _descriptor.Descriptor(
  name='UserDefinedFunctions',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedFunctions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='udfs', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunctions.udfs', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='metric_enabled', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunctions.metric_enabled', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='windows', full_name='org.apache.flink.fn_execution.v1.UserDefinedFunctions.windows', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=343,
  serialized_end=521,
)


_OVERWINDOW = _descriptor.Descriptor(
  name='OverWindow',
  full_name='org.apache.flink.fn_execution.v1.OverWindow',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='window_type', full_name='org.apache.flink.fn_execution.v1.OverWindow.window_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='lower_boundary', full_name='org.apache.flink.fn_execution.v1.OverWindow.lower_boundary', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='upper_boundary', full_name='org.apache.flink.fn_execution.v1.OverWindow.upper_boundary', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _OVERWINDOW_WINDOWTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=524,
  serialized_end=873,
)


_USERDEFINEDDATASTREAMFUNCTION_JOBPARAMETER = _descriptor.Descriptor(
  name='JobParameter',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.JobParameter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.JobParameter.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.JobParameter.value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1223,
  serialized_end=1265,
)

_USERDEFINEDDATASTREAMFUNCTION_RUNTIMECONTEXT = _descriptor.Descriptor(
  name='RuntimeContext',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_name', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.task_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='task_name_with_subtasks', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.task_name_with_subtasks', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='number_of_parallel_subtasks', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.number_of_parallel_subtasks', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_number_of_parallel_subtasks', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.max_number_of_parallel_subtasks', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='index_of_this_subtask', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.index_of_this_subtask', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='attempt_number', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.attempt_number', index=5,
      number=6, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='job_parameters', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext.job_parameters', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1268,
  serialized_end=1571,
)

_USERDEFINEDDATASTREAMFUNCTION = _descriptor.Descriptor(
  name='UserDefinedDataStreamFunction',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='function_type', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.function_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='runtime_context', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.runtime_context', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='payload', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.payload', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='metric_enabled', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.metric_enabled', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='key_type_info', full_name='org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.key_type_info', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_USERDEFINEDDATASTREAMFUNCTION_JOBPARAMETER, _USERDEFINEDDATASTREAMFUNCTION_RUNTIMECONTEXT, ],
  enum_types=[
    _USERDEFINEDDATASTREAMFUNCTION_FUNCTIONTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=876,
  serialized_end=1708,
)


_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_LISTVIEW = _descriptor.Descriptor(
  name='ListView',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.ListView',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='element_type', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.ListView.element_type', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2211,
  serialized_end=2295,
)

_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW = _descriptor.Descriptor(
  name='MapView',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.MapView',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key_type', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.MapView.key_type', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value_type', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.MapView.value_type', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2298,
  serialized_end=2449,
)

_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC = _descriptor.Descriptor(
  name='DataViewSpec',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='field_index', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.field_index', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='list_view', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.list_view', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='map_view', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.map_view', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_LISTVIEW, _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='data_view', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.data_view',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1948,
  serialized_end=2462,
)

_USERDEFINEDAGGREGATEFUNCTION = _descriptor.Descriptor(
  name='UserDefinedAggregateFunction',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='payload', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.payload', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inputs', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.inputs', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='specs', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.specs', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='filter_arg', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.filter_arg', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='distinct', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.distinct', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1711,
  serialized_end=2462,
)


_USERDEFINEDAGGREGATEFUNCTIONS = _descriptor.Descriptor(
  name='UserDefinedAggregateFunctions',
  full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='udfs', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.udfs', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='metric_enabled', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.metric_enabled', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='grouping', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.grouping', index=2,
      number=3, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='generate_update_before', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.generate_update_before', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='key_type', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.key_type', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='index_of_count_star', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.index_of_count_star', index=5,
      number=6, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='state_cleaning_enabled', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.state_cleaning_enabled', index=6,
      number=7, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='state_cache_size', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.state_cache_size', index=7,
      number=8, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='map_state_read_cache_size', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.map_state_read_cache_size', index=8,
      number=9, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='map_state_write_cache_size', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.map_state_write_cache_size', index=9,
      number=10, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='count_star_inserted', full_name='org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions.count_star_inserted', index=10,
      number=11, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2465,
  serialized_end=2905,
)


_SCHEMA_MAPINFO = _descriptor.Descriptor(
  name='MapInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.MapInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key_type', full_name='org.apache.flink.fn_execution.v1.Schema.MapInfo.key_type', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value_type', full_name='org.apache.flink.fn_execution.v1.Schema.MapInfo.value_type', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2983,
  serialized_end=3134,
)

_SCHEMA_TIMEINFO = _descriptor.Descriptor(
  name='TimeInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.TimeInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='precision', full_name='org.apache.flink.fn_execution.v1.Schema.TimeInfo.precision', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3136,
  serialized_end=3165,
)

_SCHEMA_TIMESTAMPINFO = _descriptor.Descriptor(
  name='TimestampInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.TimestampInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='precision', full_name='org.apache.flink.fn_execution.v1.Schema.TimestampInfo.precision', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3167,
  serialized_end=3201,
)

_SCHEMA_LOCALZONEDTIMESTAMPINFO = _descriptor.Descriptor(
  name='LocalZonedTimestampInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.LocalZonedTimestampInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='precision', full_name='org.apache.flink.fn_execution.v1.Schema.LocalZonedTimestampInfo.precision', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3203,
  serialized_end=3247,
)

_SCHEMA_ZONEDTIMESTAMPINFO = _descriptor.Descriptor(
  name='ZonedTimestampInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.ZonedTimestampInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='precision', full_name='org.apache.flink.fn_execution.v1.Schema.ZonedTimestampInfo.precision', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3249,
  serialized_end=3288,
)

_SCHEMA_DECIMALINFO = _descriptor.Descriptor(
  name='DecimalInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.DecimalInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='precision', full_name='org.apache.flink.fn_execution.v1.Schema.DecimalInfo.precision', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='scale', full_name='org.apache.flink.fn_execution.v1.Schema.DecimalInfo.scale', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3290,
  serialized_end=3337,
)

_SCHEMA_BINARYINFO = _descriptor.Descriptor(
  name='BinaryInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.BinaryInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='length', full_name='org.apache.flink.fn_execution.v1.Schema.BinaryInfo.length', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3339,
  serialized_end=3367,
)

_SCHEMA_VARBINARYINFO = _descriptor.Descriptor(
  name='VarBinaryInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.VarBinaryInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='length', full_name='org.apache.flink.fn_execution.v1.Schema.VarBinaryInfo.length', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3369,
  serialized_end=3400,
)

_SCHEMA_CHARINFO = _descriptor.Descriptor(
  name='CharInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.CharInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='length', full_name='org.apache.flink.fn_execution.v1.Schema.CharInfo.length', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3402,
  serialized_end=3428,
)

_SCHEMA_VARCHARINFO = _descriptor.Descriptor(
  name='VarCharInfo',
  full_name='org.apache.flink.fn_execution.v1.Schema.VarCharInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='length', full_name='org.apache.flink.fn_execution.v1.Schema.VarCharInfo.length', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3430,
  serialized_end=3459,
)

_SCHEMA_FIELDTYPE = _descriptor.Descriptor(
  name='FieldType',
  full_name='org.apache.flink.fn_execution.v1.Schema.FieldType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type_name', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.type_name', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='nullable', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.nullable', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='collection_element_type', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.collection_element_type', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='map_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.map_info', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='row_schema', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.row_schema', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decimal_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.decimal_info', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='time_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.time_info', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timestamp_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.timestamp_info', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='local_zoned_timestamp_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.local_zoned_timestamp_info', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='zoned_timestamp_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.zoned_timestamp_info', index=9,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='binary_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.binary_info', index=10,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='var_binary_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.var_binary_info', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='char_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.char_info', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='var_char_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.var_char_info', index=13,
      number=14, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='type_info', full_name='org.apache.flink.fn_execution.v1.Schema.FieldType.type_info',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=3462,
  serialized_end=4534,
)

_SCHEMA_FIELD = _descriptor.Descriptor(
  name='Field',
  full_name='org.apache.flink.fn_execution.v1.Schema.Field',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='org.apache.flink.fn_execution.v1.Schema.Field.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='description', full_name='org.apache.flink.fn_execution.v1.Schema.Field.description', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='org.apache.flink.fn_execution.v1.Schema.Field.type', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4536,
  serialized_end=4644,
)

_SCHEMA = _descriptor.Descriptor(
  name='Schema',
  full_name='org.apache.flink.fn_execution.v1.Schema',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='fields', full_name='org.apache.flink.fn_execution.v1.Schema.fields', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_SCHEMA_MAPINFO, _SCHEMA_TIMEINFO, _SCHEMA_TIMESTAMPINFO, _SCHEMA_LOCALZONEDTIMESTAMPINFO, _SCHEMA_ZONEDTIMESTAMPINFO, _SCHEMA_DECIMALINFO, _SCHEMA_BINARYINFO, _SCHEMA_VARBINARYINFO, _SCHEMA_CHARINFO, _SCHEMA_VARCHARINFO, _SCHEMA_FIELDTYPE, _SCHEMA_FIELD, ],
  enum_types=[
    _SCHEMA_TYPENAME,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2908,
  serialized_end=4936,
)


_TYPEINFO_FIELDTYPE = _descriptor.Descriptor(
  name='FieldType',
  full_name='org.apache.flink.fn_execution.v1.TypeInfo.FieldType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type_name', full_name='org.apache.flink.fn_execution.v1.TypeInfo.FieldType.type_name', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='collection_element_type', full_name='org.apache.flink.fn_execution.v1.TypeInfo.FieldType.collection_element_type', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='row_type_info', full_name='org.apache.flink.fn_execution.v1.TypeInfo.FieldType.row_type_info', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tuple_type_info', full_name='org.apache.flink.fn_execution.v1.TypeInfo.FieldType.tuple_type_info', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='type_info', full_name='org.apache.flink.fn_execution.v1.TypeInfo.FieldType.type_info',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=5017,
  serialized_end=5342,
)

_TYPEINFO_FIELD = _descriptor.Descriptor(
  name='Field',
  full_name='org.apache.flink.fn_execution.v1.TypeInfo.Field',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='org.apache.flink.fn_execution.v1.TypeInfo.Field.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='description', full_name='org.apache.flink.fn_execution.v1.TypeInfo.Field.description', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='org.apache.flink.fn_execution.v1.TypeInfo.Field.type', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5344,
  serialized_end=5454,
)

_TYPEINFO = _descriptor.Descriptor(
  name='TypeInfo',
  full_name='org.apache.flink.fn_execution.v1.TypeInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='field', full_name='org.apache.flink.fn_execution.v1.TypeInfo.field', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_TYPEINFO_FIELDTYPE, _TYPEINFO_FIELD, ],
  enum_types=[
    _TYPEINFO_TYPENAME,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4939,
  serialized_end=5715,
)

_INPUT.fields_by_name['udf'].message_type = _USERDEFINEDFUNCTION
_INPUT.oneofs_by_name['input'].fields.append(
  _INPUT.fields_by_name['udf'])
_INPUT.fields_by_name['udf'].containing_oneof = _INPUT.oneofs_by_name['input']
_INPUT.oneofs_by_name['input'].fields.append(
  _INPUT.fields_by_name['inputOffset'])
_INPUT.fields_by_name['inputOffset'].containing_oneof = _INPUT.oneofs_by_name['input']
_INPUT.oneofs_by_name['input'].fields.append(
  _INPUT.fields_by_name['inputConstant'])
_INPUT.fields_by_name['inputConstant'].containing_oneof = _INPUT.oneofs_by_name['input']
_USERDEFINEDFUNCTION.fields_by_name['inputs'].message_type = _INPUT
_USERDEFINEDFUNCTIONS.fields_by_name['udfs'].message_type = _USERDEFINEDFUNCTION
_USERDEFINEDFUNCTIONS.fields_by_name['windows'].message_type = _OVERWINDOW
_OVERWINDOW.fields_by_name['window_type'].enum_type = _OVERWINDOW_WINDOWTYPE
_OVERWINDOW_WINDOWTYPE.containing_type = _OVERWINDOW
_USERDEFINEDDATASTREAMFUNCTION_JOBPARAMETER.containing_type = _USERDEFINEDDATASTREAMFUNCTION
_USERDEFINEDDATASTREAMFUNCTION_RUNTIMECONTEXT.fields_by_name['job_parameters'].message_type = _USERDEFINEDDATASTREAMFUNCTION_JOBPARAMETER
_USERDEFINEDDATASTREAMFUNCTION_RUNTIMECONTEXT.containing_type = _USERDEFINEDDATASTREAMFUNCTION
_USERDEFINEDDATASTREAMFUNCTION.fields_by_name['function_type'].enum_type = _USERDEFINEDDATASTREAMFUNCTION_FUNCTIONTYPE
_USERDEFINEDDATASTREAMFUNCTION.fields_by_name['runtime_context'].message_type = _USERDEFINEDDATASTREAMFUNCTION_RUNTIMECONTEXT
_USERDEFINEDDATASTREAMFUNCTION.fields_by_name['key_type_info'].message_type = _TYPEINFO
_USERDEFINEDDATASTREAMFUNCTION_FUNCTIONTYPE.containing_type = _USERDEFINEDDATASTREAMFUNCTION
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_LISTVIEW.fields_by_name['element_type'].message_type = _SCHEMA_FIELDTYPE
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_LISTVIEW.containing_type = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW.fields_by_name['key_type'].message_type = _SCHEMA_FIELDTYPE
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW.fields_by_name['value_type'].message_type = _SCHEMA_FIELDTYPE
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW.containing_type = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.fields_by_name['list_view'].message_type = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_LISTVIEW
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.fields_by_name['map_view'].message_type = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.containing_type = _USERDEFINEDAGGREGATEFUNCTION
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.oneofs_by_name['data_view'].fields.append(
  _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.fields_by_name['list_view'])
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.fields_by_name['list_view'].containing_oneof = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.oneofs_by_name['data_view']
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.oneofs_by_name['data_view'].fields.append(
  _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.fields_by_name['map_view'])
_USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.fields_by_name['map_view'].containing_oneof = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC.oneofs_by_name['data_view']
_USERDEFINEDAGGREGATEFUNCTION.fields_by_name['inputs'].message_type = _INPUT
_USERDEFINEDAGGREGATEFUNCTION.fields_by_name['specs'].message_type = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC
_USERDEFINEDAGGREGATEFUNCTIONS.fields_by_name['udfs'].message_type = _USERDEFINEDAGGREGATEFUNCTION
_USERDEFINEDAGGREGATEFUNCTIONS.fields_by_name['key_type'].message_type = _SCHEMA_FIELDTYPE
_SCHEMA_MAPINFO.fields_by_name['key_type'].message_type = _SCHEMA_FIELDTYPE
_SCHEMA_MAPINFO.fields_by_name['value_type'].message_type = _SCHEMA_FIELDTYPE
_SCHEMA_MAPINFO.containing_type = _SCHEMA
_SCHEMA_TIMEINFO.containing_type = _SCHEMA
_SCHEMA_TIMESTAMPINFO.containing_type = _SCHEMA
_SCHEMA_LOCALZONEDTIMESTAMPINFO.containing_type = _SCHEMA
_SCHEMA_ZONEDTIMESTAMPINFO.containing_type = _SCHEMA
_SCHEMA_DECIMALINFO.containing_type = _SCHEMA
_SCHEMA_BINARYINFO.containing_type = _SCHEMA
_SCHEMA_VARBINARYINFO.containing_type = _SCHEMA
_SCHEMA_CHARINFO.containing_type = _SCHEMA
_SCHEMA_VARCHARINFO.containing_type = _SCHEMA
_SCHEMA_FIELDTYPE.fields_by_name['type_name'].enum_type = _SCHEMA_TYPENAME
_SCHEMA_FIELDTYPE.fields_by_name['collection_element_type'].message_type = _SCHEMA_FIELDTYPE
_SCHEMA_FIELDTYPE.fields_by_name['map_info'].message_type = _SCHEMA_MAPINFO
_SCHEMA_FIELDTYPE.fields_by_name['row_schema'].message_type = _SCHEMA
_SCHEMA_FIELDTYPE.fields_by_name['decimal_info'].message_type = _SCHEMA_DECIMALINFO
_SCHEMA_FIELDTYPE.fields_by_name['time_info'].message_type = _SCHEMA_TIMEINFO
_SCHEMA_FIELDTYPE.fields_by_name['timestamp_info'].message_type = _SCHEMA_TIMESTAMPINFO
_SCHEMA_FIELDTYPE.fields_by_name['local_zoned_timestamp_info'].message_type = _SCHEMA_LOCALZONEDTIMESTAMPINFO
_SCHEMA_FIELDTYPE.fields_by_name['zoned_timestamp_info'].message_type = _SCHEMA_ZONEDTIMESTAMPINFO
_SCHEMA_FIELDTYPE.fields_by_name['binary_info'].message_type = _SCHEMA_BINARYINFO
_SCHEMA_FIELDTYPE.fields_by_name['var_binary_info'].message_type = _SCHEMA_VARBINARYINFO
_SCHEMA_FIELDTYPE.fields_by_name['char_info'].message_type = _SCHEMA_CHARINFO
_SCHEMA_FIELDTYPE.fields_by_name['var_char_info'].message_type = _SCHEMA_VARCHARINFO
_SCHEMA_FIELDTYPE.containing_type = _SCHEMA
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['collection_element_type'])
_SCHEMA_FIELDTYPE.fields_by_name['collection_element_type'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['map_info'])
_SCHEMA_FIELDTYPE.fields_by_name['map_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['row_schema'])
_SCHEMA_FIELDTYPE.fields_by_name['row_schema'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['decimal_info'])
_SCHEMA_FIELDTYPE.fields_by_name['decimal_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['time_info'])
_SCHEMA_FIELDTYPE.fields_by_name['time_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['timestamp_info'])
_SCHEMA_FIELDTYPE.fields_by_name['timestamp_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['local_zoned_timestamp_info'])
_SCHEMA_FIELDTYPE.fields_by_name['local_zoned_timestamp_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['zoned_timestamp_info'])
_SCHEMA_FIELDTYPE.fields_by_name['zoned_timestamp_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['binary_info'])
_SCHEMA_FIELDTYPE.fields_by_name['binary_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['var_binary_info'])
_SCHEMA_FIELDTYPE.fields_by_name['var_binary_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['char_info'])
_SCHEMA_FIELDTYPE.fields_by_name['char_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _SCHEMA_FIELDTYPE.fields_by_name['var_char_info'])
_SCHEMA_FIELDTYPE.fields_by_name['var_char_info'].containing_oneof = _SCHEMA_FIELDTYPE.oneofs_by_name['type_info']
_SCHEMA_FIELD.fields_by_name['type'].message_type = _SCHEMA_FIELDTYPE
_SCHEMA_FIELD.containing_type = _SCHEMA
_SCHEMA.fields_by_name['fields'].message_type = _SCHEMA_FIELD
_SCHEMA_TYPENAME.containing_type = _SCHEMA
_TYPEINFO_FIELDTYPE.fields_by_name['type_name'].enum_type = _TYPEINFO_TYPENAME
_TYPEINFO_FIELDTYPE.fields_by_name['collection_element_type'].message_type = _TYPEINFO_FIELDTYPE
_TYPEINFO_FIELDTYPE.fields_by_name['row_type_info'].message_type = _TYPEINFO
_TYPEINFO_FIELDTYPE.fields_by_name['tuple_type_info'].message_type = _TYPEINFO
_TYPEINFO_FIELDTYPE.containing_type = _TYPEINFO
_TYPEINFO_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _TYPEINFO_FIELDTYPE.fields_by_name['collection_element_type'])
_TYPEINFO_FIELDTYPE.fields_by_name['collection_element_type'].containing_oneof = _TYPEINFO_FIELDTYPE.oneofs_by_name['type_info']
_TYPEINFO_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _TYPEINFO_FIELDTYPE.fields_by_name['row_type_info'])
_TYPEINFO_FIELDTYPE.fields_by_name['row_type_info'].containing_oneof = _TYPEINFO_FIELDTYPE.oneofs_by_name['type_info']
_TYPEINFO_FIELDTYPE.oneofs_by_name['type_info'].fields.append(
  _TYPEINFO_FIELDTYPE.fields_by_name['tuple_type_info'])
_TYPEINFO_FIELDTYPE.fields_by_name['tuple_type_info'].containing_oneof = _TYPEINFO_FIELDTYPE.oneofs_by_name['type_info']
_TYPEINFO_FIELD.fields_by_name['type'].message_type = _TYPEINFO_FIELDTYPE
_TYPEINFO_FIELD.containing_type = _TYPEINFO
_TYPEINFO.fields_by_name['field'].message_type = _TYPEINFO_FIELD
_TYPEINFO_TYPENAME.containing_type = _TYPEINFO
DESCRIPTOR.message_types_by_name['Input'] = _INPUT
DESCRIPTOR.message_types_by_name['UserDefinedFunction'] = _USERDEFINEDFUNCTION
DESCRIPTOR.message_types_by_name['UserDefinedFunctions'] = _USERDEFINEDFUNCTIONS
DESCRIPTOR.message_types_by_name['OverWindow'] = _OVERWINDOW
DESCRIPTOR.message_types_by_name['UserDefinedDataStreamFunction'] = _USERDEFINEDDATASTREAMFUNCTION
DESCRIPTOR.message_types_by_name['UserDefinedAggregateFunction'] = _USERDEFINEDAGGREGATEFUNCTION
DESCRIPTOR.message_types_by_name['UserDefinedAggregateFunctions'] = _USERDEFINEDAGGREGATEFUNCTIONS
DESCRIPTOR.message_types_by_name['Schema'] = _SCHEMA
DESCRIPTOR.message_types_by_name['TypeInfo'] = _TYPEINFO
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Input = _reflection.GeneratedProtocolMessageType('Input', (_message.Message,), dict(
  DESCRIPTOR = _INPUT,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Input)
  ))
_sym_db.RegisterMessage(Input)

UserDefinedFunction = _reflection.GeneratedProtocolMessageType('UserDefinedFunction', (_message.Message,), dict(
  DESCRIPTOR = _USERDEFINEDFUNCTION,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedFunction)
  ))
_sym_db.RegisterMessage(UserDefinedFunction)

UserDefinedFunctions = _reflection.GeneratedProtocolMessageType('UserDefinedFunctions', (_message.Message,), dict(
  DESCRIPTOR = _USERDEFINEDFUNCTIONS,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedFunctions)
  ))
_sym_db.RegisterMessage(UserDefinedFunctions)

OverWindow = _reflection.GeneratedProtocolMessageType('OverWindow', (_message.Message,), dict(
  DESCRIPTOR = _OVERWINDOW,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.OverWindow)
  ))
_sym_db.RegisterMessage(OverWindow)

UserDefinedDataStreamFunction = _reflection.GeneratedProtocolMessageType('UserDefinedDataStreamFunction', (_message.Message,), dict(

  JobParameter = _reflection.GeneratedProtocolMessageType('JobParameter', (_message.Message,), dict(
    DESCRIPTOR = _USERDEFINEDDATASTREAMFUNCTION_JOBPARAMETER,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.JobParameter)
    ))
  ,

  RuntimeContext = _reflection.GeneratedProtocolMessageType('RuntimeContext', (_message.Message,), dict(
    DESCRIPTOR = _USERDEFINEDDATASTREAMFUNCTION_RUNTIMECONTEXT,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction.RuntimeContext)
    ))
  ,
  DESCRIPTOR = _USERDEFINEDDATASTREAMFUNCTION,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedDataStreamFunction)
  ))
_sym_db.RegisterMessage(UserDefinedDataStreamFunction)
_sym_db.RegisterMessage(UserDefinedDataStreamFunction.JobParameter)
_sym_db.RegisterMessage(UserDefinedDataStreamFunction.RuntimeContext)

UserDefinedAggregateFunction = _reflection.GeneratedProtocolMessageType('UserDefinedAggregateFunction', (_message.Message,), dict(

  DataViewSpec = _reflection.GeneratedProtocolMessageType('DataViewSpec', (_message.Message,), dict(

    ListView = _reflection.GeneratedProtocolMessageType('ListView', (_message.Message,), dict(
      DESCRIPTOR = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_LISTVIEW,
      __module__ = 'flink_fn_execution_pb2'
      # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.ListView)
      ))
    ,

    MapView = _reflection.GeneratedProtocolMessageType('MapView', (_message.Message,), dict(
      DESCRIPTOR = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC_MAPVIEW,
      __module__ = 'flink_fn_execution_pb2'
      # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec.MapView)
      ))
    ,
    DESCRIPTOR = _USERDEFINEDAGGREGATEFUNCTION_DATAVIEWSPEC,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction.DataViewSpec)
    ))
  ,
  DESCRIPTOR = _USERDEFINEDAGGREGATEFUNCTION,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedAggregateFunction)
  ))
_sym_db.RegisterMessage(UserDefinedAggregateFunction)
_sym_db.RegisterMessage(UserDefinedAggregateFunction.DataViewSpec)
_sym_db.RegisterMessage(UserDefinedAggregateFunction.DataViewSpec.ListView)
_sym_db.RegisterMessage(UserDefinedAggregateFunction.DataViewSpec.MapView)

UserDefinedAggregateFunctions = _reflection.GeneratedProtocolMessageType('UserDefinedAggregateFunctions', (_message.Message,), dict(
  DESCRIPTOR = _USERDEFINEDAGGREGATEFUNCTIONS,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.UserDefinedAggregateFunctions)
  ))
_sym_db.RegisterMessage(UserDefinedAggregateFunctions)

Schema = _reflection.GeneratedProtocolMessageType('Schema', (_message.Message,), dict(

  MapInfo = _reflection.GeneratedProtocolMessageType('MapInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_MAPINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.MapInfo)
    ))
  ,

  TimeInfo = _reflection.GeneratedProtocolMessageType('TimeInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_TIMEINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.TimeInfo)
    ))
  ,

  TimestampInfo = _reflection.GeneratedProtocolMessageType('TimestampInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_TIMESTAMPINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.TimestampInfo)
    ))
  ,

  LocalZonedTimestampInfo = _reflection.GeneratedProtocolMessageType('LocalZonedTimestampInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_LOCALZONEDTIMESTAMPINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.LocalZonedTimestampInfo)
    ))
  ,

  ZonedTimestampInfo = _reflection.GeneratedProtocolMessageType('ZonedTimestampInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_ZONEDTIMESTAMPINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.ZonedTimestampInfo)
    ))
  ,

  DecimalInfo = _reflection.GeneratedProtocolMessageType('DecimalInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_DECIMALINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.DecimalInfo)
    ))
  ,

  BinaryInfo = _reflection.GeneratedProtocolMessageType('BinaryInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_BINARYINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.BinaryInfo)
    ))
  ,

  VarBinaryInfo = _reflection.GeneratedProtocolMessageType('VarBinaryInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_VARBINARYINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.VarBinaryInfo)
    ))
  ,

  CharInfo = _reflection.GeneratedProtocolMessageType('CharInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_CHARINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.CharInfo)
    ))
  ,

  VarCharInfo = _reflection.GeneratedProtocolMessageType('VarCharInfo', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_VARCHARINFO,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.VarCharInfo)
    ))
  ,

  FieldType = _reflection.GeneratedProtocolMessageType('FieldType', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_FIELDTYPE,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.FieldType)
    ))
  ,

  Field = _reflection.GeneratedProtocolMessageType('Field', (_message.Message,), dict(
    DESCRIPTOR = _SCHEMA_FIELD,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema.Field)
    ))
  ,
  DESCRIPTOR = _SCHEMA,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.Schema)
  ))
_sym_db.RegisterMessage(Schema)
_sym_db.RegisterMessage(Schema.MapInfo)
_sym_db.RegisterMessage(Schema.TimeInfo)
_sym_db.RegisterMessage(Schema.TimestampInfo)
_sym_db.RegisterMessage(Schema.LocalZonedTimestampInfo)
_sym_db.RegisterMessage(Schema.ZonedTimestampInfo)
_sym_db.RegisterMessage(Schema.DecimalInfo)
_sym_db.RegisterMessage(Schema.BinaryInfo)
_sym_db.RegisterMessage(Schema.VarBinaryInfo)
_sym_db.RegisterMessage(Schema.CharInfo)
_sym_db.RegisterMessage(Schema.VarCharInfo)
_sym_db.RegisterMessage(Schema.FieldType)
_sym_db.RegisterMessage(Schema.Field)

TypeInfo = _reflection.GeneratedProtocolMessageType('TypeInfo', (_message.Message,), dict(

  FieldType = _reflection.GeneratedProtocolMessageType('FieldType', (_message.Message,), dict(
    DESCRIPTOR = _TYPEINFO_FIELDTYPE,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.TypeInfo.FieldType)
    ))
  ,

  Field = _reflection.GeneratedProtocolMessageType('Field', (_message.Message,), dict(
    DESCRIPTOR = _TYPEINFO_FIELD,
    __module__ = 'flink_fn_execution_pb2'
    # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.TypeInfo.Field)
    ))
  ,
  DESCRIPTOR = _TYPEINFO,
  __module__ = 'flink_fn_execution_pb2'
  # @@protoc_insertion_point(class_scope:org.apache.flink.fn_execution.v1.TypeInfo)
  ))
_sym_db.RegisterMessage(TypeInfo)
_sym_db.RegisterMessage(TypeInfo.FieldType)
_sym_db.RegisterMessage(TypeInfo.Field)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\037org.apache.flink.fnexecution.v1B\nFlinkFnApi'))
# @@protoc_insertion_point(module_scope)
