# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: relationalai/lqp/v1/logic.proto
# Protobuf Python Version: 4.25.6
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1frelationalai/lqp/v1/logic.proto\x12\x13relationalai.lqp.v1\"\x8f\x01\n\x0b\x44\x65\x63laration\x12,\n\x03\x64\x65\x66\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.DefH\x00R\x03\x64\x65\x66\x12>\n\talgorithm\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.AlgorithmH\x00R\talgorithmB\x12\n\x10\x64\x65\x63laration_type\"\xa6\x01\n\x03\x44\x65\x66\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"u\n\tAlgorithm\x12\x37\n\x06global\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x06global\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"H\n\x06Script\x12>\n\nconstructs\x18\x01 \x03(\x0b\x32\x1e.relationalai.lqp.v1.ConstructR\nconstructs\"\x94\x01\n\tConstruct\x12/\n\x04loop\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.LoopH\x00R\x04loop\x12\x44\n\x0binstruction\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.InstructionH\x00R\x0binstructionB\x10\n\x0e\x63onstruct_type\"m\n\x04Loop\x12\x34\n\x04init\x18\x01 \x03(\x0b\x32 .relationalai.lqp.v1.InstructionR\x04init\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"\xbd\x01\n\x0bInstruction\x12\x35\n\x06\x61ssign\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.AssignH\x00R\x06\x61ssign\x12\x35\n\x06upsert\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.UpsertH\x00R\x06upsert\x12\x32\n\x05\x62reak\x18\x03 \x01(\x0b\x32\x1a.relationalai.lqp.v1.BreakH\x00R\x05\x62reakB\x0c\n\ninstr_type\"\xa9\x01\n\x06\x41ssign\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xa9\x01\n\x06Upsert\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xa8\x01\n\x05\x42reak\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"g\n\x07\x42inding\x12*\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarR\x03var\x12\x30\n\x04type\x18\x02 \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelTypeR\x04type\"s\n\x0b\x41\x62straction\x12\x30\n\x04vars\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.BindingR\x04vars\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x05value\"\x83\x05\n\x07\x46ormula\x12\x35\n\x06\x65xists\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExistsH\x00R\x06\x65xists\x12\x35\n\x06reduce\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ReduceH\x00R\x06reduce\x12\x44\n\x0b\x63onjunction\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.ConjunctionH\x00R\x0b\x63onjunction\x12\x44\n\x0b\x64isjunction\x18\x04 \x01(\x0b\x32 .relationalai.lqp.v1.DisjunctionH\x00R\x0b\x64isjunction\x12,\n\x03not\x18\x05 \x01(\x0b\x32\x18.relationalai.lqp.v1.NotH\x00R\x03not\x12,\n\x03\x66\x66i\x18\x06 \x01(\x0b\x32\x18.relationalai.lqp.v1.FFIH\x00R\x03\x66\x66i\x12/\n\x04\x61tom\x18\x07 \x01(\x0b\x32\x19.relationalai.lqp.v1.AtomH\x00R\x04\x61tom\x12\x35\n\x06pragma\x18\x08 \x01(\x0b\x32\x1b.relationalai.lqp.v1.PragmaH\x00R\x06pragma\x12>\n\tprimitive\x18\t \x01(\x0b\x32\x1e.relationalai.lqp.v1.PrimitiveH\x00R\tprimitive\x12\x39\n\x08rel_atom\x18\n \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelAtomH\x00R\x07relAtom\x12/\n\x04\x63\x61st\x18\x0b \x01(\x0b\x32\x19.relationalai.lqp.v1.CastH\x00R\x04\x63\x61stB\x0e\n\x0c\x66ormula_type\">\n\x06\x45xists\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\"\xa1\x01\n\x06Reduce\x12\x30\n\x02op\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x02op\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"?\n\x0b\x43onjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"?\n\x0b\x44isjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"5\n\x03Not\x12.\n\x03\x61rg\x18\x01 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x03\x61rg\"\x80\x01\n\x03\x46\x46I\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x04\x61rgs\x18\x02 \x03(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x61rgs\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"l\n\x04\x41tom\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"M\n\x06Pragma\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"S\n\tPrimitive\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"Q\n\x07RelAtom\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"\x9c\x01\n\x04\x43\x61st\x12\x30\n\x04type\x18\x01 \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelTypeR\x04type\x12/\n\x05input\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05input\x12\x31\n\x06result\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x06result\"\x96\x01\n\x07RelTerm\x12I\n\x11specialized_value\x18\x01 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x10specializedValue\x12/\n\x04term\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermH\x00R\x04termB\x0f\n\rrel_term_type\"{\n\x04Term\x12,\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarH\x00R\x03var\x12\x38\n\x08\x63onstant\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x08\x63onstantB\x0b\n\tterm_type\"\x19\n\x03Var\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"O\n\tAttribute\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12.\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1a.relationalai.lqp.v1.ValueR\x04\x61rgs\"<\n\nRelationId\x12\x15\n\x06id_low\x18\x01 \x01(\x06R\x05idLow\x12\x17\n\x07id_high\x18\x02 \x01(\x06R\x06idHigh\"\xa6\x01\n\x07RelType\x12K\n\x0eprimitive_type\x18\x01 \x01(\x0e\x32\".relationalai.lqp.v1.PrimitiveTypeH\x00R\rprimitiveType\x12\x42\n\nvalue_type\x18\x02 \x01(\x0e\x32!.relationalai.lqp.v1.RelValueTypeH\x00R\tvalueTypeB\n\n\x08rel_type\"\xfe\x01\n\x05Value\x12#\n\x0cstring_value\x18\x01 \x01(\tH\x00R\x0bstringValue\x12\x1d\n\tint_value\x18\x02 \x01(\x03H\x00R\x08intValue\x12!\n\x0b\x66loat_value\x18\x03 \x01(\x01H\x00R\nfloatValue\x12\x43\n\ruint128_value\x18\x04 \x01(\x0b\x32\x1c.relationalai.lqp.v1.UInt128H\x00R\x0cuint128Value\x12@\n\x0cint128_value\x18\x05 \x01(\x0b\x32\x1b.relationalai.lqp.v1.Int128H\x00R\x0bint128ValueB\x07\n\x05value\"/\n\x07UInt128\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\".\n\x06Int128\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high*\xb3\x01\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15PRIMITIVE_TYPE_STRING\x10\x01\x12\x16\n\x12PRIMITIVE_TYPE_INT\x10\x02\x12\x18\n\x14PRIMITIVE_TYPE_FLOAT\x10\x03\x12\x1a\n\x16PRIMITIVE_TYPE_UINT128\x10\x04\x12\x19\n\x15PRIMITIVE_TYPE_INT128\x10\x05*\xb9\x03\n\x0cRelValueType\x12\x1e\n\x1aREL_VALUE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13REL_VALUE_TYPE_DATE\x10\x02\x12\x1b\n\x17REL_VALUE_TYPE_DATETIME\x10\x03\x12\x1d\n\x19REL_VALUE_TYPE_NANOSECOND\x10\x04\x12\x1e\n\x1aREL_VALUE_TYPE_MICROSECOND\x10\x05\x12\x1e\n\x1aREL_VALUE_TYPE_MILLISECOND\x10\x06\x12\x19\n\x15REL_VALUE_TYPE_SECOND\x10\x07\x12\x19\n\x15REL_VALUE_TYPE_MINUTE\x10\x08\x12\x17\n\x13REL_VALUE_TYPE_HOUR\x10\t\x12\x16\n\x12REL_VALUE_TYPE_DAY\x10\n\x12\x17\n\x13REL_VALUE_TYPE_WEEK\x10\x0b\x12\x18\n\x14REL_VALUE_TYPE_MONTH\x10\x0c\x12\x17\n\x13REL_VALUE_TYPE_YEAR\x10\r\x12\x1c\n\x18REL_VALUE_TYPE_DECIMAL64\x10\x0e\x12\x1d\n\x19REL_VALUE_TYPE_DECIMAL128\x10\x0f\"\x04\x08\x01\x10\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'relationalai.lqp.v1.logic_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
  DESCRIPTOR._options = None
  _globals['_PRIMITIVETYPE']._serialized_start=4433
  _globals['_PRIMITIVETYPE']._serialized_end=4612
  _globals['_RELVALUETYPE']._serialized_start=4615
  _globals['_RELVALUETYPE']._serialized_end=5056
  _globals['_DECLARATION']._serialized_start=57
  _globals['_DECLARATION']._serialized_end=200
  _globals['_DEF']._serialized_start=203
  _globals['_DEF']._serialized_end=369
  _globals['_ALGORITHM']._serialized_start=371
  _globals['_ALGORITHM']._serialized_end=488
  _globals['_SCRIPT']._serialized_start=490
  _globals['_SCRIPT']._serialized_end=562
  _globals['_CONSTRUCT']._serialized_start=565
  _globals['_CONSTRUCT']._serialized_end=713
  _globals['_LOOP']._serialized_start=715
  _globals['_LOOP']._serialized_end=824
  _globals['_INSTRUCTION']._serialized_start=827
  _globals['_INSTRUCTION']._serialized_end=1016
  _globals['_ASSIGN']._serialized_start=1019
  _globals['_ASSIGN']._serialized_end=1188
  _globals['_UPSERT']._serialized_start=1191
  _globals['_UPSERT']._serialized_end=1360
  _globals['_BREAK']._serialized_start=1363
  _globals['_BREAK']._serialized_end=1531
  _globals['_BINDING']._serialized_start=1533
  _globals['_BINDING']._serialized_end=1636
  _globals['_ABSTRACTION']._serialized_start=1638
  _globals['_ABSTRACTION']._serialized_end=1753
  _globals['_FORMULA']._serialized_start=1756
  _globals['_FORMULA']._serialized_end=2399
  _globals['_EXISTS']._serialized_start=2401
  _globals['_EXISTS']._serialized_end=2463
  _globals['_REDUCE']._serialized_start=2466
  _globals['_REDUCE']._serialized_end=2627
  _globals['_CONJUNCTION']._serialized_start=2629
  _globals['_CONJUNCTION']._serialized_end=2692
  _globals['_DISJUNCTION']._serialized_start=2694
  _globals['_DISJUNCTION']._serialized_end=2757
  _globals['_NOT']._serialized_start=2759
  _globals['_NOT']._serialized_end=2812
  _globals['_FFI']._serialized_start=2815
  _globals['_FFI']._serialized_end=2943
  _globals['_ATOM']._serialized_start=2945
  _globals['_ATOM']._serialized_end=3053
  _globals['_PRAGMA']._serialized_start=3055
  _globals['_PRAGMA']._serialized_end=3132
  _globals['_PRIMITIVE']._serialized_start=3134
  _globals['_PRIMITIVE']._serialized_end=3217
  _globals['_RELATOM']._serialized_start=3219
  _globals['_RELATOM']._serialized_end=3300
  _globals['_CAST']._serialized_start=3303
  _globals['_CAST']._serialized_end=3459
  _globals['_RELTERM']._serialized_start=3462
  _globals['_RELTERM']._serialized_end=3612
  _globals['_TERM']._serialized_start=3614
  _globals['_TERM']._serialized_end=3737
  _globals['_VAR']._serialized_start=3739
  _globals['_VAR']._serialized_end=3764
  _globals['_ATTRIBUTE']._serialized_start=3766
  _globals['_ATTRIBUTE']._serialized_end=3845
  _globals['_RELATIONID']._serialized_start=3847
  _globals['_RELATIONID']._serialized_end=3907
  _globals['_RELTYPE']._serialized_start=3910
  _globals['_RELTYPE']._serialized_end=4076
  _globals['_VALUE']._serialized_start=4079
  _globals['_VALUE']._serialized_end=4333
  _globals['_UINT128']._serialized_start=4335
  _globals['_UINT128']._serialized_end=4382
  _globals['_INT128']._serialized_start=4384
  _globals['_INT128']._serialized_end=4430
# @@protoc_insertion_point(module_scope)
