# Generated by the protocol buffer compiler.  DO NOT EDIT!

from google.protobuf import descriptor
from google.protobuf import message
from google.protobuf import reflection
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)



DESCRIPTOR = descriptor.FileDescriptor(
  name='rdb_protocol/query_language.proto',
  package='',
  serialized_pb='\n!rdb_protocol/query_language.proto\"L\n\x08TableRef\x12\x0f\n\x07\x64\x62_name\x18\x01 \x02(\t\x12\x12\n\ntable_name\x18\x02 \x02(\t\x12\x1b\n\x0cuse_outdated\x18\x03 \x01(\x08:\x05\x66\x61lse\"0\n\x0cVarTermTuple\x12\x0b\n\x03var\x18\x01 \x02(\t\x12\x13\n\x04term\x18\x02 \x02(\x0b\x32\x05.Term\"\xec\x06\n\x04Term\x12\x1c\n\x04type\x18\x01 \x02(\x0e\x32\x0e.Term.TermType\x12\x0b\n\x03var\x18\x02 \x01(\t\x12\x16\n\x03let\x18\x03 \x01(\x0b\x32\t.Term.Let\x12\x18\n\x04\x63\x61ll\x18\x04 \x01(\x0b\x32\n.Term.Call\x12\x15\n\x03if_\x18\x05 \x01(\x0b\x32\x08.Term.If\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x0e\n\x06number\x18\x07 \x01(\x01\x12\x13\n\x0bvaluestring\x18\x08 \x01(\t\x12\x12\n\njsonstring\x18\t \x01(\t\x12\x11\n\tvaluebool\x18\n \x01(\x08\x12\x14\n\x05\x61rray\x18\x0b \x03(\x0b\x32\x05.Term\x12\x1d\n\x06object\x18\x0c \x03(\x0b\x32\r.VarTermTuple\x12\"\n\nget_by_key\x18\x0e \x01(\x0b\x32\x0e.Term.GetByKey\x12\x1a\n\x05table\x18\x0f \x01(\x0b\x32\x0b.Term.Table\x12\x12\n\njavascript\x18\x10 \x01(\t\x1a\x38\n\x03Let\x12\x1c\n\x05\x62inds\x18\x01 \x03(\x0b\x32\r.VarTermTuple\x12\x13\n\x04\x65xpr\x18\x02 \x02(\x0b\x32\x05.Term\x1a\x36\n\x04\x43\x61ll\x12\x19\n\x07\x62uiltin\x18\x01 \x02(\x0b\x32\x08.Builtin\x12\x13\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x05.Term\x1aR\n\x02If\x12\x13\n\x04test\x18\x01 \x02(\x0b\x32\x05.Term\x12\x1a\n\x0btrue_branch\x18\x02 \x02(\x0b\x32\x05.Term\x12\x1b\n\x0c\x66\x61lse_branch\x18\x03 \x02(\x0b\x32\x05.Term\x1aN\n\x08GetByKey\x12\x1c\n\ttable_ref\x18\x01 \x02(\x0b\x32\t.TableRef\x12\x10\n\x08\x61ttrname\x18\x02 \x02(\t\x12\x12\n\x03key\x18\x03 \x02(\x0b\x32\x05.Term\x1a%\n\x05Table\x12\x1c\n\ttable_ref\x18\x01 \x02(\x0b\x32\t.TableRef\"\xc6\x01\n\x08TermType\x12\r\n\tJSON_NULL\x10\x00\x12\x07\n\x03VAR\x10\x01\x12\x07\n\x03LET\x10\x02\x12\x08\n\x04\x43\x41LL\x10\x03\x12\x06\n\x02IF\x10\x04\x12\t\n\x05\x45RROR\x10\x05\x12\n\n\x06NUMBER\x10\x06\x12\n\n\x06STRING\x10\x07\x12\x08\n\x04JSON\x10\x08\x12\x08\n\x04\x42OOL\x10\t\x12\t\n\x05\x41RRAY\x10\n\x12\n\n\x06OBJECT\x10\x0b\x12\x0c\n\x08GETBYKEY\x10\x0c\x12\t\n\x05TABLE\x10\r\x12\x0e\n\nJAVASCRIPT\x10\x0e\x12\x10\n\x0cIMPLICIT_VAR\x10\x0f*\x06\x08\xe8\x07\x10\xcc\x08\"\xf7\t\n\x07\x42uiltin\x12\"\n\x04type\x18\x01 \x02(\x0e\x32\x14.Builtin.BuiltinType\x12\x0c\n\x04\x61ttr\x18\x02 \x01(\t\x12\r\n\x05\x61ttrs\x18\x03 \x03(\t\x12\'\n\ncomparison\x18\x04 \x01(\x0e\x32\x13.Builtin.Comparison\x12\x1f\n\x06\x66ilter\x18\x05 \x01(\x0b\x32\x0f.Builtin.Filter\x12\x19\n\x03map\x18\x06 \x01(\x0b\x32\x0c.Builtin.Map\x12&\n\nconcat_map\x18\x07 \x01(\x0b\x32\x12.Builtin.ConcatMap\x12\"\n\x08order_by\x18\x08 \x03(\x0b\x32\x10.Builtin.OrderBy\x12\x1a\n\x06reduce\x18\t \x01(\x0b\x32\n.Reduction\x12\x35\n\x12grouped_map_reduce\x18\n \x01(\x0b\x32\x19.Builtin.GroupedMapReduce\x12\x1d\n\x05range\x18\x0b \x01(\x0b\x32\x0e.Builtin.Range\x1a\'\n\x06\x46ilter\x12\x1d\n\tpredicate\x18\x01 \x02(\x0b\x32\n.Predicate\x1a \n\x03Map\x12\x19\n\x07mapping\x18\x01 \x02(\x0b\x32\x08.Mapping\x1a&\n\tConcatMap\x12\x19\n\x07mapping\x18\x01 \x02(\x0b\x32\x08.Mapping\x1a\x30\n\x07OrderBy\x12\x0c\n\x04\x61ttr\x18\x01 \x02(\t\x12\x17\n\tascending\x18\x02 \x01(\x08:\x04true\x1as\n\x10GroupedMapReduce\x12\x1f\n\rgroup_mapping\x18\x01 \x02(\x0b\x32\x08.Mapping\x12\x1f\n\rvalue_mapping\x18\x02 \x02(\x0b\x32\x08.Mapping\x12\x1d\n\treduction\x18\x03 \x02(\x0b\x32\n.Reduction\x1aO\n\x05Range\x12\x10\n\x08\x61ttrname\x18\x01 \x02(\t\x12\x19\n\nlowerbound\x18\x02 \x01(\x0b\x32\x05.Term\x12\x19\n\nupperbound\x18\x03 \x01(\x0b\x32\x05.Term\"\xde\x03\n\x0b\x42uiltinType\x12\x07\n\x03NOT\x10\x01\x12\x0b\n\x07GETATTR\x10\x02\x12\x14\n\x10IMPLICIT_GETATTR\x10\x03\x12\x0b\n\x07HASATTR\x10\x04\x12\x14\n\x10IMPLICIT_HASATTR\x10\x05\x12\r\n\tPICKATTRS\x10\x06\x12\x16\n\x12IMPLICIT_PICKATTRS\x10\x07\x12\x0c\n\x08MAPMERGE\x10\x08\x12\x0f\n\x0b\x41RRAYAPPEND\x10\t\x12\t\n\x05SLICE\x10\x0b\x12\x07\n\x03\x41\x44\x44\x10\x0e\x12\x0c\n\x08SUBTRACT\x10\x0f\x12\x0c\n\x08MULTIPLY\x10\x10\x12\n\n\x06\x44IVIDE\x10\x11\x12\n\n\x06MODULO\x10\x12\x12\x0b\n\x07\x43OMPARE\x10\x13\x12\n\n\x06\x46ILTER\x10\x14\x12\x07\n\x03MAP\x10\x15\x12\r\n\tCONCATMAP\x10\x16\x12\x0b\n\x07ORDERBY\x10\x17\x12\x0c\n\x08\x44ISTINCT\x10\x18\x12\n\n\x06LENGTH\x10\x1a\x12\t\n\x05UNION\x10\x1b\x12\x07\n\x03NTH\x10\x1c\x12\x11\n\rSTREAMTOARRAY\x10\x1d\x12\x11\n\rARRAYTOSTREAM\x10\x1e\x12\n\n\x06REDUCE\x10\x1f\x12\x14\n\x10GROUPEDMAPREDUCE\x10 \x12\x07\n\x03\x41NY\x10#\x12\x07\n\x03\x41LL\x10$\x12\t\n\x05RANGE\x10%\x12\x14\n\x10IMPLICIT_WITHOUT\x10&\x12\x0b\n\x07WITHOUT\x10\'\"<\n\nComparison\x12\x06\n\x02\x45Q\x10\x01\x12\x06\n\x02NE\x10\x02\x12\x06\n\x02LT\x10\x03\x12\x06\n\x02LE\x10\x04\x12\x06\n\x02GT\x10\x05\x12\x06\n\x02GE\x10\x06\"Q\n\tReduction\x12\x13\n\x04\x62\x61se\x18\x01 \x02(\x0b\x32\x05.Term\x12\x0c\n\x04var1\x18\x02 \x02(\t\x12\x0c\n\x04var2\x18\x03 \x02(\t\x12\x13\n\x04\x62ody\x18\x04 \x02(\x0b\x32\x05.Term\"3\n\x07Mapping\x12\x0b\n\x03\x61rg\x18\x01 \x02(\t\x12\x13\n\x04\x62ody\x18\x02 \x02(\x0b\x32\x05.Term*\x06\x08\xe8\x07\x10\xcc\x08\"-\n\tPredicate\x12\x0b\n\x03\x61rg\x18\x01 \x02(\t\x12\x13\n\x04\x62ody\x18\x02 \x02(\x0b\x32\x05.Term\"Q\n\tReadQuery\x12\x13\n\x04term\x18\x01 \x02(\x0b\x32\x05.Term\x12\x16\n\x0emax_chunk_size\x18\x02 \x01(\x03\x12\x0f\n\x07max_age\x18\x03 \x01(\x03*\x06\x08\xe8\x07\x10\xcc\x08\"\xfa\x08\n\nWriteQuery\x12(\n\x04type\x18\x01 \x02(\x0e\x32\x1a.WriteQuery.WriteQueryType\x12\x14\n\x06\x61tomic\x18\x0b \x01(\x08:\x04true\x12\"\n\x06update\x18\x02 \x01(\x0b\x32\x12.WriteQuery.Update\x12\"\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32\x12.WriteQuery.Delete\x12\"\n\x06mutate\x18\x04 \x01(\x0b\x32\x12.WriteQuery.Mutate\x12\"\n\x06insert\x18\x05 \x01(\x0b\x32\x12.WriteQuery.Insert\x12%\n\x08\x66or_each\x18\x07 \x01(\x0b\x32\x13.WriteQuery.ForEach\x12-\n\x0cpoint_update\x18\x08 \x01(\x0b\x32\x17.WriteQuery.PointUpdate\x12-\n\x0cpoint_delete\x18\t \x01(\x0b\x32\x17.WriteQuery.PointDelete\x12-\n\x0cpoint_mutate\x18\n \x01(\x0b\x32\x17.WriteQuery.PointMutate\x1a\x38\n\x06Update\x12\x13\n\x04view\x18\x01 \x02(\x0b\x32\x05.Term\x12\x19\n\x07mapping\x18\x02 \x02(\x0b\x32\x08.Mapping\x1a\x1d\n\x06\x44\x65lete\x12\x13\n\x04view\x18\x01 \x02(\x0b\x32\x05.Term\x1a\x38\n\x06Mutate\x12\x13\n\x04view\x18\x01 \x02(\x0b\x32\x05.Term\x12\x19\n\x07mapping\x18\x02 \x02(\x0b\x32\x08.Mapping\x1aV\n\x06Insert\x12\x1c\n\ttable_ref\x18\x01 \x02(\x0b\x32\t.TableRef\x12\x14\n\x05terms\x18\x02 \x03(\x0b\x32\x05.Term\x12\x18\n\toverwrite\x18\x03 \x01(\x08:\x05\x66\x61lse\x1aK\n\x07\x46orEach\x12\x15\n\x06stream\x18\x01 \x02(\x0b\x32\x05.Term\x12\x0b\n\x03var\x18\x02 \x02(\t\x12\x1c\n\x07queries\x18\x03 \x03(\x0b\x32\x0b.WriteQuery\x1al\n\x0bPointUpdate\x12\x1c\n\ttable_ref\x18\x01 \x02(\x0b\x32\t.TableRef\x12\x10\n\x08\x61ttrname\x18\x02 \x02(\t\x12\x12\n\x03key\x18\x03 \x02(\x0b\x32\x05.Term\x12\x19\n\x07mapping\x18\x04 \x02(\x0b\x32\x08.Mapping\x1aQ\n\x0bPointDelete\x12\x1c\n\ttable_ref\x18\x01 \x02(\x0b\x32\t.TableRef\x12\x10\n\x08\x61ttrname\x18\x02 \x02(\t\x12\x12\n\x03key\x18\x03 \x02(\x0b\x32\x05.Term\x1al\n\x0bPointMutate\x12\x1c\n\ttable_ref\x18\x01 \x02(\x0b\x32\t.TableRef\x12\x10\n\x08\x61ttrname\x18\x02 \x02(\t\x12\x12\n\x03key\x18\x03 \x02(\x0b\x32\x05.Term\x12\x19\n\x07mapping\x18\x04 \x02(\x0b\x32\x08.Mapping\"\x80\x01\n\x0eWriteQueryType\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\n\n\x06MUTATE\x10\x03\x12\n\n\x06INSERT\x10\x04\x12\x0b\n\x07\x46OREACH\x10\x06\x12\x0f\n\x0bPOINTUPDATE\x10\x07\x12\x0f\n\x0bPOINTDELETE\x10\x08\x12\x0f\n\x0bPOINTMUTATE\x10\t\"\xf9\x02\n\tMetaQuery\x12&\n\x04type\x18\x01 \x02(\x0e\x32\x18.MetaQuery.MetaQueryType\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12,\n\x0c\x63reate_table\x18\x03 \x01(\x0b\x32\x16.MetaQuery.CreateTable\x12\x1d\n\ndrop_table\x18\x04 \x01(\x0b\x32\t.TableRef\x1ax\n\x0b\x43reateTable\x12\x12\n\ndatacenter\x18\x01 \x01(\t\x12\x1c\n\ttable_ref\x18\x03 \x02(\x0b\x32\t.TableRef\x12\x17\n\x0bprimary_key\x18\x04 \x01(\t:\x02id\x12\x1e\n\ncache_size\x18\x05 \x01(\x03:\n1073741824\"l\n\rMetaQueryType\x12\r\n\tCREATE_DB\x10\x01\x12\x0b\n\x07\x44ROP_DB\x10\x02\x12\x0c\n\x08LIST_DBS\x10\x03\x12\x10\n\x0c\x43REATE_TABLE\x10\x04\x12\x0e\n\nDROP_TABLE\x10\x05\x12\x0f\n\x0bLIST_TABLES\x10\x06\"\xdc\x01\n\x05Query\x12\x1e\n\x04type\x18\x01 \x02(\x0e\x32\x10.Query.QueryType\x12\r\n\x05token\x18\x02 \x02(\x03\x12\x1e\n\nread_query\x18\x03 \x01(\x0b\x32\n.ReadQuery\x12 \n\x0bwrite_query\x18\x04 \x01(\x0b\x32\x0b.WriteQuery\x12\x1e\n\nmeta_query\x18\x05 \x01(\x0b\x32\n.MetaQuery\"B\n\tQueryType\x12\x08\n\x04READ\x10\x01\x12\t\n\x05WRITE\x10\x02\x12\x0c\n\x08\x43ONTINUE\x10\x03\x12\x08\n\x04STOP\x10\x04\x12\x08\n\x04META\x10\x05\"\xc3\x02\n\x08Response\x12)\n\x0bstatus_code\x18\x01 \x02(\x0e\x32\x14.Response.StatusCode\x12\r\n\x05token\x18\x02 \x02(\x03\x12\x10\n\x08response\x18\x03 \x03(\t\x12\x15\n\rerror_message\x18\x04 \x01(\t\x12&\n\tbacktrace\x18\x05 \x01(\x0b\x32\x13.Response.Backtrace\x1a\x1a\n\tBacktrace\x12\r\n\x05\x66rame\x18\x01 \x03(\t\"\x8f\x01\n\nStatusCode\x12\x11\n\rSUCCESS_EMPTY\x10\x00\x12\x10\n\x0cSUCCESS_JSON\x10\x01\x12\x13\n\x0fSUCCESS_PARTIAL\x10\x02\x12\x12\n\x0eSUCCESS_STREAM\x10\x03\x12\x11\n\rBROKEN_CLIENT\x10\x65\x12\r\n\tBAD_QUERY\x10\x66\x12\x11\n\rRUNTIME_ERROR\x10g')



_TERM_TERMTYPE = descriptor.EnumDescriptor(
  name='TermType',
  full_name='Term.TermType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='JSON_NULL', index=0, number=0,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='VAR', index=1, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='LET', index=2, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='CALL', index=3, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='IF', index=4, number=4,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ERROR', index=5, number=5,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='NUMBER', index=6, number=6,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='STRING', index=7, number=7,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='JSON', index=8, number=8,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='BOOL', index=9, number=9,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ARRAY', index=10, number=10,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='OBJECT', index=11, number=11,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='GETBYKEY', index=12, number=12,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='TABLE', index=13, number=13,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='JAVASCRIPT', index=14, number=14,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='IMPLICIT_VAR', index=15, number=15,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=836,
  serialized_end=1034,
)

_BUILTIN_BUILTINTYPE = descriptor.EnumDescriptor(
  name='BuiltinType',
  full_name='Builtin.BuiltinType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='NOT', index=0, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='GETATTR', index=1, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='IMPLICIT_GETATTR', index=2, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='HASATTR', index=3, number=4,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='IMPLICIT_HASATTR', index=4, number=5,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='PICKATTRS', index=5, number=6,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='IMPLICIT_PICKATTRS', index=6, number=7,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='MAPMERGE', index=7, number=8,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ARRAYAPPEND', index=8, number=9,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='SLICE', index=9, number=11,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ADD', index=10, number=14,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='SUBTRACT', index=11, number=15,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='MULTIPLY', index=12, number=16,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='DIVIDE', index=13, number=17,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='MODULO', index=14, number=18,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='COMPARE', index=15, number=19,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='FILTER', index=16, number=20,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='MAP', index=17, number=21,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='CONCATMAP', index=18, number=22,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ORDERBY', index=19, number=23,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='DISTINCT', index=20, number=24,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='LENGTH', index=21, number=26,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='UNION', index=22, number=27,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='NTH', index=23, number=28,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='STREAMTOARRAY', index=24, number=29,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ARRAYTOSTREAM', index=25, number=30,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='REDUCE', index=26, number=31,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='GROUPEDMAPREDUCE', index=27, number=32,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ANY', index=28, number=35,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='ALL', index=29, number=36,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='RANGE', index=30, number=37,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='IMPLICIT_WITHOUT', index=31, number=38,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='WITHOUT', index=32, number=39,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1776,
  serialized_end=2254,
)

_BUILTIN_COMPARISON = descriptor.EnumDescriptor(
  name='Comparison',
  full_name='Builtin.Comparison',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='EQ', index=0, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='NE', index=1, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='LT', index=2, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='LE', index=3, number=4,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='GT', index=4, number=5,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='GE', index=5, number=6,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2256,
  serialized_end=2316,
)

_WRITEQUERY_WRITEQUERYTYPE = descriptor.EnumDescriptor(
  name='WriteQueryType',
  full_name='WriteQuery.WriteQueryType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='UPDATE', index=0, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='DELETE', index=1, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='MUTATE', index=2, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='INSERT', index=3, number=4,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='FOREACH', index=4, number=6,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='POINTUPDATE', index=5, number=7,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='POINTDELETE', index=6, number=8,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='POINTMUTATE', index=7, number=9,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3603,
  serialized_end=3731,
)

_METAQUERY_METAQUERYTYPE = descriptor.EnumDescriptor(
  name='MetaQueryType',
  full_name='MetaQuery.MetaQueryType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='CREATE_DB', index=0, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='DROP_DB', index=1, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='LIST_DBS', index=2, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='CREATE_TABLE', index=3, number=4,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='DROP_TABLE', index=4, number=5,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='LIST_TABLES', index=5, number=6,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4003,
  serialized_end=4111,
)

_QUERY_QUERYTYPE = descriptor.EnumDescriptor(
  name='QueryType',
  full_name='Query.QueryType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='READ', index=0, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='WRITE', index=1, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='CONTINUE', index=2, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='STOP', index=3, number=4,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='META', index=4, number=5,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4268,
  serialized_end=4334,
)

_RESPONSE_STATUSCODE = descriptor.EnumDescriptor(
  name='StatusCode',
  full_name='Response.StatusCode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    descriptor.EnumValueDescriptor(
      name='SUCCESS_EMPTY', index=0, number=0,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='SUCCESS_JSON', index=1, number=1,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='SUCCESS_PARTIAL', index=2, number=2,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='SUCCESS_STREAM', index=3, number=3,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='BROKEN_CLIENT', index=4, number=101,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='BAD_QUERY', index=5, number=102,
      options=None,
      type=None),
    descriptor.EnumValueDescriptor(
      name='RUNTIME_ERROR', index=6, number=103,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4517,
  serialized_end=4660,
)


_TABLEREF = descriptor.Descriptor(
  name='TableRef',
  full_name='TableRef',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='db_name', full_name='TableRef.db_name', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='table_name', full_name='TableRef.table_name', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='use_outdated', full_name='TableRef.use_outdated', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  serialized_start=37,
  serialized_end=113,
)


_VARTERMTUPLE = descriptor.Descriptor(
  name='VarTermTuple',
  full_name='VarTermTuple',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='var', full_name='VarTermTuple.var', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='term', full_name='VarTermTuple.term', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=115,
  serialized_end=163,
)


_TERM_LET = descriptor.Descriptor(
  name='Let',
  full_name='Term.Let',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='binds', full_name='Term.Let.binds', 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),
    descriptor.FieldDescriptor(
      name='expr', full_name='Term.Let.expr', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=518,
  serialized_end=574,
)

_TERM_CALL = descriptor.Descriptor(
  name='Call',
  full_name='Term.Call',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='builtin', full_name='Term.Call.builtin', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='Term.Call.args', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=576,
  serialized_end=630,
)

_TERM_IF = descriptor.Descriptor(
  name='If',
  full_name='Term.If',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='test', full_name='Term.If.test', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='true_branch', full_name='Term.If.true_branch', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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='false_branch', full_name='Term.If.false_branch', index=2,
      number=3, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=632,
  serialized_end=714,
)

_TERM_GETBYKEY = descriptor.Descriptor(
  name='GetByKey',
  full_name='Term.GetByKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='table_ref', full_name='Term.GetByKey.table_ref', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='attrname', full_name='Term.GetByKey.attrname', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='key', full_name='Term.GetByKey.key', index=2,
      number=3, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=716,
  serialized_end=794,
)

_TERM_TABLE = descriptor.Descriptor(
  name='Table',
  full_name='Term.Table',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='table_ref', full_name='Term.Table.table_ref', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=796,
  serialized_end=833,
)

_TERM = descriptor.Descriptor(
  name='Term',
  full_name='Term',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='type', full_name='Term.type', index=0,
      number=1, type=14, cpp_type=8, label=2,
      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='var', full_name='Term.var', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='let', full_name='Term.let', 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='call', full_name='Term.call', 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),
    descriptor.FieldDescriptor(
      name='if_', full_name='Term.if_', 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='error', full_name='Term.error', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='number', full_name='Term.number', index=6,
      number=7, type=1, cpp_type=5, 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='valuestring', full_name='Term.valuestring', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='jsonstring', full_name='Term.jsonstring', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='valuebool', full_name='Term.valuebool', index=9,
      number=10, 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),
    descriptor.FieldDescriptor(
      name='array', full_name='Term.array', index=10,
      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='object', full_name='Term.object', index=11,
      number=12, 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='get_by_key', full_name='Term.get_by_key', index=12,
      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),
    descriptor.FieldDescriptor(
      name='table', full_name='Term.table', index=13,
      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),
    descriptor.FieldDescriptor(
      name='javascript', full_name='Term.javascript', index=14,
      number=16, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_TERM_LET, _TERM_CALL, _TERM_IF, _TERM_GETBYKEY, _TERM_TABLE, ],
  enum_types=[
    _TERM_TERMTYPE,
  ],
  options=None,
  is_extendable=True,
  extension_ranges=[(1000, 1100), ],
  serialized_start=166,
  serialized_end=1042,
)


_BUILTIN_FILTER = descriptor.Descriptor(
  name='Filter',
  full_name='Builtin.Filter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='predicate', full_name='Builtin.Filter.predicate', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=1412,
  serialized_end=1451,
)

_BUILTIN_MAP = descriptor.Descriptor(
  name='Map',
  full_name='Builtin.Map',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='mapping', full_name='Builtin.Map.mapping', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=1453,
  serialized_end=1485,
)

_BUILTIN_CONCATMAP = descriptor.Descriptor(
  name='ConcatMap',
  full_name='Builtin.ConcatMap',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='mapping', full_name='Builtin.ConcatMap.mapping', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=1487,
  serialized_end=1525,
)

_BUILTIN_ORDERBY = descriptor.Descriptor(
  name='OrderBy',
  full_name='Builtin.OrderBy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='attr', full_name='Builtin.OrderBy.attr', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='ascending', full_name='Builtin.OrderBy.ascending', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=True,
      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,
  extension_ranges=[],
  serialized_start=1527,
  serialized_end=1575,
)

_BUILTIN_GROUPEDMAPREDUCE = descriptor.Descriptor(
  name='GroupedMapReduce',
  full_name='Builtin.GroupedMapReduce',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='group_mapping', full_name='Builtin.GroupedMapReduce.group_mapping', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='value_mapping', full_name='Builtin.GroupedMapReduce.value_mapping', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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='reduction', full_name='Builtin.GroupedMapReduce.reduction', index=2,
      number=3, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=1577,
  serialized_end=1692,
)

_BUILTIN_RANGE = descriptor.Descriptor(
  name='Range',
  full_name='Builtin.Range',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='attrname', full_name='Builtin.Range.attrname', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='lowerbound', full_name='Builtin.Range.lowerbound', 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),
    descriptor.FieldDescriptor(
      name='upperbound', full_name='Builtin.Range.upperbound', 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=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=1694,
  serialized_end=1773,
)

_BUILTIN = descriptor.Descriptor(
  name='Builtin',
  full_name='Builtin',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='type', full_name='Builtin.type', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='attr', full_name='Builtin.attr', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='attrs', full_name='Builtin.attrs', index=2,
      number=3, type=9, cpp_type=9, 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='comparison', full_name='Builtin.comparison', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='filter', full_name='Builtin.filter', 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='map', full_name='Builtin.map', 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='concat_map', full_name='Builtin.concat_map', 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),
    descriptor.FieldDescriptor(
      name='order_by', full_name='Builtin.order_by', 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='reduce', full_name='Builtin.reduce', 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),
    descriptor.FieldDescriptor(
      name='grouped_map_reduce', full_name='Builtin.grouped_map_reduce', 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),
    descriptor.FieldDescriptor(
      name='range', full_name='Builtin.range', 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),
  ],
  extensions=[
  ],
  nested_types=[_BUILTIN_FILTER, _BUILTIN_MAP, _BUILTIN_CONCATMAP, _BUILTIN_ORDERBY, _BUILTIN_GROUPEDMAPREDUCE, _BUILTIN_RANGE, ],
  enum_types=[
    _BUILTIN_BUILTINTYPE,
    _BUILTIN_COMPARISON,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=1045,
  serialized_end=2316,
)


_REDUCTION = descriptor.Descriptor(
  name='Reduction',
  full_name='Reduction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='base', full_name='Reduction.base', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='var1', full_name='Reduction.var1', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='var2', full_name='Reduction.var2', index=2,
      number=3, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='body', full_name='Reduction.body', index=3,
      number=4, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=2318,
  serialized_end=2399,
)


_MAPPING = descriptor.Descriptor(
  name='Mapping',
  full_name='Mapping',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='arg', full_name='Mapping.arg', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='body', full_name='Mapping.body', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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=True,
  extension_ranges=[(1000, 1100), ],
  serialized_start=2401,
  serialized_end=2452,
)


_PREDICATE = descriptor.Descriptor(
  name='Predicate',
  full_name='Predicate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='arg', full_name='Predicate.arg', index=0,
      number=1, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='body', full_name='Predicate.body', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=2454,
  serialized_end=2499,
)


_READQUERY = descriptor.Descriptor(
  name='ReadQuery',
  full_name='ReadQuery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='term', full_name='ReadQuery.term', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='max_chunk_size', full_name='ReadQuery.max_chunk_size', 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),
    descriptor.FieldDescriptor(
      name='max_age', full_name='ReadQuery.max_age', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=True,
  extension_ranges=[(1000, 1100), ],
  serialized_start=2501,
  serialized_end=2582,
)


_WRITEQUERY_UPDATE = descriptor.Descriptor(
  name='Update',
  full_name='WriteQuery.Update',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='view', full_name='WriteQuery.Update.view', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='mapping', full_name='WriteQuery.Update.mapping', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=2987,
  serialized_end=3043,
)

_WRITEQUERY_DELETE = descriptor.Descriptor(
  name='Delete',
  full_name='WriteQuery.Delete',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='view', full_name='WriteQuery.Delete.view', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=3045,
  serialized_end=3074,
)

_WRITEQUERY_MUTATE = descriptor.Descriptor(
  name='Mutate',
  full_name='WriteQuery.Mutate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='view', full_name='WriteQuery.Mutate.view', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='mapping', full_name='WriteQuery.Mutate.mapping', index=1,
      number=2, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=3076,
  serialized_end=3132,
)

_WRITEQUERY_INSERT = descriptor.Descriptor(
  name='Insert',
  full_name='WriteQuery.Insert',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='table_ref', full_name='WriteQuery.Insert.table_ref', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='terms', full_name='WriteQuery.Insert.terms', 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),
    descriptor.FieldDescriptor(
      name='overwrite', full_name='WriteQuery.Insert.overwrite', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=False,
      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,
  extension_ranges=[],
  serialized_start=3134,
  serialized_end=3220,
)

_WRITEQUERY_FOREACH = descriptor.Descriptor(
  name='ForEach',
  full_name='WriteQuery.ForEach',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='stream', full_name='WriteQuery.ForEach.stream', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='var', full_name='WriteQuery.ForEach.var', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='queries', full_name='WriteQuery.ForEach.queries', 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,
  extension_ranges=[],
  serialized_start=3222,
  serialized_end=3297,
)

_WRITEQUERY_POINTUPDATE = descriptor.Descriptor(
  name='PointUpdate',
  full_name='WriteQuery.PointUpdate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='table_ref', full_name='WriteQuery.PointUpdate.table_ref', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='attrname', full_name='WriteQuery.PointUpdate.attrname', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='key', full_name='WriteQuery.PointUpdate.key', index=2,
      number=3, type=11, cpp_type=10, label=2,
      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='mapping', full_name='WriteQuery.PointUpdate.mapping', index=3,
      number=4, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=3299,
  serialized_end=3407,
)

_WRITEQUERY_POINTDELETE = descriptor.Descriptor(
  name='PointDelete',
  full_name='WriteQuery.PointDelete',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='table_ref', full_name='WriteQuery.PointDelete.table_ref', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='attrname', full_name='WriteQuery.PointDelete.attrname', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='key', full_name='WriteQuery.PointDelete.key', index=2,
      number=3, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=3409,
  serialized_end=3490,
)

_WRITEQUERY_POINTMUTATE = descriptor.Descriptor(
  name='PointMutate',
  full_name='WriteQuery.PointMutate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='table_ref', full_name='WriteQuery.PointMutate.table_ref', index=0,
      number=1, type=11, cpp_type=10, label=2,
      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='attrname', full_name='WriteQuery.PointMutate.attrname', index=1,
      number=2, type=9, cpp_type=9, label=2,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='key', full_name='WriteQuery.PointMutate.key', index=2,
      number=3, type=11, cpp_type=10, label=2,
      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='mapping', full_name='WriteQuery.PointMutate.mapping', index=3,
      number=4, type=11, cpp_type=10, label=2,
      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,
  extension_ranges=[],
  serialized_start=3492,
  serialized_end=3600,
)

_WRITEQUERY = descriptor.Descriptor(
  name='WriteQuery',
  full_name='WriteQuery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='type', full_name='WriteQuery.type', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='atomic', full_name='WriteQuery.atomic', index=1,
      number=11, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=True,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='update', full_name='WriteQuery.update', index=2,
      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='delete', full_name='WriteQuery.delete', index=3,
      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='mutate', full_name='WriteQuery.mutate', 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='insert', full_name='WriteQuery.insert', index=5,
      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='for_each', full_name='WriteQuery.for_each', 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),
    descriptor.FieldDescriptor(
      name='point_update', full_name='WriteQuery.point_update', 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),
    descriptor.FieldDescriptor(
      name='point_delete', full_name='WriteQuery.point_delete', 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),
    descriptor.FieldDescriptor(
      name='point_mutate', full_name='WriteQuery.point_mutate', 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),
  ],
  extensions=[
  ],
  nested_types=[_WRITEQUERY_UPDATE, _WRITEQUERY_DELETE, _WRITEQUERY_MUTATE, _WRITEQUERY_INSERT, _WRITEQUERY_FOREACH, _WRITEQUERY_POINTUPDATE, _WRITEQUERY_POINTDELETE, _WRITEQUERY_POINTMUTATE, ],
  enum_types=[
    _WRITEQUERY_WRITEQUERYTYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2585,
  serialized_end=3731,
)


_METAQUERY_CREATETABLE = descriptor.Descriptor(
  name='CreateTable',
  full_name='MetaQuery.CreateTable',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='datacenter', full_name='MetaQuery.CreateTable.datacenter', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='table_ref', full_name='MetaQuery.CreateTable.table_ref', index=1,
      number=3, type=11, cpp_type=10, label=2,
      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='primary_key', full_name='MetaQuery.CreateTable.primary_key', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=unicode("id", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='cache_size', full_name='MetaQuery.CreateTable.cache_size', index=3,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=True, default_value=1073741824,
      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,
  extension_ranges=[],
  serialized_start=3881,
  serialized_end=4001,
)

_METAQUERY = descriptor.Descriptor(
  name='MetaQuery',
  full_name='MetaQuery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='type', full_name='MetaQuery.type', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='db_name', full_name='MetaQuery.db_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='create_table', full_name='MetaQuery.create_table', 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='drop_table', full_name='MetaQuery.drop_table', 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),
  ],
  extensions=[
  ],
  nested_types=[_METAQUERY_CREATETABLE, ],
  enum_types=[
    _METAQUERY_METAQUERYTYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3734,
  serialized_end=4111,
)


_QUERY = descriptor.Descriptor(
  name='Query',
  full_name='Query',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='type', full_name='Query.type', index=0,
      number=1, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='token', full_name='Query.token', index=1,
      number=2, type=3, cpp_type=2, label=2,
      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='read_query', full_name='Query.read_query', 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='write_query', full_name='Query.write_query', 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),
    descriptor.FieldDescriptor(
      name='meta_query', full_name='Query.meta_query', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _QUERY_QUERYTYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4114,
  serialized_end=4334,
)


_RESPONSE_BACKTRACE = descriptor.Descriptor(
  name='Backtrace',
  full_name='Response.Backtrace',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='frame', full_name='Response.Backtrace.frame', index=0,
      number=1, type=9, cpp_type=9, 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,
  extension_ranges=[],
  serialized_start=4488,
  serialized_end=4514,
)

_RESPONSE = descriptor.Descriptor(
  name='Response',
  full_name='Response',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    descriptor.FieldDescriptor(
      name='status_code', full_name='Response.status_code', index=0,
      number=1, type=14, cpp_type=8, label=2,
      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='token', full_name='Response.token', index=1,
      number=2, type=3, cpp_type=2, label=2,
      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='response', full_name='Response.response', index=2,
      number=3, type=9, cpp_type=9, 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='error_message', full_name='Response.error_message', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=unicode("", "utf-8"),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    descriptor.FieldDescriptor(
      name='backtrace', full_name='Response.backtrace', 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),
  ],
  extensions=[
  ],
  nested_types=[_RESPONSE_BACKTRACE, ],
  enum_types=[
    _RESPONSE_STATUSCODE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4337,
  serialized_end=4660,
)

_VARTERMTUPLE.fields_by_name['term'].message_type = _TERM
_TERM_LET.fields_by_name['binds'].message_type = _VARTERMTUPLE
_TERM_LET.fields_by_name['expr'].message_type = _TERM
_TERM_LET.containing_type = _TERM;
_TERM_CALL.fields_by_name['builtin'].message_type = _BUILTIN
_TERM_CALL.fields_by_name['args'].message_type = _TERM
_TERM_CALL.containing_type = _TERM;
_TERM_IF.fields_by_name['test'].message_type = _TERM
_TERM_IF.fields_by_name['true_branch'].message_type = _TERM
_TERM_IF.fields_by_name['false_branch'].message_type = _TERM
_TERM_IF.containing_type = _TERM;
_TERM_GETBYKEY.fields_by_name['table_ref'].message_type = _TABLEREF
_TERM_GETBYKEY.fields_by_name['key'].message_type = _TERM
_TERM_GETBYKEY.containing_type = _TERM;
_TERM_TABLE.fields_by_name['table_ref'].message_type = _TABLEREF
_TERM_TABLE.containing_type = _TERM;
_TERM.fields_by_name['type'].enum_type = _TERM_TERMTYPE
_TERM.fields_by_name['let'].message_type = _TERM_LET
_TERM.fields_by_name['call'].message_type = _TERM_CALL
_TERM.fields_by_name['if_'].message_type = _TERM_IF
_TERM.fields_by_name['array'].message_type = _TERM
_TERM.fields_by_name['object'].message_type = _VARTERMTUPLE
_TERM.fields_by_name['get_by_key'].message_type = _TERM_GETBYKEY
_TERM.fields_by_name['table'].message_type = _TERM_TABLE
_TERM_TERMTYPE.containing_type = _TERM;
_BUILTIN_FILTER.fields_by_name['predicate'].message_type = _PREDICATE
_BUILTIN_FILTER.containing_type = _BUILTIN;
_BUILTIN_MAP.fields_by_name['mapping'].message_type = _MAPPING
_BUILTIN_MAP.containing_type = _BUILTIN;
_BUILTIN_CONCATMAP.fields_by_name['mapping'].message_type = _MAPPING
_BUILTIN_CONCATMAP.containing_type = _BUILTIN;
_BUILTIN_ORDERBY.containing_type = _BUILTIN;
_BUILTIN_GROUPEDMAPREDUCE.fields_by_name['group_mapping'].message_type = _MAPPING
_BUILTIN_GROUPEDMAPREDUCE.fields_by_name['value_mapping'].message_type = _MAPPING
_BUILTIN_GROUPEDMAPREDUCE.fields_by_name['reduction'].message_type = _REDUCTION
_BUILTIN_GROUPEDMAPREDUCE.containing_type = _BUILTIN;
_BUILTIN_RANGE.fields_by_name['lowerbound'].message_type = _TERM
_BUILTIN_RANGE.fields_by_name['upperbound'].message_type = _TERM
_BUILTIN_RANGE.containing_type = _BUILTIN;
_BUILTIN.fields_by_name['type'].enum_type = _BUILTIN_BUILTINTYPE
_BUILTIN.fields_by_name['comparison'].enum_type = _BUILTIN_COMPARISON
_BUILTIN.fields_by_name['filter'].message_type = _BUILTIN_FILTER
_BUILTIN.fields_by_name['map'].message_type = _BUILTIN_MAP
_BUILTIN.fields_by_name['concat_map'].message_type = _BUILTIN_CONCATMAP
_BUILTIN.fields_by_name['order_by'].message_type = _BUILTIN_ORDERBY
_BUILTIN.fields_by_name['reduce'].message_type = _REDUCTION
_BUILTIN.fields_by_name['grouped_map_reduce'].message_type = _BUILTIN_GROUPEDMAPREDUCE
_BUILTIN.fields_by_name['range'].message_type = _BUILTIN_RANGE
_BUILTIN_BUILTINTYPE.containing_type = _BUILTIN;
_BUILTIN_COMPARISON.containing_type = _BUILTIN;
_REDUCTION.fields_by_name['base'].message_type = _TERM
_REDUCTION.fields_by_name['body'].message_type = _TERM
_MAPPING.fields_by_name['body'].message_type = _TERM
_PREDICATE.fields_by_name['body'].message_type = _TERM
_READQUERY.fields_by_name['term'].message_type = _TERM
_WRITEQUERY_UPDATE.fields_by_name['view'].message_type = _TERM
_WRITEQUERY_UPDATE.fields_by_name['mapping'].message_type = _MAPPING
_WRITEQUERY_UPDATE.containing_type = _WRITEQUERY;
_WRITEQUERY_DELETE.fields_by_name['view'].message_type = _TERM
_WRITEQUERY_DELETE.containing_type = _WRITEQUERY;
_WRITEQUERY_MUTATE.fields_by_name['view'].message_type = _TERM
_WRITEQUERY_MUTATE.fields_by_name['mapping'].message_type = _MAPPING
_WRITEQUERY_MUTATE.containing_type = _WRITEQUERY;
_WRITEQUERY_INSERT.fields_by_name['table_ref'].message_type = _TABLEREF
_WRITEQUERY_INSERT.fields_by_name['terms'].message_type = _TERM
_WRITEQUERY_INSERT.containing_type = _WRITEQUERY;
_WRITEQUERY_FOREACH.fields_by_name['stream'].message_type = _TERM
_WRITEQUERY_FOREACH.fields_by_name['queries'].message_type = _WRITEQUERY
_WRITEQUERY_FOREACH.containing_type = _WRITEQUERY;
_WRITEQUERY_POINTUPDATE.fields_by_name['table_ref'].message_type = _TABLEREF
_WRITEQUERY_POINTUPDATE.fields_by_name['key'].message_type = _TERM
_WRITEQUERY_POINTUPDATE.fields_by_name['mapping'].message_type = _MAPPING
_WRITEQUERY_POINTUPDATE.containing_type = _WRITEQUERY;
_WRITEQUERY_POINTDELETE.fields_by_name['table_ref'].message_type = _TABLEREF
_WRITEQUERY_POINTDELETE.fields_by_name['key'].message_type = _TERM
_WRITEQUERY_POINTDELETE.containing_type = _WRITEQUERY;
_WRITEQUERY_POINTMUTATE.fields_by_name['table_ref'].message_type = _TABLEREF
_WRITEQUERY_POINTMUTATE.fields_by_name['key'].message_type = _TERM
_WRITEQUERY_POINTMUTATE.fields_by_name['mapping'].message_type = _MAPPING
_WRITEQUERY_POINTMUTATE.containing_type = _WRITEQUERY;
_WRITEQUERY.fields_by_name['type'].enum_type = _WRITEQUERY_WRITEQUERYTYPE
_WRITEQUERY.fields_by_name['update'].message_type = _WRITEQUERY_UPDATE
_WRITEQUERY.fields_by_name['delete'].message_type = _WRITEQUERY_DELETE
_WRITEQUERY.fields_by_name['mutate'].message_type = _WRITEQUERY_MUTATE
_WRITEQUERY.fields_by_name['insert'].message_type = _WRITEQUERY_INSERT
_WRITEQUERY.fields_by_name['for_each'].message_type = _WRITEQUERY_FOREACH
_WRITEQUERY.fields_by_name['point_update'].message_type = _WRITEQUERY_POINTUPDATE
_WRITEQUERY.fields_by_name['point_delete'].message_type = _WRITEQUERY_POINTDELETE
_WRITEQUERY.fields_by_name['point_mutate'].message_type = _WRITEQUERY_POINTMUTATE
_WRITEQUERY_WRITEQUERYTYPE.containing_type = _WRITEQUERY;
_METAQUERY_CREATETABLE.fields_by_name['table_ref'].message_type = _TABLEREF
_METAQUERY_CREATETABLE.containing_type = _METAQUERY;
_METAQUERY.fields_by_name['type'].enum_type = _METAQUERY_METAQUERYTYPE
_METAQUERY.fields_by_name['create_table'].message_type = _METAQUERY_CREATETABLE
_METAQUERY.fields_by_name['drop_table'].message_type = _TABLEREF
_METAQUERY_METAQUERYTYPE.containing_type = _METAQUERY;
_QUERY.fields_by_name['type'].enum_type = _QUERY_QUERYTYPE
_QUERY.fields_by_name['read_query'].message_type = _READQUERY
_QUERY.fields_by_name['write_query'].message_type = _WRITEQUERY
_QUERY.fields_by_name['meta_query'].message_type = _METAQUERY
_QUERY_QUERYTYPE.containing_type = _QUERY;
_RESPONSE_BACKTRACE.containing_type = _RESPONSE;
_RESPONSE.fields_by_name['status_code'].enum_type = _RESPONSE_STATUSCODE
_RESPONSE.fields_by_name['backtrace'].message_type = _RESPONSE_BACKTRACE
_RESPONSE_STATUSCODE.containing_type = _RESPONSE;
DESCRIPTOR.message_types_by_name['TableRef'] = _TABLEREF
DESCRIPTOR.message_types_by_name['VarTermTuple'] = _VARTERMTUPLE
DESCRIPTOR.message_types_by_name['Term'] = _TERM
DESCRIPTOR.message_types_by_name['Builtin'] = _BUILTIN
DESCRIPTOR.message_types_by_name['Reduction'] = _REDUCTION
DESCRIPTOR.message_types_by_name['Mapping'] = _MAPPING
DESCRIPTOR.message_types_by_name['Predicate'] = _PREDICATE
DESCRIPTOR.message_types_by_name['ReadQuery'] = _READQUERY
DESCRIPTOR.message_types_by_name['WriteQuery'] = _WRITEQUERY
DESCRIPTOR.message_types_by_name['MetaQuery'] = _METAQUERY
DESCRIPTOR.message_types_by_name['Query'] = _QUERY
DESCRIPTOR.message_types_by_name['Response'] = _RESPONSE

class TableRef(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _TABLEREF
  
  # @@protoc_insertion_point(class_scope:TableRef)

class VarTermTuple(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _VARTERMTUPLE
  
  # @@protoc_insertion_point(class_scope:VarTermTuple)

class Term(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  
  class Let(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _TERM_LET
    
    # @@protoc_insertion_point(class_scope:Term.Let)
  
  class Call(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _TERM_CALL
    
    # @@protoc_insertion_point(class_scope:Term.Call)
  
  class If(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _TERM_IF
    
    # @@protoc_insertion_point(class_scope:Term.If)
  
  class GetByKey(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _TERM_GETBYKEY
    
    # @@protoc_insertion_point(class_scope:Term.GetByKey)
  
  class Table(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _TERM_TABLE
    
    # @@protoc_insertion_point(class_scope:Term.Table)
  DESCRIPTOR = _TERM
  
  # @@protoc_insertion_point(class_scope:Term)

class Builtin(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  
  class Filter(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _BUILTIN_FILTER
    
    # @@protoc_insertion_point(class_scope:Builtin.Filter)
  
  class Map(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _BUILTIN_MAP
    
    # @@protoc_insertion_point(class_scope:Builtin.Map)
  
  class ConcatMap(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _BUILTIN_CONCATMAP
    
    # @@protoc_insertion_point(class_scope:Builtin.ConcatMap)
  
  class OrderBy(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _BUILTIN_ORDERBY
    
    # @@protoc_insertion_point(class_scope:Builtin.OrderBy)
  
  class GroupedMapReduce(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _BUILTIN_GROUPEDMAPREDUCE
    
    # @@protoc_insertion_point(class_scope:Builtin.GroupedMapReduce)
  
  class Range(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _BUILTIN_RANGE
    
    # @@protoc_insertion_point(class_scope:Builtin.Range)
  DESCRIPTOR = _BUILTIN
  
  # @@protoc_insertion_point(class_scope:Builtin)

class Reduction(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _REDUCTION
  
  # @@protoc_insertion_point(class_scope:Reduction)

class Mapping(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _MAPPING
  
  # @@protoc_insertion_point(class_scope:Mapping)

class Predicate(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _PREDICATE
  
  # @@protoc_insertion_point(class_scope:Predicate)

class ReadQuery(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _READQUERY
  
  # @@protoc_insertion_point(class_scope:ReadQuery)

class WriteQuery(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  
  class Update(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_UPDATE
    
    # @@protoc_insertion_point(class_scope:WriteQuery.Update)
  
  class Delete(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_DELETE
    
    # @@protoc_insertion_point(class_scope:WriteQuery.Delete)
  
  class Mutate(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_MUTATE
    
    # @@protoc_insertion_point(class_scope:WriteQuery.Mutate)
  
  class Insert(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_INSERT
    
    # @@protoc_insertion_point(class_scope:WriteQuery.Insert)
  
  class ForEach(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_FOREACH
    
    # @@protoc_insertion_point(class_scope:WriteQuery.ForEach)
  
  class PointUpdate(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_POINTUPDATE
    
    # @@protoc_insertion_point(class_scope:WriteQuery.PointUpdate)
  
  class PointDelete(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_POINTDELETE
    
    # @@protoc_insertion_point(class_scope:WriteQuery.PointDelete)
  
  class PointMutate(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WRITEQUERY_POINTMUTATE
    
    # @@protoc_insertion_point(class_scope:WriteQuery.PointMutate)
  DESCRIPTOR = _WRITEQUERY
  
  # @@protoc_insertion_point(class_scope:WriteQuery)

class MetaQuery(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  
  class CreateTable(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _METAQUERY_CREATETABLE
    
    # @@protoc_insertion_point(class_scope:MetaQuery.CreateTable)
  DESCRIPTOR = _METAQUERY
  
  # @@protoc_insertion_point(class_scope:MetaQuery)

class Query(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _QUERY
  
  # @@protoc_insertion_point(class_scope:Query)

class Response(message.Message):
  __metaclass__ = reflection.GeneratedProtocolMessageType
  
  class Backtrace(message.Message):
    __metaclass__ = reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _RESPONSE_BACKTRACE
    
    # @@protoc_insertion_point(class_scope:Response.Backtrace)
  DESCRIPTOR = _RESPONSE
  
  # @@protoc_insertion_point(class_scope:Response)

# @@protoc_insertion_point(module_scope)
