# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: mysqlx_crud.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
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()


from mysqlx.protobuf import mysqlx_expr_pb2 as mysqlx__expr__pb2
from mysqlx.protobuf import mysqlx_datatypes_pb2 as mysqlx__datatypes__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='mysqlx_crud.proto',
  package='Mysqlx.Crud',
  syntax='proto3',
  serialized_pb=_b('\n\x11mysqlx_crud.proto\x12\x0bMysqlx.Crud\x1a\x11mysqlx_expr.proto\x1a\x16mysqlx_datatypes.proto\"[\n\x06\x43olumn\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x34\n\rdocument_path\x18\x03 \x03(\x0b\x32\x1d.Mysqlx.Expr.DocumentPathItem\">\n\nProjection\x12!\n\x06source\x18\x01 \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"*\n\nCollection\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\"*\n\x05Limit\x12\x11\n\trow_count\x18\x01 \x01(\x04\x12\x0e\n\x06offset\x18\x02 \x01(\x04\"\x83\x01\n\x05Order\x12\x1f\n\x04\x65xpr\x18\x01 \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\x12/\n\tdirection\x18\x02 \x01(\x0e\x32\x1c.Mysqlx.Crud.Order.Direction\"(\n\tDirection\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41SC\x10\x01\x12\x08\n\x04\x44\x45SC\x10\x02\"\xa5\x02\n\x0fUpdateOperation\x12-\n\x06source\x18\x01 \x01(\x0b\x32\x1d.Mysqlx.Expr.ColumnIdentifier\x12:\n\toperation\x18\x02 \x01(\x0e\x32\'.Mysqlx.Crud.UpdateOperation.UpdateType\x12 \n\x05value\x18\x03 \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\"\x84\x01\n\nUpdateType\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03SET\x10\x01\x12\x0f\n\x0bITEM_REMOVE\x10\x02\x12\x0c\n\x08ITEM_SET\x10\x03\x12\x10\n\x0cITEM_REPLACE\x10\x04\x12\x0e\n\nITEM_MERGE\x10\x05\x12\x10\n\x0c\x41RRAY_INSERT\x10\x06\x12\x10\n\x0c\x41RRAY_APPEND\x10\x07\"\xf2\x02\n\x04\x46ind\x12+\n\ncollection\x18\x02 \x01(\x0b\x32\x17.Mysqlx.Crud.Collection\x12*\n\ndata_model\x18\x03 \x01(\x0e\x32\x16.Mysqlx.Crud.DataModel\x12+\n\nprojection\x18\x04 \x03(\x0b\x32\x17.Mysqlx.Crud.Projection\x12#\n\x08\x63riteria\x18\x05 \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\x12&\n\x04\x61rgs\x18\x0b \x03(\x0b\x32\x18.Mysqlx.Datatypes.Scalar\x12!\n\x05limit\x18\x06 \x01(\x0b\x32\x12.Mysqlx.Crud.Limit\x12!\n\x05order\x18\x07 \x03(\x0b\x32\x12.Mysqlx.Crud.Order\x12#\n\x08grouping\x18\x08 \x03(\x0b\x32\x11.Mysqlx.Expr.Expr\x12,\n\x11grouping_criteria\x18\t \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\"\x8b\x02\n\x06Insert\x12+\n\ncollection\x18\x01 \x01(\x0b\x32\x17.Mysqlx.Crud.Collection\x12*\n\ndata_model\x18\x02 \x01(\x0e\x32\x16.Mysqlx.Crud.DataModel\x12\'\n\nprojection\x18\x03 \x03(\x0b\x32\x13.Mysqlx.Crud.Column\x12)\n\x03row\x18\x04 \x03(\x0b\x32\x1c.Mysqlx.Crud.Insert.TypedRow\x12&\n\x04\x61rgs\x18\x05 \x03(\x0b\x32\x18.Mysqlx.Datatypes.Scalar\x1a,\n\x08TypedRow\x12 \n\x05\x66ield\x18\x01 \x03(\x0b\x32\x11.Mysqlx.Expr.Expr\"\xa5\x02\n\x06Update\x12+\n\ncollection\x18\x02 \x01(\x0b\x32\x17.Mysqlx.Crud.Collection\x12*\n\ndata_model\x18\x03 \x01(\x0e\x32\x16.Mysqlx.Crud.DataModel\x12#\n\x08\x63riteria\x18\x04 \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\x12&\n\x04\x61rgs\x18\x08 \x03(\x0b\x32\x18.Mysqlx.Datatypes.Scalar\x12!\n\x05limit\x18\x05 \x01(\x0b\x32\x12.Mysqlx.Crud.Limit\x12!\n\x05order\x18\x06 \x03(\x0b\x32\x12.Mysqlx.Crud.Order\x12/\n\toperation\x18\x07 \x03(\x0b\x32\x1c.Mysqlx.Crud.UpdateOperation\"\xf4\x01\n\x06\x44\x65lete\x12+\n\ncollection\x18\x01 \x01(\x0b\x32\x17.Mysqlx.Crud.Collection\x12*\n\ndata_model\x18\x02 \x01(\x0e\x32\x16.Mysqlx.Crud.DataModel\x12#\n\x08\x63riteria\x18\x03 \x01(\x0b\x32\x11.Mysqlx.Expr.Expr\x12&\n\x04\x61rgs\x18\x06 \x03(\x0b\x32\x18.Mysqlx.Datatypes.Scalar\x12!\n\x05limit\x18\x04 \x01(\x0b\x32\x12.Mysqlx.Crud.Limit\x12!\n\x05order\x18\x05 \x03(\x0b\x32\x12.Mysqlx.Crud.Order*.\n\tDataModel\x12\x08\n\x04NONE\x10\x00\x12\x0c\n\x08\x44OCUMENT\x10\x01\x12\t\n\x05TABLE\x10\x02\x42\x1e\n\x1c\x63om.mysql.cj.mysqlx.protobufb\x06proto3')
  ,
  dependencies=[mysqlx__expr__pb2.DESCRIPTOR,mysqlx__datatypes__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_DATAMODEL = _descriptor.EnumDescriptor(
  name='DataModel',
  full_name='Mysqlx.Crud.DataModel',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOCUMENT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TABLE', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1938,
  serialized_end=1984,
)
_sym_db.RegisterEnumDescriptor(_DATAMODEL)

DataModel = enum_type_wrapper.EnumTypeWrapper(_DATAMODEL)
NONE = 0
DOCUMENT = 1
TABLE = 2


_ORDER_DIRECTION = _descriptor.EnumDescriptor(
  name='Direction',
  full_name='Mysqlx.Crud.Order.Direction',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ASC', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DESC', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=414,
  serialized_end=454,
)
_sym_db.RegisterEnumDescriptor(_ORDER_DIRECTION)

_UPDATEOPERATION_UPDATETYPE = _descriptor.EnumDescriptor(
  name='UpdateType',
  full_name='Mysqlx.Crud.UpdateOperation.UpdateType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SET', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ITEM_REMOVE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ITEM_SET', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ITEM_REPLACE', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ITEM_MERGE', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARRAY_INSERT', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARRAY_APPEND', index=7, number=7,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=618,
  serialized_end=750,
)
_sym_db.RegisterEnumDescriptor(_UPDATEOPERATION_UPDATETYPE)


_COLUMN = _descriptor.Descriptor(
  name='Column',
  full_name='Mysqlx.Crud.Column',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='Mysqlx.Crud.Column.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),
    _descriptor.FieldDescriptor(
      name='alias', full_name='Mysqlx.Crud.Column.alias', 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),
    _descriptor.FieldDescriptor(
      name='document_path', full_name='Mysqlx.Crud.Column.document_path', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=77,
  serialized_end=168,
)


_PROJECTION = _descriptor.Descriptor(
  name='Projection',
  full_name='Mysqlx.Crud.Projection',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='Mysqlx.Crud.Projection.source', 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),
    _descriptor.FieldDescriptor(
      name='alias', full_name='Mysqlx.Crud.Projection.alias', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=170,
  serialized_end=232,
)


_COLLECTION = _descriptor.Descriptor(
  name='Collection',
  full_name='Mysqlx.Crud.Collection',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='Mysqlx.Crud.Collection.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),
    _descriptor.FieldDescriptor(
      name='schema', full_name='Mysqlx.Crud.Collection.schema', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=234,
  serialized_end=276,
)


_LIMIT = _descriptor.Descriptor(
  name='Limit',
  full_name='Mysqlx.Crud.Limit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='row_count', full_name='Mysqlx.Crud.Limit.row_count', index=0,
      number=1, type=4, cpp_type=4, 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),
    _descriptor.FieldDescriptor(
      name='offset', full_name='Mysqlx.Crud.Limit.offset', index=1,
      number=2, type=4, cpp_type=4, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=278,
  serialized_end=320,
)


_ORDER = _descriptor.Descriptor(
  name='Order',
  full_name='Mysqlx.Crud.Order',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='expr', full_name='Mysqlx.Crud.Order.expr', 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),
    _descriptor.FieldDescriptor(
      name='direction', full_name='Mysqlx.Crud.Order.direction', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _ORDER_DIRECTION,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=323,
  serialized_end=454,
)


_UPDATEOPERATION = _descriptor.Descriptor(
  name='UpdateOperation',
  full_name='Mysqlx.Crud.UpdateOperation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='Mysqlx.Crud.UpdateOperation.source', 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),
    _descriptor.FieldDescriptor(
      name='operation', full_name='Mysqlx.Crud.UpdateOperation.operation', index=1,
      number=2, 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),
    _descriptor.FieldDescriptor(
      name='value', full_name='Mysqlx.Crud.UpdateOperation.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _UPDATEOPERATION_UPDATETYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=457,
  serialized_end=750,
)


_FIND = _descriptor.Descriptor(
  name='Find',
  full_name='Mysqlx.Crud.Find',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='collection', full_name='Mysqlx.Crud.Find.collection', index=0,
      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),
    _descriptor.FieldDescriptor(
      name='data_model', full_name='Mysqlx.Crud.Find.data_model', index=1,
      number=3, 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),
    _descriptor.FieldDescriptor(
      name='projection', full_name='Mysqlx.Crud.Find.projection', index=2,
      number=4, 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),
    _descriptor.FieldDescriptor(
      name='criteria', full_name='Mysqlx.Crud.Find.criteria', index=3,
      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),
    _descriptor.FieldDescriptor(
      name='args', full_name='Mysqlx.Crud.Find.args', index=4,
      number=11, 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),
    _descriptor.FieldDescriptor(
      name='limit', full_name='Mysqlx.Crud.Find.limit', 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),
    _descriptor.FieldDescriptor(
      name='order', full_name='Mysqlx.Crud.Find.order', 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),
    _descriptor.FieldDescriptor(
      name='grouping', full_name='Mysqlx.Crud.Find.grouping', index=7,
      number=8, 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),
    _descriptor.FieldDescriptor(
      name='grouping_criteria', full_name='Mysqlx.Crud.Find.grouping_criteria', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=753,
  serialized_end=1123,
)


_INSERT_TYPEDROW = _descriptor.Descriptor(
  name='TypedRow',
  full_name='Mysqlx.Crud.Insert.TypedRow',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='field', full_name='Mysqlx.Crud.Insert.TypedRow.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1349,
  serialized_end=1393,
)

_INSERT = _descriptor.Descriptor(
  name='Insert',
  full_name='Mysqlx.Crud.Insert',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='collection', full_name='Mysqlx.Crud.Insert.collection', 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),
    _descriptor.FieldDescriptor(
      name='data_model', full_name='Mysqlx.Crud.Insert.data_model', index=1,
      number=2, 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),
    _descriptor.FieldDescriptor(
      name='projection', full_name='Mysqlx.Crud.Insert.projection', 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),
    _descriptor.FieldDescriptor(
      name='row', full_name='Mysqlx.Crud.Insert.row', index=3,
      number=4, 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),
    _descriptor.FieldDescriptor(
      name='args', full_name='Mysqlx.Crud.Insert.args', index=4,
      number=5, 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),
  ],
  extensions=[
  ],
  nested_types=[_INSERT_TYPEDROW, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1126,
  serialized_end=1393,
)


_UPDATE = _descriptor.Descriptor(
  name='Update',
  full_name='Mysqlx.Crud.Update',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='collection', full_name='Mysqlx.Crud.Update.collection', index=0,
      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),
    _descriptor.FieldDescriptor(
      name='data_model', full_name='Mysqlx.Crud.Update.data_model', index=1,
      number=3, 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),
    _descriptor.FieldDescriptor(
      name='criteria', full_name='Mysqlx.Crud.Update.criteria', index=2,
      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),
    _descriptor.FieldDescriptor(
      name='args', full_name='Mysqlx.Crud.Update.args', index=3,
      number=8, 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),
    _descriptor.FieldDescriptor(
      name='limit', full_name='Mysqlx.Crud.Update.limit', 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),
    _descriptor.FieldDescriptor(
      name='order', full_name='Mysqlx.Crud.Update.order', index=5,
      number=6, 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),
    _descriptor.FieldDescriptor(
      name='operation', full_name='Mysqlx.Crud.Update.operation', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1396,
  serialized_end=1689,
)


_DELETE = _descriptor.Descriptor(
  name='Delete',
  full_name='Mysqlx.Crud.Delete',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='collection', full_name='Mysqlx.Crud.Delete.collection', 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),
    _descriptor.FieldDescriptor(
      name='data_model', full_name='Mysqlx.Crud.Delete.data_model', index=1,
      number=2, 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),
    _descriptor.FieldDescriptor(
      name='criteria', full_name='Mysqlx.Crud.Delete.criteria', 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),
    _descriptor.FieldDescriptor(
      name='args', full_name='Mysqlx.Crud.Delete.args', index=3,
      number=6, 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),
    _descriptor.FieldDescriptor(
      name='limit', full_name='Mysqlx.Crud.Delete.limit', index=4,
      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),
    _descriptor.FieldDescriptor(
      name='order', full_name='Mysqlx.Crud.Delete.order', index=5,
      number=5, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1692,
  serialized_end=1936,
)

_COLUMN.fields_by_name['document_path'].message_type = mysqlx__expr__pb2._DOCUMENTPATHITEM
_PROJECTION.fields_by_name['source'].message_type = mysqlx__expr__pb2._EXPR
_ORDER.fields_by_name['expr'].message_type = mysqlx__expr__pb2._EXPR
_ORDER.fields_by_name['direction'].enum_type = _ORDER_DIRECTION
_ORDER_DIRECTION.containing_type = _ORDER
_UPDATEOPERATION.fields_by_name['source'].message_type = mysqlx__expr__pb2._COLUMNIDENTIFIER
_UPDATEOPERATION.fields_by_name['operation'].enum_type = _UPDATEOPERATION_UPDATETYPE
_UPDATEOPERATION.fields_by_name['value'].message_type = mysqlx__expr__pb2._EXPR
_UPDATEOPERATION_UPDATETYPE.containing_type = _UPDATEOPERATION
_FIND.fields_by_name['collection'].message_type = _COLLECTION
_FIND.fields_by_name['data_model'].enum_type = _DATAMODEL
_FIND.fields_by_name['projection'].message_type = _PROJECTION
_FIND.fields_by_name['criteria'].message_type = mysqlx__expr__pb2._EXPR
_FIND.fields_by_name['args'].message_type = mysqlx__datatypes__pb2._SCALAR
_FIND.fields_by_name['limit'].message_type = _LIMIT
_FIND.fields_by_name['order'].message_type = _ORDER
_FIND.fields_by_name['grouping'].message_type = mysqlx__expr__pb2._EXPR
_FIND.fields_by_name['grouping_criteria'].message_type = mysqlx__expr__pb2._EXPR
_INSERT_TYPEDROW.fields_by_name['field'].message_type = mysqlx__expr__pb2._EXPR
_INSERT_TYPEDROW.containing_type = _INSERT
_INSERT.fields_by_name['collection'].message_type = _COLLECTION
_INSERT.fields_by_name['data_model'].enum_type = _DATAMODEL
_INSERT.fields_by_name['projection'].message_type = _COLUMN
_INSERT.fields_by_name['row'].message_type = _INSERT_TYPEDROW
_INSERT.fields_by_name['args'].message_type = mysqlx__datatypes__pb2._SCALAR
_UPDATE.fields_by_name['collection'].message_type = _COLLECTION
_UPDATE.fields_by_name['data_model'].enum_type = _DATAMODEL
_UPDATE.fields_by_name['criteria'].message_type = mysqlx__expr__pb2._EXPR
_UPDATE.fields_by_name['args'].message_type = mysqlx__datatypes__pb2._SCALAR
_UPDATE.fields_by_name['limit'].message_type = _LIMIT
_UPDATE.fields_by_name['order'].message_type = _ORDER
_UPDATE.fields_by_name['operation'].message_type = _UPDATEOPERATION
_DELETE.fields_by_name['collection'].message_type = _COLLECTION
_DELETE.fields_by_name['data_model'].enum_type = _DATAMODEL
_DELETE.fields_by_name['criteria'].message_type = mysqlx__expr__pb2._EXPR
_DELETE.fields_by_name['args'].message_type = mysqlx__datatypes__pb2._SCALAR
_DELETE.fields_by_name['limit'].message_type = _LIMIT
_DELETE.fields_by_name['order'].message_type = _ORDER
DESCRIPTOR.message_types_by_name['Column'] = _COLUMN
DESCRIPTOR.message_types_by_name['Projection'] = _PROJECTION
DESCRIPTOR.message_types_by_name['Collection'] = _COLLECTION
DESCRIPTOR.message_types_by_name['Limit'] = _LIMIT
DESCRIPTOR.message_types_by_name['Order'] = _ORDER
DESCRIPTOR.message_types_by_name['UpdateOperation'] = _UPDATEOPERATION
DESCRIPTOR.message_types_by_name['Find'] = _FIND
DESCRIPTOR.message_types_by_name['Insert'] = _INSERT
DESCRIPTOR.message_types_by_name['Update'] = _UPDATE
DESCRIPTOR.message_types_by_name['Delete'] = _DELETE
DESCRIPTOR.enum_types_by_name['DataModel'] = _DATAMODEL

Column = _reflection.GeneratedProtocolMessageType('Column', (_message.Message,), dict(
  DESCRIPTOR = _COLUMN,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Column)
  ))
_sym_db.RegisterMessage(Column)

Projection = _reflection.GeneratedProtocolMessageType('Projection', (_message.Message,), dict(
  DESCRIPTOR = _PROJECTION,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Projection)
  ))
_sym_db.RegisterMessage(Projection)

Collection = _reflection.GeneratedProtocolMessageType('Collection', (_message.Message,), dict(
  DESCRIPTOR = _COLLECTION,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Collection)
  ))
_sym_db.RegisterMessage(Collection)

Limit = _reflection.GeneratedProtocolMessageType('Limit', (_message.Message,), dict(
  DESCRIPTOR = _LIMIT,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Limit)
  ))
_sym_db.RegisterMessage(Limit)

Order = _reflection.GeneratedProtocolMessageType('Order', (_message.Message,), dict(
  DESCRIPTOR = _ORDER,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Order)
  ))
_sym_db.RegisterMessage(Order)

UpdateOperation = _reflection.GeneratedProtocolMessageType('UpdateOperation', (_message.Message,), dict(
  DESCRIPTOR = _UPDATEOPERATION,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.UpdateOperation)
  ))
_sym_db.RegisterMessage(UpdateOperation)

Find = _reflection.GeneratedProtocolMessageType('Find', (_message.Message,), dict(
  DESCRIPTOR = _FIND,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Find)
  ))
_sym_db.RegisterMessage(Find)

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

  TypedRow = _reflection.GeneratedProtocolMessageType('TypedRow', (_message.Message,), dict(
    DESCRIPTOR = _INSERT_TYPEDROW,
    __module__ = 'mysqlx_crud_pb2'
    # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Insert.TypedRow)
    ))
  ,
  DESCRIPTOR = _INSERT,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Insert)
  ))
_sym_db.RegisterMessage(Insert)
_sym_db.RegisterMessage(Insert.TypedRow)

Update = _reflection.GeneratedProtocolMessageType('Update', (_message.Message,), dict(
  DESCRIPTOR = _UPDATE,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Update)
  ))
_sym_db.RegisterMessage(Update)

Delete = _reflection.GeneratedProtocolMessageType('Delete', (_message.Message,), dict(
  DESCRIPTOR = _DELETE,
  __module__ = 'mysqlx_crud_pb2'
  # @@protoc_insertion_point(class_scope:Mysqlx.Crud.Delete)
  ))
_sym_db.RegisterMessage(Delete)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.mysql.cj.mysqlx.protobuf'))
# @@protoc_insertion_point(module_scope)
