# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: capsule8/api/v0/expression.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 google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='capsule8/api/v0/expression.proto',
  package='capsule8.api.v0',
  syntax='proto3',
  serialized_pb=_b('\n capsule8/api/v0/expression.proto\x12\x0f\x63\x61psule8.api.v0\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe9\x01\n\x05Value\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.capsule8.api.v0.ValueType\x12\x16\n\x0csigned_value\x18\n \x01(\x12H\x00\x12\x18\n\x0eunsigned_value\x18\x0b \x01(\x04H\x00\x12\x16\n\x0cstring_value\x18\x0c \x01(\tH\x00\x12\x14\n\nbool_value\x18\r \x01(\x08H\x00\x12\x16\n\x0c\x64ouble_value\x18\x0e \x01(\x01H\x00\x12\x35\n\x0ftimestamp_value\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x42\x07\n\x05value\"^\n\x08\x42inaryOp\x12(\n\x03lhs\x18\x01 \x01(\x0b\x32\x1b.capsule8.api.v0.Expression\x12(\n\x03rhs\x18\x02 \x01(\x0b\x32\x1b.capsule8.api.v0.Expression\"\xc6\x03\n\nExpression\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.capsule8.api.v0.Expression.ExpressionType\x12\x14\n\nidentifier\x18\n \x01(\tH\x00\x12\'\n\x05value\x18\x0b \x01(\x0b\x32\x16.capsule8.api.v0.ValueH\x00\x12.\n\tbinary_op\x18\x0c \x01(\x0b\x32\x19.capsule8.api.v0.BinaryOpH\x00\x12/\n\x08unary_op\x18\r \x01(\x0b\x32\x1b.capsule8.api.v0.ExpressionH\x00\"\xd5\x01\n\x0e\x45xpressionType\x12\x1e\n\x1a\x45XPRESSIONTYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nIDENTIFIER\x10\x01\x12\t\n\x05VALUE\x10\x02\x12\x0f\n\x0bLOGICAL_AND\x10\n\x12\x0e\n\nLOGICAL_OR\x10\x0b\x12\x06\n\x02\x45Q\x10\x14\x12\x06\n\x02NE\x10\x15\x12\x06\n\x02LT\x10\x16\x12\x06\n\x02LE\x10\x17\x12\x06\n\x02GT\x10\x18\x12\x06\n\x02GE\x10\x19\x12\x08\n\x04LIKE\x10\x1a\x12\x0b\n\x07IS_NULL\x10\x1b\x12\x0f\n\x0bIS_NOT_NULL\x10\x1c\x12\x0f\n\x0b\x42ITWISE_AND\x10\x1e\x42\x06\n\x04\x65xpr*\xb5\x01\n\tValueType\x12\x19\n\x15VALUETYPE_UNSPECIFIED\x10\x00\x12\n\n\x06STRING\x10\x01\x12\t\n\x05SINT8\x10\x02\x12\n\n\x06SINT16\x10\x03\x12\n\n\x06SINT32\x10\x04\x12\n\n\x06SINT64\x10\x05\x12\t\n\x05UINT8\x10\x06\x12\n\n\x06UINT16\x10\x07\x12\n\n\x06UINT32\x10\x08\x12\n\n\x06UINT64\x10\t\x12\x08\n\x04\x42OOL\x10\n\x12\n\n\x06\x44OUBLE\x10\x0b\x12\r\n\tTIMESTAMP\x10\x0c\x62\x06proto3')
  ,
  dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])

_VALUETYPE = _descriptor.EnumDescriptor(
  name='ValueType',
  full_name='capsule8.api.v0.ValueType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='VALUETYPE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STRING', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SINT8', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SINT16', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SINT32', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SINT64', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UINT8', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UINT16', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UINT32', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UINT64', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOL', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOUBLE', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TIMESTAMP', index=12, number=12,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=876,
  serialized_end=1057,
)
_sym_db.RegisterEnumDescriptor(_VALUETYPE)

ValueType = enum_type_wrapper.EnumTypeWrapper(_VALUETYPE)
VALUETYPE_UNSPECIFIED = 0
STRING = 1
SINT8 = 2
SINT16 = 3
SINT32 = 4
SINT64 = 5
UINT8 = 6
UINT16 = 7
UINT32 = 8
UINT64 = 9
BOOL = 10
DOUBLE = 11
TIMESTAMP = 12


_EXPRESSION_EXPRESSIONTYPE = _descriptor.EnumDescriptor(
  name='ExpressionType',
  full_name='capsule8.api.v0.Expression.ExpressionType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EXPRESSIONTYPE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IDENTIFIER', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VALUE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOGICAL_AND', index=3, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOGICAL_OR', index=4, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EQ', index=5, number=20,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NE', index=6, number=21,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LT', index=7, number=22,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LE', index=8, number=23,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GT', index=9, number=24,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GE', index=10, number=25,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LIKE', index=11, number=26,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IS_NULL', index=12, number=27,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IS_NOT_NULL', index=13, number=28,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BITWISE_AND', index=14, number=30,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=652,
  serialized_end=865,
)
_sym_db.RegisterEnumDescriptor(_EXPRESSION_EXPRESSIONTYPE)


_VALUE = _descriptor.Descriptor(
  name='Value',
  full_name='capsule8.api.v0.Value',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='capsule8.api.v0.Value.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='signed_value', full_name='capsule8.api.v0.Value.signed_value', index=1,
      number=10, type=18, 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='unsigned_value', full_name='capsule8.api.v0.Value.unsigned_value', index=2,
      number=11, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='string_value', full_name='capsule8.api.v0.Value.string_value', index=3,
      number=12, 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='bool_value', full_name='capsule8.api.v0.Value.bool_value', index=4,
      number=13, 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='double_value', full_name='capsule8.api.v0.Value.double_value', index=5,
      number=14, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timestamp_value', full_name='capsule8.api.v0.Value.timestamp_value', index=6,
      number=15, 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='value', full_name='capsule8.api.v0.Value.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=87,
  serialized_end=320,
)


_BINARYOP = _descriptor.Descriptor(
  name='BinaryOp',
  full_name='capsule8.api.v0.BinaryOp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='lhs', full_name='capsule8.api.v0.BinaryOp.lhs', 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='rhs', full_name='capsule8.api.v0.BinaryOp.rhs', 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=322,
  serialized_end=416,
)


_EXPRESSION = _descriptor.Descriptor(
  name='Expression',
  full_name='capsule8.api.v0.Expression',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='capsule8.api.v0.Expression.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='identifier', full_name='capsule8.api.v0.Expression.identifier', index=1,
      number=10, 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='capsule8.api.v0.Expression.value', index=2,
      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='binary_op', full_name='capsule8.api.v0.Expression.binary_op', index=3,
      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='unary_op', full_name='capsule8.api.v0.Expression.unary_op', index=4,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _EXPRESSION_EXPRESSIONTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='expr', full_name='capsule8.api.v0.Expression.expr',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=419,
  serialized_end=873,
)

_VALUE.fields_by_name['type'].enum_type = _VALUETYPE
_VALUE.fields_by_name['timestamp_value'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['signed_value'])
_VALUE.fields_by_name['signed_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['unsigned_value'])
_VALUE.fields_by_name['unsigned_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['string_value'])
_VALUE.fields_by_name['string_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['bool_value'])
_VALUE.fields_by_name['bool_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['double_value'])
_VALUE.fields_by_name['double_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_VALUE.oneofs_by_name['value'].fields.append(
  _VALUE.fields_by_name['timestamp_value'])
_VALUE.fields_by_name['timestamp_value'].containing_oneof = _VALUE.oneofs_by_name['value']
_BINARYOP.fields_by_name['lhs'].message_type = _EXPRESSION
_BINARYOP.fields_by_name['rhs'].message_type = _EXPRESSION
_EXPRESSION.fields_by_name['type'].enum_type = _EXPRESSION_EXPRESSIONTYPE
_EXPRESSION.fields_by_name['value'].message_type = _VALUE
_EXPRESSION.fields_by_name['binary_op'].message_type = _BINARYOP
_EXPRESSION.fields_by_name['unary_op'].message_type = _EXPRESSION
_EXPRESSION_EXPRESSIONTYPE.containing_type = _EXPRESSION
_EXPRESSION.oneofs_by_name['expr'].fields.append(
  _EXPRESSION.fields_by_name['identifier'])
_EXPRESSION.fields_by_name['identifier'].containing_oneof = _EXPRESSION.oneofs_by_name['expr']
_EXPRESSION.oneofs_by_name['expr'].fields.append(
  _EXPRESSION.fields_by_name['value'])
_EXPRESSION.fields_by_name['value'].containing_oneof = _EXPRESSION.oneofs_by_name['expr']
_EXPRESSION.oneofs_by_name['expr'].fields.append(
  _EXPRESSION.fields_by_name['binary_op'])
_EXPRESSION.fields_by_name['binary_op'].containing_oneof = _EXPRESSION.oneofs_by_name['expr']
_EXPRESSION.oneofs_by_name['expr'].fields.append(
  _EXPRESSION.fields_by_name['unary_op'])
_EXPRESSION.fields_by_name['unary_op'].containing_oneof = _EXPRESSION.oneofs_by_name['expr']
DESCRIPTOR.message_types_by_name['Value'] = _VALUE
DESCRIPTOR.message_types_by_name['BinaryOp'] = _BINARYOP
DESCRIPTOR.message_types_by_name['Expression'] = _EXPRESSION
DESCRIPTOR.enum_types_by_name['ValueType'] = _VALUETYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict(
  DESCRIPTOR = _VALUE,
  __module__ = 'capsule8.api.v0.expression_pb2'
  # @@protoc_insertion_point(class_scope:capsule8.api.v0.Value)
  ))
_sym_db.RegisterMessage(Value)

BinaryOp = _reflection.GeneratedProtocolMessageType('BinaryOp', (_message.Message,), dict(
  DESCRIPTOR = _BINARYOP,
  __module__ = 'capsule8.api.v0.expression_pb2'
  # @@protoc_insertion_point(class_scope:capsule8.api.v0.BinaryOp)
  ))
_sym_db.RegisterMessage(BinaryOp)

Expression = _reflection.GeneratedProtocolMessageType('Expression', (_message.Message,), dict(
  DESCRIPTOR = _EXPRESSION,
  __module__ = 'capsule8.api.v0.expression_pb2'
  # @@protoc_insertion_point(class_scope:capsule8.api.v0.Expression)
  ))
_sym_db.RegisterMessage(Expression)


# @@protoc_insertion_point(module_scope)
