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

from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)


import PrimitiveProtos_pb2
import CatalogProtos_pb2
import DataTypes_pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='Plan.proto',
  package='',
  serialized_pb='\n\nPlan.proto\x1a\x15PrimitiveProtos.proto\x1a\x13\x43\x61talogProtos.proto\x1a\x0f\x44\x61taTypes.proto\".\n\x0fLogicalNodeTree\x12\x1b\n\x05nodes\x18\x01 \x03(\x0b\x32\x0c.LogicalNode\"\x94\x08\n\x0bLogicalNode\x12\x10\n\x08visitSeq\x18\x01 \x02(\x05\x12\x0e\n\x06nodeId\x18\x02 \x02(\x05\x12\x17\n\x04type\x18\x03 \x02(\x0e\x32\t.NodeType\x12\x1f\n\tin_schema\x18\x04 \x01(\x0b\x32\x0c.SchemaProto\x12 \n\nout_schema\x18\x05 \x01(\x0b\x32\x0c.SchemaProto\x12\x17\n\x04scan\x18\x06 \x01(\x0b\x32\t.ScanNode\x12)\n\rpartitionScan\x18\x07 \x01(\x0b\x32\x12.PartitionScanSpec\x12\x17\n\x04join\x18\x08 \x01(\x0b\x32\t.JoinNode\x12\x1b\n\x06\x66ilter\x18\t \x01(\x0b\x32\x0b.FilterNode\x12\x1d\n\x07groupby\x18\n \x01(\x0b\x32\x0c.GroupbyNode\x12-\n\x0f\x64istinctGroupby\x18\x0b \x01(\x0b\x32\x14.DistinctGroupbyNode\x12\x17\n\x04sort\x18\x0c \x01(\x0b\x32\t.SortNode\x12\x19\n\x05limit\x18\r \x01(\x0b\x32\n.LimitNode\x12!\n\twindowAgg\x18\x0e \x01(\x0b\x32\x0e.WindowAggNode\x12#\n\nprojection\x18\x0f \x01(\x0b\x32\x0f.ProjectionNode\x12\x1f\n\x08\x65xprEval\x18\x10 \x01(\x0b\x32\r.EvalExprNode\x12\x19\n\x05union\x18\x11 \x01(\x0b\x32\n.UnionNode\x12)\n\rtableSubQuery\x18\x12 \x01(\x0b\x32\x12.TableSubQueryNode\x12-\n\x0fpersistentStore\x18\x13 \x01(\x0b\x32\x14.PersistentStoreNode\x12\'\n\nstoreTable\x18\x14 \x01(\x0b\x32\x13.StoreTableNodeSpec\x12\x1f\n\x06insert\x18\x15 \x01(\x0b\x32\x0f.InsertNodeSpec\x12)\n\x0b\x63reateTable\x18\x16 \x01(\x0b\x32\x14.CreateTableNodeSpec\x12\x17\n\x04root\x18\x17 \x01(\x0b\x32\t.RootNode\x12#\n\nsetSession\x18\x18 \x01(\x0b\x32\x0f.SetSessionNode\x12+\n\x0e\x63reateDatabase\x18\x19 \x01(\x0b\x32\x13.CreateDatabaseNode\x12\'\n\x0c\x64ropDatabase\x18\x1a \x01(\x0b\x32\x11.DropDatabaseNode\x12!\n\tdropTable\x18\x1b \x01(\x0b\x32\x0e.DropTableNode\x12-\n\x0f\x61lterTablespace\x18\x1c \x01(\x0b\x32\x14.AlterTablespaceNode\x12#\n\nalterTable\x18\x1d \x01(\x0b\x32\x0f.AlterTableNode\x12-\n\x11truncateTableNode\x18\x1e \x01(\x0b\x32\x12.TruncateTableNode\"\x86\x01\n\x08ScanNode\x12\x1e\n\x05table\x18\x01 \x02(\x0b\x32\x0f.TableDescProto\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x14\n\x0c\x65xistTargets\x18\x03 \x02(\x08\x12\x18\n\x07targets\x18\x04 \x03(\x0b\x32\x07.Target\x12\x1b\n\x04qual\x18\x05 \x01(\x0b\x32\r.EvalNodeTree\"\"\n\x11PartitionScanSpec\x12\r\n\x05paths\x18\x01 \x03(\t\";\n\nFilterNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12\x1b\n\x04qual\x18\x02 \x02(\x0b\x32\r.EvalNodeTree\"\xa5\x01\n\x08JoinNode\x12\x14\n\x0cleftChildSeq\x18\x01 \x02(\x05\x12\x14\n\x0crightChilSeq\x18\x02 \x02(\x05\x12\x1b\n\x08joinType\x18\x03 \x02(\x0e\x32\t.JoinType\x12\x1f\n\x08joinQual\x18\x04 \x01(\x0b\x32\r.EvalNodeTree\x12\x15\n\rexistsTargets\x18\x05 \x02(\x08\x12\x18\n\x07targets\x18\x06 \x03(\x0b\x32\x07.Target\"\x94\x01\n\x0bGroupbyNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12\x10\n\x08\x64istinct\x18\x02 \x02(\x08\x12\"\n\x0cgroupingKeys\x18\x03 \x03(\x0b\x32\x0c.ColumnProto\x12#\n\x0c\x61ggFunctions\x18\x04 \x03(\x0b\x32\r.EvalNodeTree\x12\x18\n\x07targets\x18\x05 \x03(\x0b\x32\x07.Target\"\xdf\x01\n\x13\x44istinctGroupbyNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12!\n\x0bgroupbyNode\x18\x02 \x01(\x0b\x32\x0c.LogicalNode\x12\x1e\n\x08subPlans\x18\x03 \x03(\x0b\x32\x0c.LogicalNode\x12\x18\n\x07targets\x18\x04 \x03(\x0b\x32\x07.Target\x12\"\n\x0cgroupingKeys\x18\x05 \x03(\x0b\x32\x0c.ColumnProto\x12\x10\n\x08resultId\x18\x06 \x03(\x05\x12#\n\x0c\x61ggFunctions\x18\x07 \x03(\x0b\x32\r.EvalNodeTree\"?\n\x08SortNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12!\n\tsortSpecs\x18\x02 \x03(\x0b\x32\x0e.SortSpecProto\"4\n\tLimitNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12\x15\n\rfetchFirstNum\x18\x02 \x02(\x03\"\xbd\x01\n\rWindowAggNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12#\n\rpartitionKeys\x18\x02 \x03(\x0b\x32\x0c.ColumnProto\x12!\n\tsortSpecs\x18\x03 \x03(\x0b\x32\x0e.SortSpecProto\x12&\n\x0fwindowFunctions\x18\x04 \x03(\x0b\x32\r.EvalNodeTree\x12\x10\n\x08\x64istinct\x18\x05 \x02(\x08\x12\x18\n\x07targets\x18\x06 \x03(\x0b\x32\x07.Target\"E\n\tUnionNode\x12\x14\n\x0cleftChildSeq\x18\x01 \x02(\x05\x12\x15\n\rrightChildSeq\x18\x02 \x02(\x05\x12\x0b\n\x03\x61ll\x18\x03 \x02(\x08\"R\n\x11TableSubQueryNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12\x11\n\ttableName\x18\x02 \x02(\t\x12\x18\n\x07targets\x18\x03 \x03(\x0b\x32\x07.Target\"N\n\x0eProjectionNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12\x10\n\x08\x64istinct\x18\x02 \x02(\x08\x12\x18\n\x07targets\x18\x03 \x03(\x0b\x32\x07.Target\"(\n\x0c\x45valExprNode\x12\x18\n\x07targets\x18\x01 \x03(\x0b\x32\x07.Target\"\x1c\n\x08RootNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\"-\n\x0eSetSessionNode\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x01(\t\"4\n\x06Target\x12\x1b\n\x04\x65xpr\x18\x01 \x02(\x0b\x32\r.EvalNodeTree\x12\r\n\x05\x61lias\x18\x02 \x01(\t\"\'\n\x16PartitionTableScanSpec\x12\r\n\x05paths\x18\x01 \x03(\t\"t\n\x13PersistentStoreNode\x12\x10\n\x08\x63hildSeq\x18\x01 \x02(\x05\x12\x1f\n\x0bstorageType\x18\x02 \x02(\x0e\x32\n.StoreType\x12*\n\x0ftableProperties\x18\x03 \x02(\x0b\x32\x11.KeyValueSetProto\"W\n\x12StoreTableNodeSpec\x12\x11\n\ttableName\x18\x01 \x01(\t\x12.\n\x0fpartitionMethod\x18\x02 \x01(\x0b\x32\x15.PartitionMethodProto\"\x9f\x01\n\x0eInsertNodeSpec\x12\x11\n\toverwrite\x18\x01 \x02(\x08\x12!\n\x0btableSchema\x18\x02 \x02(\x0b\x32\x0c.SchemaProto\x12\"\n\x0ctargetSchema\x18\x04 \x01(\x0b\x32\x0c.SchemaProto\x12%\n\x0fprojectedSchema\x18\x03 \x01(\x0b\x32\x0c.SchemaProto\x12\x0c\n\x04path\x18\x05 \x01(\t\"h\n\x13\x43reateTableNodeSpec\x12\x1c\n\x06schema\x18\x01 \x02(\x0b\x32\x0c.SchemaProto\x12\x10\n\x08\x65xternal\x18\x02 \x02(\x08\x12\x13\n\x0bifNotExists\x18\x03 \x02(\x08\x12\x0c\n\x04path\x18\x04 \x01(\t\"C\n\rDropTableNode\x12\x11\n\ttableName\x18\x01 \x02(\t\x12\x10\n\x08ifExists\x18\x02 \x02(\x08\x12\r\n\x05purge\x18\x03 \x02(\x08\"\'\n\x11TruncateTableNode\x12\x12\n\ntableNames\x18\x01 \x03(\t\"9\n\x12\x43reateDatabaseNode\x12\x0e\n\x06\x64\x62Name\x18\x01 \x02(\t\x12\x13\n\x0bifNotExists\x18\x02 \x02(\x08\"4\n\x10\x44ropDatabaseNode\x12\x0e\n\x06\x64\x62Name\x18\x01 \x02(\t\x12\x10\n\x08ifExists\x18\x02 \x02(\x08\"\xc7\x01\n\x13\x41lterTablespaceNode\x12\x16\n\x0etableSpaceName\x18\x01 \x02(\t\x12*\n\x07setType\x18\x02 \x02(\x0e\x32\x19.AlterTablespaceNode.Type\x12\x35\n\x0bsetLocation\x18\x03 \x01(\x0b\x32 .AlterTablespaceNode.SetLocation\x1a\x1f\n\x0bSetLocation\x12\x10\n\x08location\x18\x01 \x02(\t\"\x14\n\x04Type\x12\x0c\n\x08LOCATION\x10\x00\"\x9b\x03\n\x0e\x41lterTableNode\x12\x11\n\ttableName\x18\x01 \x02(\t\x12%\n\x07setType\x18\x02 \x02(\x0e\x32\x14.AlterTableNode.Type\x12\x30\n\x0brenameTable\x18\x03 \x01(\x0b\x32\x1b.AlterTableNode.RenameTable\x12\x32\n\x0crenameColumn\x18\x04 \x01(\x0b\x32\x1c.AlterTableNode.RenameColumn\x12,\n\taddColumn\x18\x05 \x01(\x0b\x32\x19.AlterTableNode.AddColumn\x1a\x1e\n\x0bRenameTable\x12\x0f\n\x07newName\x18\x01 \x02(\t\x1a\x30\n\x0cRenameColumn\x12\x0f\n\x07oldName\x18\x01 \x02(\t\x12\x0f\n\x07newName\x18\x02 \x02(\t\x1a,\n\tAddColumn\x12\x1f\n\taddColumn\x18\x01 \x02(\x0b\x32\x0c.ColumnProto\";\n\x04Type\x12\x10\n\x0cRENAME_TABLE\x10\x00\x12\x11\n\rRENAME_COLUMN\x10\x01\x12\x0e\n\nADD_COLUMN\x10\x02\"(\n\x0c\x45valNodeTree\x12\x18\n\x05nodes\x18\x01 \x03(\x0b\x32\t.EvalNode\"\xdf\x03\n\x08\x45valNode\x12\n\n\x02id\x18\x01 \x02(\x05\x12\x17\n\x04type\x18\x02 \x02(\x0e\x32\t.EvalType\x12\x1c\n\tdata_type\x18\x03 \x02(\x0b\x32\t.DataType\x12\x19\n\x05unary\x18\x04 \x01(\x0b\x32\n.UnaryEval\x12\x1b\n\x06\x62inary\x18\x05 \x01(\x0b\x32\x0b.BinaryEval\x12\x19\n\x05\x63onst\x18\x06 \x01(\x0b\x32\n.ConstEval\x12\x1b\n\x05\x66ield\x18\x07 \x01(\x0b\x32\x0c.ColumnProto\x12\x1f\n\x08\x66unction\x18\x08 \x01(\x0b\x32\r.FunctionEval\x12)\n\x0b\x61ggFunction\x18\t \x01(\x0b\x32\x14.AggFunctionEvalSpec\x12)\n\x0bwinFunction\x18\n \x01(\x0b\x32\x14.WinFunctionEvalSpec\x12\x1f\n\x08rowConst\x18\x0b \x01(\x0b\x32\r.RowConstEval\x12\x1d\n\x07\x62\x65tween\x18\x0c \x01(\x0b\x32\x0c.BetweenEval\x12\x1f\n\x08\x63\x61sewhen\x18\r \x01(\x0b\x32\r.CaseWhenEval\x12\x1b\n\x06ifCond\x18\x0e \x01(\x0b\x32\x0b.IfCondEval\x12+\n\x0cpatternMatch\x18\x0f \x01(\x0b\x32\x15.PatternMatchEvalSpec\"a\n\tUnaryEval\x12\x10\n\x08\x63hild_id\x18\x01 \x02(\x05\x12\x1e\n\x0b\x63\x61stingType\x18\x02 \x01(\x0b\x32\t.DataType\x12\x10\n\x08negative\x18\x03 \x01(\x08\x12\x10\n\x08timezone\x18\x04 \x01(\t\"E\n\nBinaryEval\x12\x0e\n\x06lhs_id\x18\x01 \x02(\x05\x12\x0e\n\x06rhs_id\x18\x02 \x02(\x05\x12\x17\n\x08negative\x18\x03 \x01(\x08:\x05\x66\x61lse\"-\n\x14PatternMatchEvalSpec\x12\x15\n\rcaseSensitive\x18\x01 \x01(\x08\"o\n\x0b\x42\x65tweenEval\x12\x11\n\tpredicand\x18\x01 \x02(\x05\x12\r\n\x05\x62\x65gin\x18\x02 \x02(\x05\x12\x0b\n\x03\x65nd\x18\x03 \x02(\x05\x12\x17\n\x08negative\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\x18\n\tsymmetric\x18\x05 \x01(\x08:\x05\x66\x61lse\"-\n\x0c\x43\x61seWhenEval\x12\x0f\n\x07ifConds\x18\x01 \x03(\x05\x12\x0c\n\x04\x65lse\x18\x02 \x01(\x05\"-\n\nIfCondEval\x12\x11\n\tcondition\x18\x01 \x02(\x05\x12\x0c\n\x04then\x18\x02 \x02(\x05\"\"\n\tConstEval\x12\x15\n\x05value\x18\x01 \x02(\x0b\x32\x06.Datum\"&\n\x0cRowConstEval\x12\x16\n\x06values\x18\x01 \x03(\x0b\x32\x06.Datum\"E\n\x0c\x46unctionEval\x12#\n\x07\x66uncion\x18\x01 \x02(\x0b\x32\x12.FunctionDescProto\x12\x10\n\x08paramIds\x18\x02 \x03(\x05\"S\n\x13\x41ggFunctionEvalSpec\x12\x19\n\x11intermediatePhase\x18\x01 \x02(\x08\x12\x12\n\nfinalPhase\x18\x02 \x02(\x08\x12\r\n\x05\x61lias\x18\x03 \x01(\t\"\xe9\x05\n\x13WinFunctionEvalSpec\x12 \n\x08sortSpec\x18\x01 \x03(\x0b\x32\x0e.SortSpecProto\x12\x35\n\x0bwindowFrame\x18\x02 \x02(\x0b\x32 .WinFunctionEvalSpec.WindowFrame\x1a\xb3\x01\n\x0bWindowFrame\x12\x39\n\nstartBound\x18\x01 \x02(\x0b\x32%.WinFunctionEvalSpec.WindowStartBound\x12\x35\n\x08\x65ndBound\x18\x02 \x02(\x0b\x32#.WinFunctionEvalSpec.WindowEndBound\x12\x32\n\x04unit\x18\x03 \x01(\x0e\x32$.WinFunctionEvalSpec.WindowFrameUnit\x1at\n\x10WindowStartBound\x12\x41\n\tboundType\x18\x01 \x02(\x0e\x32..WinFunctionEvalSpec.WindowFrameStartBoundType\x12\x1d\n\x06number\x18\x02 \x01(\x0b\x32\r.EvalNodeTree\x1ap\n\x0eWindowEndBound\x12?\n\tboundType\x18\x01 \x02(\x0e\x32,.WinFunctionEvalSpec.WindowFrameEndBoundType\x12\x1d\n\x06number\x18\x02 \x01(\x0b\x32\r.EvalNodeTree\"Z\n\x19WindowFrameStartBoundType\x12\x19\n\x15S_UNBOUNDED_PRECEDING\x10\x00\x12\x11\n\rS_CURRENT_ROW\x10\x01\x12\x0f\n\x0bS_PRECEDING\x10\x02\"X\n\x17WindowFrameEndBoundType\x12\x19\n\x15\x45_UNBOUNDED_FOLLOWING\x10\x00\x12\x11\n\rE_CURRENT_ROW\x10\x01\x12\x0f\n\x0b\x45_FOLLOWING\x10\x02\"%\n\x0fWindowFrameUnit\x12\x07\n\x03ROW\x10\x00\x12\t\n\x05RANGE\x10\x01\"\xa2\x01\n\x05\x44\x61tum\x12\x13\n\x04type\x18\x01 \x02(\x0e\x32\x05.Type\x12\x0f\n\x07\x62oolean\x18\x02 \x01(\x08\x12\x0c\n\x04int4\x18\x03 \x01(\x05\x12\x0c\n\x04int8\x18\x04 \x01(\x03\x12\x0e\n\x06\x66loat4\x18\x05 \x01(\x02\x12\x0e\n\x06\x66loat8\x18\x06 \x01(\x01\x12\x0c\n\x04text\x18\x07 \x01(\t\x12\x0c\n\x04\x62lob\x18\x08 \x01(\x0c\x12\x1b\n\x08interval\x18\x0c \x01(\x0b\x32\t.Interval\"*\n\x08Interval\x12\x10\n\x05month\x18\x01 \x01(\x05:\x01\x30\x12\x0c\n\x04msec\x18\x02 \x01(\x03*\xb8\x03\n\x08NodeType\x12\x0f\n\x0bSET_SESSION\x10\x00\x12\x08\n\x04ROOT\x10\x01\x12\t\n\x05\x45XPRS\x10\x02\x12\x0e\n\nPROJECTION\x10\x03\x12\t\n\x05LIMIT\x10\x04\x12\x0e\n\nWINDOW_AGG\x10\x05\x12\x08\n\x04SORT\x10\x06\x12\n\n\x06HAVING\x10\x07\x12\x0c\n\x08GROUP_BY\x10\x08\x12\x15\n\x11\x44ISTINCT_GROUP_BY\x10\t\x12\r\n\tSELECTION\x10\n\x12\x08\n\x04JOIN\x10\x0b\x12\t\n\x05UNION\x10\x0c\x12\r\n\tINTERSECT\x10\r\x12\n\n\x06\x45XCEPT\x10\x0e\x12\x12\n\x0eTABLE_SUBQUERY\x10\x0f\x12\x08\n\x04SCAN\x10\x10\x12\x13\n\x0fPARTITIONS_SCAN\x10\x11\x12\x12\n\x0e\x42ST_INDEX_SCAN\x10\x12\x12\t\n\x05STORE\x10\x13\x12\n\n\x06INSERT\x10\x14\x12\x13\n\x0f\x43REATE_DATABASE\x10\x15\x12\x11\n\rDROP_DATABASE\x10\x16\x12\x10\n\x0c\x43REATE_TABLE\x10\x17\x12\x0e\n\nDROP_TABLE\x10\x18\x12\x14\n\x10\x41LTER_TABLESPACE\x10\x19\x12\x0f\n\x0b\x41LTER_TABLE\x10\x1a\x12\x12\n\x0eTRUNCATE_TABLE\x10\x1b*\xcc\x01\n\x08JoinType\x12\x0e\n\nCROSS_JOIN\x10\x00\x12\x0e\n\nINNER_JOIN\x10\x01\x12\x13\n\x0fLEFT_OUTER_JOIN\x10\x02\x12\x14\n\x10RIGHT_OUTER_JOIN\x10\x03\x12\x13\n\x0f\x46ULL_OUTER_JOIN\x10\x04\x12\x0e\n\nUNION_JOIN\x10\x05\x12\x12\n\x0eLEFT_ANTI_JOIN\x10\x06\x12\x13\n\x0fRIGHT_ANTI_JOIN\x10\x07\x12\x12\n\x0eLEFT_SEMI_JOIN\x10\x08\x12\x13\n\x0fRIGHT_SEMI_JOIN\x10\t*\xa6\x03\n\x08\x45valType\x12\x07\n\x03NOT\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x12\t\n\x05\x45QUAL\x10\x03\x12\x0b\n\x07IS_NULL\x10\x04\x12\r\n\tNOT_EQUAL\x10\x05\x12\x07\n\x03LTH\x10\x06\x12\x07\n\x03LEQ\x10\x07\x12\x07\n\x03GTH\x10\x08\x12\x07\n\x03GEQ\x10\t\x12\x08\n\x04PLUS\x10\n\x12\t\n\x05MINUS\x10\x0b\x12\x0b\n\x07MODULAR\x10\x0c\x12\x0c\n\x08MULTIPLY\x10\r\x12\n\n\x06\x44IVIDE\x10\x0e\x12\x0b\n\x07\x42IT_AND\x10\x0f\x12\n\n\x06\x42IT_OR\x10\x10\x12\x0b\n\x07\x42IT_XOR\x10\x11\x12\x13\n\x0fWINDOW_FUNCTION\x10\x12\x12\x10\n\x0c\x41GG_FUNCTION\x10\x13\x12\x0c\n\x08\x46UNCTION\x10\x14\x12\x08\n\x04LIKE\x10\x15\x12\x0e\n\nSIMILAR_TO\x10\x16\x12\t\n\x05REGEX\x10\x17\x12\x0f\n\x0b\x43ONCATENATE\x10\x18\x12\x0b\n\x07\x42\x45TWEEN\x10\x19\x12\x08\n\x04\x43\x41SE\x10\x1a\x12\x0b\n\x07IF_THEN\x10\x1b\x12\x06\n\x02IN\x10\x1c\x12\n\n\x06SIGNED\x10\x1d\x12\x08\n\x04\x43\x41ST\x10\x1e\x12\x10\n\x0cROW_CONSTANT\x10\x1f\x12\t\n\x05\x46IELD\x10 \x12\t\n\x05\x43ONST\x10!*`\n\x0bShuffleType\x12\x10\n\x0cNONE_SHUFFLE\x10\x00\x12\x10\n\x0cHASH_SHUFFLE\x10\x01\x12\x11\n\rRANGE_SHUFFLE\x10\x02\x12\x1a\n\x16SCATTERED_HASH_SHUFFLE\x10\x03*D\n\x0cTransmitType\x12\x11\n\rPUSH_TRANSMIT\x10\x00\x12\x11\n\rPULL_TRANSMIT\x10\x01\x12\x0e\n\nFILE_WRITE\x10\x02\x42.\n\x1borg.apache.tajo.plan.serderB\tPlanProto\x88\x01\x00\xa0\x01\x01')

_NODETYPE = _descriptor.EnumDescriptor(
  name='NodeType',
  full_name='NodeType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SET_SESSION', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ROOT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXPRS', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PROJECTION', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LIMIT', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WINDOW_AGG', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SORT', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HAVING', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GROUP_BY', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DISTINCT_GROUP_BY', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SELECTION', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='JOIN', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNION', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INTERSECT', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCEPT', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TABLE_SUBQUERY', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SCAN', index=16, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PARTITIONS_SCAN', index=17, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BST_INDEX_SCAN', index=18, number=18,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STORE', index=19, number=19,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INSERT', index=20, number=20,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CREATE_DATABASE', index=21, number=21,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DROP_DATABASE', index=22, number=22,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CREATE_TABLE', index=23, number=23,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DROP_TABLE', index=24, number=24,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALTER_TABLESPACE', index=25, number=25,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALTER_TABLE', index=26, number=26,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRUNCATE_TABLE', index=27, number=27,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=6161,
  serialized_end=6601,
)

NodeType = enum_type_wrapper.EnumTypeWrapper(_NODETYPE)
_JOINTYPE = _descriptor.EnumDescriptor(
  name='JoinType',
  full_name='JoinType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='CROSS_JOIN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INNER_JOIN', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_OUTER_JOIN', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_OUTER_JOIN', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FULL_OUTER_JOIN', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNION_JOIN', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_ANTI_JOIN', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_ANTI_JOIN', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_SEMI_JOIN', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_SEMI_JOIN', index=9, number=9,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=6604,
  serialized_end=6808,
)

JoinType = enum_type_wrapper.EnumTypeWrapper(_JOINTYPE)
_EVALTYPE = _descriptor.EnumDescriptor(
  name='EvalType',
  full_name='EvalType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NOT', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AND', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OR', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EQUAL', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IS_NULL', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOT_EQUAL', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LTH', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEQ', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GTH', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GEQ', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PLUS', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MINUS', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MODULAR', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MULTIPLY', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIVIDE', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BIT_AND', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BIT_OR', index=16, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BIT_XOR', index=17, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WINDOW_FUNCTION', index=18, number=18,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='AGG_FUNCTION', index=19, number=19,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FUNCTION', index=20, number=20,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LIKE', index=21, number=21,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SIMILAR_TO', index=22, number=22,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGEX', index=23, number=23,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CONCATENATE', index=24, number=24,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BETWEEN', index=25, number=25,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CASE', index=26, number=26,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IF_THEN', index=27, number=27,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IN', index=28, number=28,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SIGNED', index=29, number=29,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CAST', index=30, number=30,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ROW_CONSTANT', index=31, number=31,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FIELD', index=32, number=32,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CONST', index=33, number=33,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=6811,
  serialized_end=7233,
)

EvalType = enum_type_wrapper.EnumTypeWrapper(_EVALTYPE)
_SHUFFLETYPE = _descriptor.EnumDescriptor(
  name='ShuffleType',
  full_name='ShuffleType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE_SHUFFLE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HASH_SHUFFLE', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RANGE_SHUFFLE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SCATTERED_HASH_SHUFFLE', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=7235,
  serialized_end=7331,
)

ShuffleType = enum_type_wrapper.EnumTypeWrapper(_SHUFFLETYPE)
_TRANSMITTYPE = _descriptor.EnumDescriptor(
  name='TransmitType',
  full_name='TransmitType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PUSH_TRANSMIT', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PULL_TRANSMIT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FILE_WRITE', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=7333,
  serialized_end=7401,
)

TransmitType = enum_type_wrapper.EnumTypeWrapper(_TRANSMITTYPE)
SET_SESSION = 0
ROOT = 1
EXPRS = 2
PROJECTION = 3
LIMIT = 4
WINDOW_AGG = 5
SORT = 6
HAVING = 7
GROUP_BY = 8
DISTINCT_GROUP_BY = 9
SELECTION = 10
JOIN = 11
UNION = 12
INTERSECT = 13
EXCEPT = 14
TABLE_SUBQUERY = 15
SCAN = 16
PARTITIONS_SCAN = 17
BST_INDEX_SCAN = 18
STORE = 19
INSERT = 20
CREATE_DATABASE = 21
DROP_DATABASE = 22
CREATE_TABLE = 23
DROP_TABLE = 24
ALTER_TABLESPACE = 25
ALTER_TABLE = 26
TRUNCATE_TABLE = 27
CROSS_JOIN = 0
INNER_JOIN = 1
LEFT_OUTER_JOIN = 2
RIGHT_OUTER_JOIN = 3
FULL_OUTER_JOIN = 4
UNION_JOIN = 5
LEFT_ANTI_JOIN = 6
RIGHT_ANTI_JOIN = 7
LEFT_SEMI_JOIN = 8
RIGHT_SEMI_JOIN = 9
NOT = 0
AND = 1
OR = 2
EQUAL = 3
IS_NULL = 4
NOT_EQUAL = 5
LTH = 6
LEQ = 7
GTH = 8
GEQ = 9
PLUS = 10
MINUS = 11
MODULAR = 12
MULTIPLY = 13
DIVIDE = 14
BIT_AND = 15
BIT_OR = 16
BIT_XOR = 17
WINDOW_FUNCTION = 18
AGG_FUNCTION = 19
FUNCTION = 20
LIKE = 21
SIMILAR_TO = 22
REGEX = 23
CONCATENATE = 24
BETWEEN = 25
CASE = 26
IF_THEN = 27
IN = 28
SIGNED = 29
CAST = 30
ROW_CONSTANT = 31
FIELD = 32
CONST = 33
NONE_SHUFFLE = 0
HASH_SHUFFLE = 1
RANGE_SHUFFLE = 2
SCATTERED_HASH_SHUFFLE = 3
PUSH_TRANSMIT = 0
PULL_TRANSMIT = 1
FILE_WRITE = 2


_ALTERTABLESPACENODE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='AlterTablespaceNode.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LOCATION', index=0, number=0,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3587,
  serialized_end=3607,
)

_ALTERTABLENODE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='AlterTableNode.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RENAME_TABLE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RENAME_COLUMN', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ADD_COLUMN', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3962,
  serialized_end=4021,
)

_WINFUNCTIONEVALSPEC_WINDOWFRAMESTARTBOUNDTYPE = _descriptor.EnumDescriptor(
  name='WindowFrameStartBoundType',
  full_name='WinFunctionEvalSpec.WindowFrameStartBoundType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='S_UNBOUNDED_PRECEDING', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='S_CURRENT_ROW', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='S_PRECEDING', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5730,
  serialized_end=5820,
)

_WINFUNCTIONEVALSPEC_WINDOWFRAMEENDBOUNDTYPE = _descriptor.EnumDescriptor(
  name='WindowFrameEndBoundType',
  full_name='WinFunctionEvalSpec.WindowFrameEndBoundType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='E_UNBOUNDED_FOLLOWING', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='E_CURRENT_ROW', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='E_FOLLOWING', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5822,
  serialized_end=5910,
)

_WINFUNCTIONEVALSPEC_WINDOWFRAMEUNIT = _descriptor.EnumDescriptor(
  name='WindowFrameUnit',
  full_name='WinFunctionEvalSpec.WindowFrameUnit',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ROW', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RANGE', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5912,
  serialized_end=5949,
)


_LOGICALNODETREE = _descriptor.Descriptor(
  name='LogicalNodeTree',
  full_name='LogicalNodeTree',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='nodes', full_name='LogicalNodeTree.nodes', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=75,
  serialized_end=121,
)


_LOGICALNODE = _descriptor.Descriptor(
  name='LogicalNode',
  full_name='LogicalNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='visitSeq', full_name='LogicalNode.visitSeq', index=0,
      number=1, type=5, cpp_type=1, 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='nodeId', full_name='LogicalNode.nodeId', index=1,
      number=2, type=5, cpp_type=1, 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='type', full_name='LogicalNode.type', index=2,
      number=3, 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='in_schema', full_name='LogicalNode.in_schema', 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='out_schema', full_name='LogicalNode.out_schema', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='scan', full_name='LogicalNode.scan', 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='partitionScan', full_name='LogicalNode.partitionScan', 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='join', full_name='LogicalNode.join', 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='filter', full_name='LogicalNode.filter', 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='groupby', full_name='LogicalNode.groupby', 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='distinctGroupby', full_name='LogicalNode.distinctGroupby', 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),
    _descriptor.FieldDescriptor(
      name='sort', full_name='LogicalNode.sort', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='limit', full_name='LogicalNode.limit', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='windowAgg', full_name='LogicalNode.windowAgg', index=13,
      number=14, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='projection', full_name='LogicalNode.projection', index=14,
      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='exprEval', full_name='LogicalNode.exprEval', index=15,
      number=16, 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='union', full_name='LogicalNode.union', index=16,
      number=17, 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='tableSubQuery', full_name='LogicalNode.tableSubQuery', index=17,
      number=18, 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='persistentStore', full_name='LogicalNode.persistentStore', index=18,
      number=19, 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='storeTable', full_name='LogicalNode.storeTable', index=19,
      number=20, 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='LogicalNode.insert', index=20,
      number=21, 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='createTable', full_name='LogicalNode.createTable', index=21,
      number=22, 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='root', full_name='LogicalNode.root', index=22,
      number=23, 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='setSession', full_name='LogicalNode.setSession', index=23,
      number=24, 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='createDatabase', full_name='LogicalNode.createDatabase', index=24,
      number=25, 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='dropDatabase', full_name='LogicalNode.dropDatabase', index=25,
      number=26, 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='dropTable', full_name='LogicalNode.dropTable', index=26,
      number=27, 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='alterTablespace', full_name='LogicalNode.alterTablespace', index=27,
      number=28, 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='alterTable', full_name='LogicalNode.alterTable', index=28,
      number=29, 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='truncateTableNode', full_name='LogicalNode.truncateTableNode', index=29,
      number=30, 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=124,
  serialized_end=1168,
)


_SCANNODE = _descriptor.Descriptor(
  name='ScanNode',
  full_name='ScanNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='table', full_name='ScanNode.table', 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='alias', full_name='ScanNode.alias', 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='existTargets', full_name='ScanNode.existTargets', index=2,
      number=3, type=8, cpp_type=7, label=2,
      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='targets', full_name='ScanNode.targets', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='qual', full_name='ScanNode.qual', 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=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=1171,
  serialized_end=1305,
)


_PARTITIONSCANSPEC = _descriptor.Descriptor(
  name='PartitionScanSpec',
  full_name='PartitionScanSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='paths', full_name='PartitionScanSpec.paths', 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=1307,
  serialized_end=1341,
)


_FILTERNODE = _descriptor.Descriptor(
  name='FilterNode',
  full_name='FilterNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='FilterNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='qual', full_name='FilterNode.qual', 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=1343,
  serialized_end=1402,
)


_JOINNODE = _descriptor.Descriptor(
  name='JoinNode',
  full_name='JoinNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='leftChildSeq', full_name='JoinNode.leftChildSeq', index=0,
      number=1, type=5, cpp_type=1, 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='rightChilSeq', full_name='JoinNode.rightChilSeq', index=1,
      number=2, type=5, cpp_type=1, 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='joinType', full_name='JoinNode.joinType', index=2,
      number=3, 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='joinQual', full_name='JoinNode.joinQual', 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='existsTargets', full_name='JoinNode.existsTargets', index=4,
      number=5, type=8, cpp_type=7, label=2,
      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='targets', full_name='JoinNode.targets', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=1405,
  serialized_end=1570,
)


_GROUPBYNODE = _descriptor.Descriptor(
  name='GroupbyNode',
  full_name='GroupbyNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='GroupbyNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='distinct', full_name='GroupbyNode.distinct', index=1,
      number=2, type=8, cpp_type=7, label=2,
      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='groupingKeys', full_name='GroupbyNode.groupingKeys', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='aggFunctions', full_name='GroupbyNode.aggFunctions', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='targets', full_name='GroupbyNode.targets', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=1573,
  serialized_end=1721,
)


_DISTINCTGROUPBYNODE = _descriptor.Descriptor(
  name='DistinctGroupbyNode',
  full_name='DistinctGroupbyNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='DistinctGroupbyNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='groupbyNode', full_name='DistinctGroupbyNode.groupbyNode', 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='subPlans', full_name='DistinctGroupbyNode.subPlans', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='targets', full_name='DistinctGroupbyNode.targets', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='groupingKeys', full_name='DistinctGroupbyNode.groupingKeys', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='resultId', full_name='DistinctGroupbyNode.resultId', index=5,
      number=6, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='aggFunctions', full_name='DistinctGroupbyNode.aggFunctions', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=1724,
  serialized_end=1947,
)


_SORTNODE = _descriptor.Descriptor(
  name='SortNode',
  full_name='SortNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='SortNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='sortSpecs', full_name='SortNode.sortSpecs', 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=1949,
  serialized_end=2012,
)


_LIMITNODE = _descriptor.Descriptor(
  name='LimitNode',
  full_name='LimitNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='LimitNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='fetchFirstNum', full_name='LimitNode.fetchFirstNum', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2014,
  serialized_end=2066,
)


_WINDOWAGGNODE = _descriptor.Descriptor(
  name='WindowAggNode',
  full_name='WindowAggNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='WindowAggNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='partitionKeys', full_name='WindowAggNode.partitionKeys', 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='sortSpecs', full_name='WindowAggNode.sortSpecs', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='windowFunctions', full_name='WindowAggNode.windowFunctions', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='distinct', full_name='WindowAggNode.distinct', index=4,
      number=5, type=8, cpp_type=7, label=2,
      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='targets', full_name='WindowAggNode.targets', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2069,
  serialized_end=2258,
)


_UNIONNODE = _descriptor.Descriptor(
  name='UnionNode',
  full_name='UnionNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='leftChildSeq', full_name='UnionNode.leftChildSeq', index=0,
      number=1, type=5, cpp_type=1, 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='rightChildSeq', full_name='UnionNode.rightChildSeq', index=1,
      number=2, type=5, cpp_type=1, 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='all', full_name='UnionNode.all', index=2,
      number=3, type=8, cpp_type=7, label=2,
      has_default_value=False, 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=2260,
  serialized_end=2329,
)


_TABLESUBQUERYNODE = _descriptor.Descriptor(
  name='TableSubQueryNode',
  full_name='TableSubQueryNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='TableSubQueryNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='tableName', full_name='TableSubQueryNode.tableName', 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='targets', full_name='TableSubQueryNode.targets', 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=2331,
  serialized_end=2413,
)


_PROJECTIONNODE = _descriptor.Descriptor(
  name='ProjectionNode',
  full_name='ProjectionNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='ProjectionNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='distinct', full_name='ProjectionNode.distinct', index=1,
      number=2, type=8, cpp_type=7, label=2,
      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='targets', full_name='ProjectionNode.targets', 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=2415,
  serialized_end=2493,
)


_EVALEXPRNODE = _descriptor.Descriptor(
  name='EvalExprNode',
  full_name='EvalExprNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='targets', full_name='EvalExprNode.targets', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2495,
  serialized_end=2535,
)


_ROOTNODE = _descriptor.Descriptor(
  name='RootNode',
  full_name='RootNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='RootNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2537,
  serialized_end=2565,
)


_SETSESSIONNODE = _descriptor.Descriptor(
  name='SetSessionNode',
  full_name='SetSessionNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='SetSessionNode.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='value', full_name='SetSessionNode.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2567,
  serialized_end=2612,
)


_TARGET = _descriptor.Descriptor(
  name='Target',
  full_name='Target',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='expr', full_name='Target.expr', 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='alias', full_name='Target.alias', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2614,
  serialized_end=2666,
)


_PARTITIONTABLESCANSPEC = _descriptor.Descriptor(
  name='PartitionTableScanSpec',
  full_name='PartitionTableScanSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='paths', full_name='PartitionTableScanSpec.paths', 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=2668,
  serialized_end=2707,
)


_PERSISTENTSTORENODE = _descriptor.Descriptor(
  name='PersistentStoreNode',
  full_name='PersistentStoreNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='childSeq', full_name='PersistentStoreNode.childSeq', index=0,
      number=1, type=5, cpp_type=1, 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='storageType', full_name='PersistentStoreNode.storageType', index=1,
      number=2, 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='tableProperties', full_name='PersistentStoreNode.tableProperties', 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=2709,
  serialized_end=2825,
)


_STORETABLENODESPEC = _descriptor.Descriptor(
  name='StoreTableNodeSpec',
  full_name='StoreTableNodeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tableName', full_name='StoreTableNodeSpec.tableName', 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='partitionMethod', full_name='StoreTableNodeSpec.partitionMethod', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2827,
  serialized_end=2914,
)


_INSERTNODESPEC = _descriptor.Descriptor(
  name='InsertNodeSpec',
  full_name='InsertNodeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='overwrite', full_name='InsertNodeSpec.overwrite', index=0,
      number=1, type=8, cpp_type=7, label=2,
      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='tableSchema', full_name='InsertNodeSpec.tableSchema', 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='targetSchema', full_name='InsertNodeSpec.targetSchema', index=2,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='projectedSchema', full_name='InsertNodeSpec.projectedSchema', 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='path', full_name='InsertNodeSpec.path', index=4,
      number=5, 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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=2917,
  serialized_end=3076,
)


_CREATETABLENODESPEC = _descriptor.Descriptor(
  name='CreateTableNodeSpec',
  full_name='CreateTableNodeSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='schema', full_name='CreateTableNodeSpec.schema', 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='external', full_name='CreateTableNodeSpec.external', index=1,
      number=2, type=8, cpp_type=7, label=2,
      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='ifNotExists', full_name='CreateTableNodeSpec.ifNotExists', index=2,
      number=3, type=8, cpp_type=7, label=2,
      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='path', full_name='CreateTableNodeSpec.path', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3078,
  serialized_end=3182,
)


_DROPTABLENODE = _descriptor.Descriptor(
  name='DropTableNode',
  full_name='DropTableNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tableName', full_name='DropTableNode.tableName', 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='ifExists', full_name='DropTableNode.ifExists', index=1,
      number=2, type=8, cpp_type=7, label=2,
      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='purge', full_name='DropTableNode.purge', index=2,
      number=3, type=8, cpp_type=7, label=2,
      has_default_value=False, 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=3184,
  serialized_end=3251,
)


_TRUNCATETABLENODE = _descriptor.Descriptor(
  name='TruncateTableNode',
  full_name='TruncateTableNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tableNames', full_name='TruncateTableNode.tableNames', 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=3253,
  serialized_end=3292,
)


_CREATEDATABASENODE = _descriptor.Descriptor(
  name='CreateDatabaseNode',
  full_name='CreateDatabaseNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dbName', full_name='CreateDatabaseNode.dbName', 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='ifNotExists', full_name='CreateDatabaseNode.ifNotExists', index=1,
      number=2, type=8, cpp_type=7, label=2,
      has_default_value=False, 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=3294,
  serialized_end=3351,
)


_DROPDATABASENODE = _descriptor.Descriptor(
  name='DropDatabaseNode',
  full_name='DropDatabaseNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dbName', full_name='DropDatabaseNode.dbName', 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='ifExists', full_name='DropDatabaseNode.ifExists', index=1,
      number=2, type=8, cpp_type=7, label=2,
      has_default_value=False, 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=3353,
  serialized_end=3405,
)


_ALTERTABLESPACENODE_SETLOCATION = _descriptor.Descriptor(
  name='SetLocation',
  full_name='AlterTablespaceNode.SetLocation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='location', full_name='AlterTablespaceNode.SetLocation.location', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3554,
  serialized_end=3585,
)

_ALTERTABLESPACENODE = _descriptor.Descriptor(
  name='AlterTablespaceNode',
  full_name='AlterTablespaceNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tableSpaceName', full_name='AlterTablespaceNode.tableSpaceName', 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='setType', full_name='AlterTablespaceNode.setType', index=1,
      number=2, 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='setLocation', full_name='AlterTablespaceNode.setLocation', 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=[_ALTERTABLESPACENODE_SETLOCATION, ],
  enum_types=[
    _ALTERTABLESPACENODE_TYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3408,
  serialized_end=3607,
)


_ALTERTABLENODE_RENAMETABLE = _descriptor.Descriptor(
  name='RenameTable',
  full_name='AlterTableNode.RenameTable',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='newName', full_name='AlterTableNode.RenameTable.newName', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3834,
  serialized_end=3864,
)

_ALTERTABLENODE_RENAMECOLUMN = _descriptor.Descriptor(
  name='RenameColumn',
  full_name='AlterTableNode.RenameColumn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='oldName', full_name='AlterTableNode.RenameColumn.oldName', 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='newName', full_name='AlterTableNode.RenameColumn.newName', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3866,
  serialized_end=3914,
)

_ALTERTABLENODE_ADDCOLUMN = _descriptor.Descriptor(
  name='AddColumn',
  full_name='AlterTableNode.AddColumn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addColumn', full_name='AlterTableNode.AddColumn.addColumn', 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=3916,
  serialized_end=3960,
)

_ALTERTABLENODE = _descriptor.Descriptor(
  name='AlterTableNode',
  full_name='AlterTableNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tableName', full_name='AlterTableNode.tableName', 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='setType', full_name='AlterTableNode.setType', index=1,
      number=2, 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='renameTable', full_name='AlterTableNode.renameTable', 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='renameColumn', full_name='AlterTableNode.renameColumn', 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='addColumn', full_name='AlterTableNode.addColumn', 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=[_ALTERTABLENODE_RENAMETABLE, _ALTERTABLENODE_RENAMECOLUMN, _ALTERTABLENODE_ADDCOLUMN, ],
  enum_types=[
    _ALTERTABLENODE_TYPE,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=3610,
  serialized_end=4021,
)


_EVALNODETREE = _descriptor.Descriptor(
  name='EvalNodeTree',
  full_name='EvalNodeTree',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='nodes', full_name='EvalNodeTree.nodes', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4023,
  serialized_end=4063,
)


_EVALNODE = _descriptor.Descriptor(
  name='EvalNode',
  full_name='EvalNode',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='EvalNode.id', index=0,
      number=1, type=5, cpp_type=1, 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='type', full_name='EvalNode.type', index=1,
      number=2, 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='data_type', full_name='EvalNode.data_type', 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='unary', full_name='EvalNode.unary', 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='binary', full_name='EvalNode.binary', 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='const', full_name='EvalNode.const', 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='field', full_name='EvalNode.field', 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='function', full_name='EvalNode.function', 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='aggFunction', full_name='EvalNode.aggFunction', 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='winFunction', full_name='EvalNode.winFunction', 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='rowConst', full_name='EvalNode.rowConst', 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),
    _descriptor.FieldDescriptor(
      name='between', full_name='EvalNode.between', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='casewhen', full_name='EvalNode.casewhen', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='ifCond', full_name='EvalNode.ifCond', index=13,
      number=14, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='patternMatch', full_name='EvalNode.patternMatch', index=14,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4066,
  serialized_end=4545,
)


_UNARYEVAL = _descriptor.Descriptor(
  name='UnaryEval',
  full_name='UnaryEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='child_id', full_name='UnaryEval.child_id', index=0,
      number=1, type=5, cpp_type=1, 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='castingType', full_name='UnaryEval.castingType', 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='negative', full_name='UnaryEval.negative', index=2,
      number=3, 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='timezone', full_name='UnaryEval.timezone', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4547,
  serialized_end=4644,
)


_BINARYEVAL = _descriptor.Descriptor(
  name='BinaryEval',
  full_name='BinaryEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='lhs_id', full_name='BinaryEval.lhs_id', index=0,
      number=1, type=5, cpp_type=1, 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='rhs_id', full_name='BinaryEval.rhs_id', index=1,
      number=2, type=5, cpp_type=1, 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='negative', full_name='BinaryEval.negative', 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=4646,
  serialized_end=4715,
)


_PATTERNMATCHEVALSPEC = _descriptor.Descriptor(
  name='PatternMatchEvalSpec',
  full_name='PatternMatchEvalSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='caseSensitive', full_name='PatternMatchEvalSpec.caseSensitive', index=0,
      number=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4717,
  serialized_end=4762,
)


_BETWEENEVAL = _descriptor.Descriptor(
  name='BetweenEval',
  full_name='BetweenEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='predicand', full_name='BetweenEval.predicand', index=0,
      number=1, type=5, cpp_type=1, 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='begin', full_name='BetweenEval.begin', index=1,
      number=2, type=5, cpp_type=1, 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='end', full_name='BetweenEval.end', index=2,
      number=3, type=5, cpp_type=1, 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='negative', full_name='BetweenEval.negative', index=3,
      number=4, 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),
    _descriptor.FieldDescriptor(
      name='symmetric', full_name='BetweenEval.symmetric', index=4,
      number=5, 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=4764,
  serialized_end=4875,
)


_CASEWHENEVAL = _descriptor.Descriptor(
  name='CaseWhenEval',
  full_name='CaseWhenEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ifConds', full_name='CaseWhenEval.ifConds', index=0,
      number=1, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='else', full_name='CaseWhenEval.else', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4877,
  serialized_end=4922,
)


_IFCONDEVAL = _descriptor.Descriptor(
  name='IfCondEval',
  full_name='IfCondEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='condition', full_name='IfCondEval.condition', index=0,
      number=1, type=5, cpp_type=1, 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='then', full_name='IfCondEval.then', index=1,
      number=2, type=5, cpp_type=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=4924,
  serialized_end=4969,
)


_CONSTEVAL = _descriptor.Descriptor(
  name='ConstEval',
  full_name='ConstEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='ConstEval.value', 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=4971,
  serialized_end=5005,
)


_ROWCONSTEVAL = _descriptor.Descriptor(
  name='RowConstEval',
  full_name='RowConstEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='values', full_name='RowConstEval.values', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5007,
  serialized_end=5045,
)


_FUNCTIONEVAL = _descriptor.Descriptor(
  name='FunctionEval',
  full_name='FunctionEval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='funcion', full_name='FunctionEval.funcion', 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='paramIds', full_name='FunctionEval.paramIds', index=1,
      number=2, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5047,
  serialized_end=5116,
)


_AGGFUNCTIONEVALSPEC = _descriptor.Descriptor(
  name='AggFunctionEvalSpec',
  full_name='AggFunctionEvalSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='intermediatePhase', full_name='AggFunctionEvalSpec.intermediatePhase', index=0,
      number=1, type=8, cpp_type=7, label=2,
      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='finalPhase', full_name='AggFunctionEvalSpec.finalPhase', index=1,
      number=2, type=8, cpp_type=7, label=2,
      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='alias', full_name='AggFunctionEvalSpec.alias', index=2,
      number=3, 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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5118,
  serialized_end=5201,
)


_WINFUNCTIONEVALSPEC_WINDOWFRAME = _descriptor.Descriptor(
  name='WindowFrame',
  full_name='WinFunctionEvalSpec.WindowFrame',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='startBound', full_name='WinFunctionEvalSpec.WindowFrame.startBound', 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='endBound', full_name='WinFunctionEvalSpec.WindowFrame.endBound', 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='unit', full_name='WinFunctionEvalSpec.WindowFrame.unit', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5317,
  serialized_end=5496,
)

_WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND = _descriptor.Descriptor(
  name='WindowStartBound',
  full_name='WinFunctionEvalSpec.WindowStartBound',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='boundType', full_name='WinFunctionEvalSpec.WindowStartBound.boundType', 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='number', full_name='WinFunctionEvalSpec.WindowStartBound.number', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5498,
  serialized_end=5614,
)

_WINFUNCTIONEVALSPEC_WINDOWENDBOUND = _descriptor.Descriptor(
  name='WindowEndBound',
  full_name='WinFunctionEvalSpec.WindowEndBound',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='boundType', full_name='WinFunctionEvalSpec.WindowEndBound.boundType', 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='number', full_name='WinFunctionEvalSpec.WindowEndBound.number', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5616,
  serialized_end=5728,
)

_WINFUNCTIONEVALSPEC = _descriptor.Descriptor(
  name='WinFunctionEvalSpec',
  full_name='WinFunctionEvalSpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sortSpec', full_name='WinFunctionEvalSpec.sortSpec', 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='windowFrame', full_name='WinFunctionEvalSpec.windowFrame', 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=[_WINFUNCTIONEVALSPEC_WINDOWFRAME, _WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND, _WINFUNCTIONEVALSPEC_WINDOWENDBOUND, ],
  enum_types=[
    _WINFUNCTIONEVALSPEC_WINDOWFRAMESTARTBOUNDTYPE,
    _WINFUNCTIONEVALSPEC_WINDOWFRAMEENDBOUNDTYPE,
    _WINFUNCTIONEVALSPEC_WINDOWFRAMEUNIT,
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5204,
  serialized_end=5949,
)


_DATUM = _descriptor.Descriptor(
  name='Datum',
  full_name='Datum',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='Datum.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='boolean', full_name='Datum.boolean', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='int4', full_name='Datum.int4', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='int8', full_name='Datum.int8', index=3,
      number=4, 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='float4', full_name='Datum.float4', index=4,
      number=5, type=2, cpp_type=6, 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='float8', full_name='Datum.float8', index=5,
      number=6, 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='text', full_name='Datum.text', index=6,
      number=7, 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='blob', full_name='Datum.blob', index=7,
      number=8, type=12, cpp_type=9, label=1,
      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='interval', full_name='Datum.interval', index=8,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=5952,
  serialized_end=6114,
)


_INTERVAL = _descriptor.Descriptor(
  name='Interval',
  full_name='Interval',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='month', full_name='Interval.month', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='msec', full_name='Interval.msec', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  extension_ranges=[],
  serialized_start=6116,
  serialized_end=6158,
)

_LOGICALNODETREE.fields_by_name['nodes'].message_type = _LOGICALNODE
_LOGICALNODE.fields_by_name['type'].enum_type = _NODETYPE
_LOGICALNODE.fields_by_name['in_schema'].message_type = CatalogProtos_pb2._SCHEMAPROTO
_LOGICALNODE.fields_by_name['out_schema'].message_type = CatalogProtos_pb2._SCHEMAPROTO
_LOGICALNODE.fields_by_name['scan'].message_type = _SCANNODE
_LOGICALNODE.fields_by_name['partitionScan'].message_type = _PARTITIONSCANSPEC
_LOGICALNODE.fields_by_name['join'].message_type = _JOINNODE
_LOGICALNODE.fields_by_name['filter'].message_type = _FILTERNODE
_LOGICALNODE.fields_by_name['groupby'].message_type = _GROUPBYNODE
_LOGICALNODE.fields_by_name['distinctGroupby'].message_type = _DISTINCTGROUPBYNODE
_LOGICALNODE.fields_by_name['sort'].message_type = _SORTNODE
_LOGICALNODE.fields_by_name['limit'].message_type = _LIMITNODE
_LOGICALNODE.fields_by_name['windowAgg'].message_type = _WINDOWAGGNODE
_LOGICALNODE.fields_by_name['projection'].message_type = _PROJECTIONNODE
_LOGICALNODE.fields_by_name['exprEval'].message_type = _EVALEXPRNODE
_LOGICALNODE.fields_by_name['union'].message_type = _UNIONNODE
_LOGICALNODE.fields_by_name['tableSubQuery'].message_type = _TABLESUBQUERYNODE
_LOGICALNODE.fields_by_name['persistentStore'].message_type = _PERSISTENTSTORENODE
_LOGICALNODE.fields_by_name['storeTable'].message_type = _STORETABLENODESPEC
_LOGICALNODE.fields_by_name['insert'].message_type = _INSERTNODESPEC
_LOGICALNODE.fields_by_name['createTable'].message_type = _CREATETABLENODESPEC
_LOGICALNODE.fields_by_name['root'].message_type = _ROOTNODE
_LOGICALNODE.fields_by_name['setSession'].message_type = _SETSESSIONNODE
_LOGICALNODE.fields_by_name['createDatabase'].message_type = _CREATEDATABASENODE
_LOGICALNODE.fields_by_name['dropDatabase'].message_type = _DROPDATABASENODE
_LOGICALNODE.fields_by_name['dropTable'].message_type = _DROPTABLENODE
_LOGICALNODE.fields_by_name['alterTablespace'].message_type = _ALTERTABLESPACENODE
_LOGICALNODE.fields_by_name['alterTable'].message_type = _ALTERTABLENODE
_LOGICALNODE.fields_by_name['truncateTableNode'].message_type = _TRUNCATETABLENODE
_SCANNODE.fields_by_name['table'].message_type = CatalogProtos_pb2._TABLEDESCPROTO
_SCANNODE.fields_by_name['targets'].message_type = _TARGET
_SCANNODE.fields_by_name['qual'].message_type = _EVALNODETREE
_FILTERNODE.fields_by_name['qual'].message_type = _EVALNODETREE
_JOINNODE.fields_by_name['joinType'].enum_type = _JOINTYPE
_JOINNODE.fields_by_name['joinQual'].message_type = _EVALNODETREE
_JOINNODE.fields_by_name['targets'].message_type = _TARGET
_GROUPBYNODE.fields_by_name['groupingKeys'].message_type = CatalogProtos_pb2._COLUMNPROTO
_GROUPBYNODE.fields_by_name['aggFunctions'].message_type = _EVALNODETREE
_GROUPBYNODE.fields_by_name['targets'].message_type = _TARGET
_DISTINCTGROUPBYNODE.fields_by_name['groupbyNode'].message_type = _LOGICALNODE
_DISTINCTGROUPBYNODE.fields_by_name['subPlans'].message_type = _LOGICALNODE
_DISTINCTGROUPBYNODE.fields_by_name['targets'].message_type = _TARGET
_DISTINCTGROUPBYNODE.fields_by_name['groupingKeys'].message_type = CatalogProtos_pb2._COLUMNPROTO
_DISTINCTGROUPBYNODE.fields_by_name['aggFunctions'].message_type = _EVALNODETREE
_SORTNODE.fields_by_name['sortSpecs'].message_type = CatalogProtos_pb2._SORTSPECPROTO
_WINDOWAGGNODE.fields_by_name['partitionKeys'].message_type = CatalogProtos_pb2._COLUMNPROTO
_WINDOWAGGNODE.fields_by_name['sortSpecs'].message_type = CatalogProtos_pb2._SORTSPECPROTO
_WINDOWAGGNODE.fields_by_name['windowFunctions'].message_type = _EVALNODETREE
_WINDOWAGGNODE.fields_by_name['targets'].message_type = _TARGET
_TABLESUBQUERYNODE.fields_by_name['targets'].message_type = _TARGET
_PROJECTIONNODE.fields_by_name['targets'].message_type = _TARGET
_EVALEXPRNODE.fields_by_name['targets'].message_type = _TARGET
_TARGET.fields_by_name['expr'].message_type = _EVALNODETREE
_PERSISTENTSTORENODE.fields_by_name['storageType'].enum_type = CatalogProtos_pb2._STORETYPE
_PERSISTENTSTORENODE.fields_by_name['tableProperties'].message_type = PrimitiveProtos_pb2._KEYVALUESETPROTO
_STORETABLENODESPEC.fields_by_name['partitionMethod'].message_type = CatalogProtos_pb2._PARTITIONMETHODPROTO
_INSERTNODESPEC.fields_by_name['tableSchema'].message_type = CatalogProtos_pb2._SCHEMAPROTO
_INSERTNODESPEC.fields_by_name['targetSchema'].message_type = CatalogProtos_pb2._SCHEMAPROTO
_INSERTNODESPEC.fields_by_name['projectedSchema'].message_type = CatalogProtos_pb2._SCHEMAPROTO
_CREATETABLENODESPEC.fields_by_name['schema'].message_type = CatalogProtos_pb2._SCHEMAPROTO
_ALTERTABLESPACENODE_SETLOCATION.containing_type = _ALTERTABLESPACENODE;
_ALTERTABLESPACENODE.fields_by_name['setType'].enum_type = _ALTERTABLESPACENODE_TYPE
_ALTERTABLESPACENODE.fields_by_name['setLocation'].message_type = _ALTERTABLESPACENODE_SETLOCATION
_ALTERTABLESPACENODE_TYPE.containing_type = _ALTERTABLESPACENODE;
_ALTERTABLENODE_RENAMETABLE.containing_type = _ALTERTABLENODE;
_ALTERTABLENODE_RENAMECOLUMN.containing_type = _ALTERTABLENODE;
_ALTERTABLENODE_ADDCOLUMN.fields_by_name['addColumn'].message_type = CatalogProtos_pb2._COLUMNPROTO
_ALTERTABLENODE_ADDCOLUMN.containing_type = _ALTERTABLENODE;
_ALTERTABLENODE.fields_by_name['setType'].enum_type = _ALTERTABLENODE_TYPE
_ALTERTABLENODE.fields_by_name['renameTable'].message_type = _ALTERTABLENODE_RENAMETABLE
_ALTERTABLENODE.fields_by_name['renameColumn'].message_type = _ALTERTABLENODE_RENAMECOLUMN
_ALTERTABLENODE.fields_by_name['addColumn'].message_type = _ALTERTABLENODE_ADDCOLUMN
_ALTERTABLENODE_TYPE.containing_type = _ALTERTABLENODE;
_EVALNODETREE.fields_by_name['nodes'].message_type = _EVALNODE
_EVALNODE.fields_by_name['type'].enum_type = _EVALTYPE
_EVALNODE.fields_by_name['data_type'].message_type = DataTypes_pb2._DATATYPE
_EVALNODE.fields_by_name['unary'].message_type = _UNARYEVAL
_EVALNODE.fields_by_name['binary'].message_type = _BINARYEVAL
_EVALNODE.fields_by_name['const'].message_type = _CONSTEVAL
_EVALNODE.fields_by_name['field'].message_type = CatalogProtos_pb2._COLUMNPROTO
_EVALNODE.fields_by_name['function'].message_type = _FUNCTIONEVAL
_EVALNODE.fields_by_name['aggFunction'].message_type = _AGGFUNCTIONEVALSPEC
_EVALNODE.fields_by_name['winFunction'].message_type = _WINFUNCTIONEVALSPEC
_EVALNODE.fields_by_name['rowConst'].message_type = _ROWCONSTEVAL
_EVALNODE.fields_by_name['between'].message_type = _BETWEENEVAL
_EVALNODE.fields_by_name['casewhen'].message_type = _CASEWHENEVAL
_EVALNODE.fields_by_name['ifCond'].message_type = _IFCONDEVAL
_EVALNODE.fields_by_name['patternMatch'].message_type = _PATTERNMATCHEVALSPEC
_UNARYEVAL.fields_by_name['castingType'].message_type = DataTypes_pb2._DATATYPE
_CONSTEVAL.fields_by_name['value'].message_type = _DATUM
_ROWCONSTEVAL.fields_by_name['values'].message_type = _DATUM
_FUNCTIONEVAL.fields_by_name['funcion'].message_type = CatalogProtos_pb2._FUNCTIONDESCPROTO
_WINFUNCTIONEVALSPEC_WINDOWFRAME.fields_by_name['startBound'].message_type = _WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND
_WINFUNCTIONEVALSPEC_WINDOWFRAME.fields_by_name['endBound'].message_type = _WINFUNCTIONEVALSPEC_WINDOWENDBOUND
_WINFUNCTIONEVALSPEC_WINDOWFRAME.fields_by_name['unit'].enum_type = _WINFUNCTIONEVALSPEC_WINDOWFRAMEUNIT
_WINFUNCTIONEVALSPEC_WINDOWFRAME.containing_type = _WINFUNCTIONEVALSPEC;
_WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND.fields_by_name['boundType'].enum_type = _WINFUNCTIONEVALSPEC_WINDOWFRAMESTARTBOUNDTYPE
_WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND.fields_by_name['number'].message_type = _EVALNODETREE
_WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND.containing_type = _WINFUNCTIONEVALSPEC;
_WINFUNCTIONEVALSPEC_WINDOWENDBOUND.fields_by_name['boundType'].enum_type = _WINFUNCTIONEVALSPEC_WINDOWFRAMEENDBOUNDTYPE
_WINFUNCTIONEVALSPEC_WINDOWENDBOUND.fields_by_name['number'].message_type = _EVALNODETREE
_WINFUNCTIONEVALSPEC_WINDOWENDBOUND.containing_type = _WINFUNCTIONEVALSPEC;
_WINFUNCTIONEVALSPEC.fields_by_name['sortSpec'].message_type = CatalogProtos_pb2._SORTSPECPROTO
_WINFUNCTIONEVALSPEC.fields_by_name['windowFrame'].message_type = _WINFUNCTIONEVALSPEC_WINDOWFRAME
_WINFUNCTIONEVALSPEC_WINDOWFRAMESTARTBOUNDTYPE.containing_type = _WINFUNCTIONEVALSPEC;
_WINFUNCTIONEVALSPEC_WINDOWFRAMEENDBOUNDTYPE.containing_type = _WINFUNCTIONEVALSPEC;
_WINFUNCTIONEVALSPEC_WINDOWFRAMEUNIT.containing_type = _WINFUNCTIONEVALSPEC;
_DATUM.fields_by_name['type'].enum_type = DataTypes_pb2._TYPE
_DATUM.fields_by_name['interval'].message_type = _INTERVAL
DESCRIPTOR.message_types_by_name['LogicalNodeTree'] = _LOGICALNODETREE
DESCRIPTOR.message_types_by_name['LogicalNode'] = _LOGICALNODE
DESCRIPTOR.message_types_by_name['ScanNode'] = _SCANNODE
DESCRIPTOR.message_types_by_name['PartitionScanSpec'] = _PARTITIONSCANSPEC
DESCRIPTOR.message_types_by_name['FilterNode'] = _FILTERNODE
DESCRIPTOR.message_types_by_name['JoinNode'] = _JOINNODE
DESCRIPTOR.message_types_by_name['GroupbyNode'] = _GROUPBYNODE
DESCRIPTOR.message_types_by_name['DistinctGroupbyNode'] = _DISTINCTGROUPBYNODE
DESCRIPTOR.message_types_by_name['SortNode'] = _SORTNODE
DESCRIPTOR.message_types_by_name['LimitNode'] = _LIMITNODE
DESCRIPTOR.message_types_by_name['WindowAggNode'] = _WINDOWAGGNODE
DESCRIPTOR.message_types_by_name['UnionNode'] = _UNIONNODE
DESCRIPTOR.message_types_by_name['TableSubQueryNode'] = _TABLESUBQUERYNODE
DESCRIPTOR.message_types_by_name['ProjectionNode'] = _PROJECTIONNODE
DESCRIPTOR.message_types_by_name['EvalExprNode'] = _EVALEXPRNODE
DESCRIPTOR.message_types_by_name['RootNode'] = _ROOTNODE
DESCRIPTOR.message_types_by_name['SetSessionNode'] = _SETSESSIONNODE
DESCRIPTOR.message_types_by_name['Target'] = _TARGET
DESCRIPTOR.message_types_by_name['PartitionTableScanSpec'] = _PARTITIONTABLESCANSPEC
DESCRIPTOR.message_types_by_name['PersistentStoreNode'] = _PERSISTENTSTORENODE
DESCRIPTOR.message_types_by_name['StoreTableNodeSpec'] = _STORETABLENODESPEC
DESCRIPTOR.message_types_by_name['InsertNodeSpec'] = _INSERTNODESPEC
DESCRIPTOR.message_types_by_name['CreateTableNodeSpec'] = _CREATETABLENODESPEC
DESCRIPTOR.message_types_by_name['DropTableNode'] = _DROPTABLENODE
DESCRIPTOR.message_types_by_name['TruncateTableNode'] = _TRUNCATETABLENODE
DESCRIPTOR.message_types_by_name['CreateDatabaseNode'] = _CREATEDATABASENODE
DESCRIPTOR.message_types_by_name['DropDatabaseNode'] = _DROPDATABASENODE
DESCRIPTOR.message_types_by_name['AlterTablespaceNode'] = _ALTERTABLESPACENODE
DESCRIPTOR.message_types_by_name['AlterTableNode'] = _ALTERTABLENODE
DESCRIPTOR.message_types_by_name['EvalNodeTree'] = _EVALNODETREE
DESCRIPTOR.message_types_by_name['EvalNode'] = _EVALNODE
DESCRIPTOR.message_types_by_name['UnaryEval'] = _UNARYEVAL
DESCRIPTOR.message_types_by_name['BinaryEval'] = _BINARYEVAL
DESCRIPTOR.message_types_by_name['PatternMatchEvalSpec'] = _PATTERNMATCHEVALSPEC
DESCRIPTOR.message_types_by_name['BetweenEval'] = _BETWEENEVAL
DESCRIPTOR.message_types_by_name['CaseWhenEval'] = _CASEWHENEVAL
DESCRIPTOR.message_types_by_name['IfCondEval'] = _IFCONDEVAL
DESCRIPTOR.message_types_by_name['ConstEval'] = _CONSTEVAL
DESCRIPTOR.message_types_by_name['RowConstEval'] = _ROWCONSTEVAL
DESCRIPTOR.message_types_by_name['FunctionEval'] = _FUNCTIONEVAL
DESCRIPTOR.message_types_by_name['AggFunctionEvalSpec'] = _AGGFUNCTIONEVALSPEC
DESCRIPTOR.message_types_by_name['WinFunctionEvalSpec'] = _WINFUNCTIONEVALSPEC
DESCRIPTOR.message_types_by_name['Datum'] = _DATUM
DESCRIPTOR.message_types_by_name['Interval'] = _INTERVAL

class LogicalNodeTree(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _LOGICALNODETREE

  # @@protoc_insertion_point(class_scope:LogicalNodeTree)

class LogicalNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _LOGICALNODE

  # @@protoc_insertion_point(class_scope:LogicalNode)

class ScanNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _SCANNODE

  # @@protoc_insertion_point(class_scope:ScanNode)

class PartitionScanSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _PARTITIONSCANSPEC

  # @@protoc_insertion_point(class_scope:PartitionScanSpec)

class FilterNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _FILTERNODE

  # @@protoc_insertion_point(class_scope:FilterNode)

class JoinNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _JOINNODE

  # @@protoc_insertion_point(class_scope:JoinNode)

class GroupbyNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _GROUPBYNODE

  # @@protoc_insertion_point(class_scope:GroupbyNode)

class DistinctGroupbyNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _DISTINCTGROUPBYNODE

  # @@protoc_insertion_point(class_scope:DistinctGroupbyNode)

class SortNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _SORTNODE

  # @@protoc_insertion_point(class_scope:SortNode)

class LimitNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _LIMITNODE

  # @@protoc_insertion_point(class_scope:LimitNode)

class WindowAggNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _WINDOWAGGNODE

  # @@protoc_insertion_point(class_scope:WindowAggNode)

class UnionNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _UNIONNODE

  # @@protoc_insertion_point(class_scope:UnionNode)

class TableSubQueryNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _TABLESUBQUERYNODE

  # @@protoc_insertion_point(class_scope:TableSubQueryNode)

class ProjectionNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _PROJECTIONNODE

  # @@protoc_insertion_point(class_scope:ProjectionNode)

class EvalExprNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _EVALEXPRNODE

  # @@protoc_insertion_point(class_scope:EvalExprNode)

class RootNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _ROOTNODE

  # @@protoc_insertion_point(class_scope:RootNode)

class SetSessionNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _SETSESSIONNODE

  # @@protoc_insertion_point(class_scope:SetSessionNode)

class Target(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _TARGET

  # @@protoc_insertion_point(class_scope:Target)

class PartitionTableScanSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _PARTITIONTABLESCANSPEC

  # @@protoc_insertion_point(class_scope:PartitionTableScanSpec)

class PersistentStoreNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _PERSISTENTSTORENODE

  # @@protoc_insertion_point(class_scope:PersistentStoreNode)

class StoreTableNodeSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _STORETABLENODESPEC

  # @@protoc_insertion_point(class_scope:StoreTableNodeSpec)

class InsertNodeSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _INSERTNODESPEC

  # @@protoc_insertion_point(class_scope:InsertNodeSpec)

class CreateTableNodeSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _CREATETABLENODESPEC

  # @@protoc_insertion_point(class_scope:CreateTableNodeSpec)

class DropTableNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _DROPTABLENODE

  # @@protoc_insertion_point(class_scope:DropTableNode)

class TruncateTableNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _TRUNCATETABLENODE

  # @@protoc_insertion_point(class_scope:TruncateTableNode)

class CreateDatabaseNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _CREATEDATABASENODE

  # @@protoc_insertion_point(class_scope:CreateDatabaseNode)

class DropDatabaseNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _DROPDATABASENODE

  # @@protoc_insertion_point(class_scope:DropDatabaseNode)

class AlterTablespaceNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType

  class SetLocation(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _ALTERTABLESPACENODE_SETLOCATION

    # @@protoc_insertion_point(class_scope:AlterTablespaceNode.SetLocation)
  DESCRIPTOR = _ALTERTABLESPACENODE

  # @@protoc_insertion_point(class_scope:AlterTablespaceNode)

class AlterTableNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType

  class RenameTable(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _ALTERTABLENODE_RENAMETABLE

    # @@protoc_insertion_point(class_scope:AlterTableNode.RenameTable)

  class RenameColumn(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _ALTERTABLENODE_RENAMECOLUMN

    # @@protoc_insertion_point(class_scope:AlterTableNode.RenameColumn)

  class AddColumn(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _ALTERTABLENODE_ADDCOLUMN

    # @@protoc_insertion_point(class_scope:AlterTableNode.AddColumn)
  DESCRIPTOR = _ALTERTABLENODE

  # @@protoc_insertion_point(class_scope:AlterTableNode)

class EvalNodeTree(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _EVALNODETREE

  # @@protoc_insertion_point(class_scope:EvalNodeTree)

class EvalNode(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _EVALNODE

  # @@protoc_insertion_point(class_scope:EvalNode)

class UnaryEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _UNARYEVAL

  # @@protoc_insertion_point(class_scope:UnaryEval)

class BinaryEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _BINARYEVAL

  # @@protoc_insertion_point(class_scope:BinaryEval)

class PatternMatchEvalSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _PATTERNMATCHEVALSPEC

  # @@protoc_insertion_point(class_scope:PatternMatchEvalSpec)

class BetweenEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _BETWEENEVAL

  # @@protoc_insertion_point(class_scope:BetweenEval)

class CaseWhenEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _CASEWHENEVAL

  # @@protoc_insertion_point(class_scope:CaseWhenEval)

class IfCondEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _IFCONDEVAL

  # @@protoc_insertion_point(class_scope:IfCondEval)

class ConstEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _CONSTEVAL

  # @@protoc_insertion_point(class_scope:ConstEval)

class RowConstEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _ROWCONSTEVAL

  # @@protoc_insertion_point(class_scope:RowConstEval)

class FunctionEval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _FUNCTIONEVAL

  # @@protoc_insertion_point(class_scope:FunctionEval)

class AggFunctionEvalSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _AGGFUNCTIONEVALSPEC

  # @@protoc_insertion_point(class_scope:AggFunctionEvalSpec)

class WinFunctionEvalSpec(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType

  class WindowFrame(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WINFUNCTIONEVALSPEC_WINDOWFRAME

    # @@protoc_insertion_point(class_scope:WinFunctionEvalSpec.WindowFrame)

  class WindowStartBound(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WINFUNCTIONEVALSPEC_WINDOWSTARTBOUND

    # @@protoc_insertion_point(class_scope:WinFunctionEvalSpec.WindowStartBound)

  class WindowEndBound(_message.Message):
    __metaclass__ = _reflection.GeneratedProtocolMessageType
    DESCRIPTOR = _WINFUNCTIONEVALSPEC_WINDOWENDBOUND

    # @@protoc_insertion_point(class_scope:WinFunctionEvalSpec.WindowEndBound)
  DESCRIPTOR = _WINFUNCTIONEVALSPEC

  # @@protoc_insertion_point(class_scope:WinFunctionEvalSpec)

class Datum(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _DATUM

  # @@protoc_insertion_point(class_scope:Datum)

class Interval(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _INTERVAL

  # @@protoc_insertion_point(class_scope:Interval)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), '\n\033org.apache.tajo.plan.serderB\tPlanProto\210\001\000\240\001\001')
# @@protoc_insertion_point(module_scope)
