From 29b01f9e9dd3f5d2895e8f68030245dc9bd3e404 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 11:15:57 +1100 Subject: [PATCH 01/27] Update ExportCSVConfig to support generic CSV sources --- proto/relationalai/lqp/v1/transactions.proto | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/proto/relationalai/lqp/v1/transactions.proto b/proto/relationalai/lqp/v1/transactions.proto index ff921bef..c25b42de 100644 --- a/proto/relationalai/lqp/v1/transactions.proto +++ b/proto/relationalai/lqp/v1/transactions.proto @@ -71,6 +71,9 @@ message ExportCSVConfig { string path = 1; repeated ExportCSVColumn data_columns = 2; + ExportCSVSource csv_source = 10; + CSVConfig csv_config = 11; + optional int64 partition_size = 3; optional string compression = 4; optional bool syntax_header_row = 5; @@ -87,6 +90,17 @@ message ExportCSVColumn { RelationId column_data = 2; } +message ExportCSVColumns { + repeated ExportCSVColumn columns = 1; +} + +message ExportCSVSource { + oneof csv_source { + ExportCSVColumns gnf_columns = 1; + RelationId table_def = 2; + } +} + // // Read operations // From ae4cac567ce048038153922ca1034e11a7989915 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 12:11:39 +1100 Subject: [PATCH 02/27] Update generated proto files --- go/src/lqp/v1/transactions.pb.go | 492 ++++++++++++------ .../gen/relationalai/lqp/v1/fragments_pb.jl | 4 +- .../src/gen/relationalai/lqp/v1/logic_pb.jl | 4 +- .../relationalai/lqp/v1/transactions_pb.jl | 257 ++++++--- .../src/lqp/proto/v1/transactions_pb2.py | 40 +- .../src/lqp/proto/v1/transactions_pb2.pyi | 22 +- 6 files changed, 554 insertions(+), 265 deletions(-) diff --git a/go/src/lqp/v1/transactions.pb.go b/go/src/lqp/v1/transactions.pb.go index 9bdf2e11..9816a8b3 100644 --- a/go/src/lqp/v1/transactions.pb.go +++ b/go/src/lqp/v1/transactions.pb.go @@ -559,6 +559,8 @@ type ExportCSVConfig struct { state protoimpl.MessageState `protogen:"open.v1"` Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` DataColumns []*ExportCSVColumn `protobuf:"bytes,2,rep,name=data_columns,json=dataColumns,proto3" json:"data_columns,omitempty"` + CsvSource *ExportCSVSource `protobuf:"bytes,10,opt,name=csv_source,json=csvSource,proto3" json:"csv_source,omitempty"` + CsvConfig *CSVConfig `protobuf:"bytes,11,opt,name=csv_config,json=csvConfig,proto3" json:"csv_config,omitempty"` PartitionSize *int64 `protobuf:"varint,3,opt,name=partition_size,json=partitionSize,proto3,oneof" json:"partition_size,omitempty"` Compression *string `protobuf:"bytes,4,opt,name=compression,proto3,oneof" json:"compression,omitempty"` SyntaxHeaderRow *bool `protobuf:"varint,5,opt,name=syntax_header_row,json=syntaxHeaderRow,proto3,oneof" json:"syntax_header_row,omitempty"` @@ -614,6 +616,20 @@ func (x *ExportCSVConfig) GetDataColumns() []*ExportCSVColumn { return nil } +func (x *ExportCSVConfig) GetCsvSource() *ExportCSVSource { + if x != nil { + return x.CsvSource + } + return nil +} + +func (x *ExportCSVConfig) GetCsvConfig() *CSVConfig { + if x != nil { + return x.CsvConfig + } + return nil +} + func (x *ExportCSVConfig) GetPartitionSize() int64 { if x != nil && x.PartitionSize != nil { return *x.PartitionSize @@ -715,6 +731,132 @@ func (x *ExportCSVColumn) GetColumnData() *RelationId { return nil } +type ExportCSVColumns struct { + state protoimpl.MessageState `protogen:"open.v1"` + Columns []*ExportCSVColumn `protobuf:"bytes,1,rep,name=columns,proto3" json:"columns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExportCSVColumns) Reset() { + *x = ExportCSVColumns{} + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExportCSVColumns) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportCSVColumns) ProtoMessage() {} + +func (x *ExportCSVColumns) ProtoReflect() protoreflect.Message { + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportCSVColumns.ProtoReflect.Descriptor instead. +func (*ExportCSVColumns) Descriptor() ([]byte, []int) { + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{11} +} + +func (x *ExportCSVColumns) GetColumns() []*ExportCSVColumn { + if x != nil { + return x.Columns + } + return nil +} + +type ExportCSVSource struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to CsvSource: + // + // *ExportCSVSource_GnfColumns + // *ExportCSVSource_TableDef + CsvSource isExportCSVSource_CsvSource `protobuf_oneof:"csv_source"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExportCSVSource) Reset() { + *x = ExportCSVSource{} + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExportCSVSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportCSVSource) ProtoMessage() {} + +func (x *ExportCSVSource) ProtoReflect() protoreflect.Message { + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportCSVSource.ProtoReflect.Descriptor instead. +func (*ExportCSVSource) Descriptor() ([]byte, []int) { + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{12} +} + +func (x *ExportCSVSource) GetCsvSource() isExportCSVSource_CsvSource { + if x != nil { + return x.CsvSource + } + return nil +} + +func (x *ExportCSVSource) GetGnfColumns() *ExportCSVColumns { + if x != nil { + if x, ok := x.CsvSource.(*ExportCSVSource_GnfColumns); ok { + return x.GnfColumns + } + } + return nil +} + +func (x *ExportCSVSource) GetTableDef() *RelationId { + if x != nil { + if x, ok := x.CsvSource.(*ExportCSVSource_TableDef); ok { + return x.TableDef + } + } + return nil +} + +type isExportCSVSource_CsvSource interface { + isExportCSVSource_CsvSource() +} + +type ExportCSVSource_GnfColumns struct { + GnfColumns *ExportCSVColumns `protobuf:"bytes,1,opt,name=gnf_columns,json=gnfColumns,proto3,oneof"` +} + +type ExportCSVSource_TableDef struct { + TableDef *RelationId `protobuf:"bytes,2,opt,name=table_def,json=tableDef,proto3,oneof"` +} + +func (*ExportCSVSource_GnfColumns) isExportCSVSource_CsvSource() {} + +func (*ExportCSVSource_TableDef) isExportCSVSource_CsvSource() {} + type Read struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to ReadType: @@ -731,7 +873,7 @@ type Read struct { func (x *Read) Reset() { *x = Read{} - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[11] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -743,7 +885,7 @@ func (x *Read) String() string { func (*Read) ProtoMessage() {} func (x *Read) ProtoReflect() protoreflect.Message { - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[11] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -756,7 +898,7 @@ func (x *Read) ProtoReflect() protoreflect.Message { // Deprecated: Use Read.ProtoReflect.Descriptor instead. func (*Read) Descriptor() ([]byte, []int) { - return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{11} + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{13} } func (x *Read) GetReadType() isRead_ReadType { @@ -854,7 +996,7 @@ type Demand struct { func (x *Demand) Reset() { *x = Demand{} - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[12] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -866,7 +1008,7 @@ func (x *Demand) String() string { func (*Demand) ProtoMessage() {} func (x *Demand) ProtoReflect() protoreflect.Message { - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[12] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -879,7 +1021,7 @@ func (x *Demand) ProtoReflect() protoreflect.Message { // Deprecated: Use Demand.ProtoReflect.Descriptor instead. func (*Demand) Descriptor() ([]byte, []int) { - return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{12} + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{14} } func (x *Demand) GetRelationId() *RelationId { @@ -899,7 +1041,7 @@ type Output struct { func (x *Output) Reset() { *x = Output{} - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[13] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -911,7 +1053,7 @@ func (x *Output) String() string { func (*Output) ProtoMessage() {} func (x *Output) ProtoReflect() protoreflect.Message { - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[13] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -924,7 +1066,7 @@ func (x *Output) ProtoReflect() protoreflect.Message { // Deprecated: Use Output.ProtoReflect.Descriptor instead. func (*Output) Descriptor() ([]byte, []int) { - return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{13} + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{15} } func (x *Output) GetName() string { @@ -953,7 +1095,7 @@ type Export struct { func (x *Export) Reset() { *x = Export{} - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[14] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -965,7 +1107,7 @@ func (x *Export) String() string { func (*Export) ProtoMessage() {} func (x *Export) ProtoReflect() protoreflect.Message { - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[14] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -978,7 +1120,7 @@ func (x *Export) ProtoReflect() protoreflect.Message { // Deprecated: Use Export.ProtoReflect.Descriptor instead. func (*Export) Descriptor() ([]byte, []int) { - return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{14} + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{16} } func (x *Export) GetExportConfig() isExport_ExportConfig { @@ -1017,7 +1159,7 @@ type WhatIf struct { func (x *WhatIf) Reset() { *x = WhatIf{} - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[15] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1029,7 +1171,7 @@ func (x *WhatIf) String() string { func (*WhatIf) ProtoMessage() {} func (x *WhatIf) ProtoReflect() protoreflect.Message { - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[15] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1042,7 +1184,7 @@ func (x *WhatIf) ProtoReflect() protoreflect.Message { // Deprecated: Use WhatIf.ProtoReflect.Descriptor instead. func (*WhatIf) Descriptor() ([]byte, []int) { - return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{15} + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{17} } func (x *WhatIf) GetBranch() string { @@ -1069,7 +1211,7 @@ type Abort struct { func (x *Abort) Reset() { *x = Abort{} - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[16] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1081,7 +1223,7 @@ func (x *Abort) String() string { func (*Abort) ProtoMessage() {} func (x *Abort) ProtoReflect() protoreflect.Message { - mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[16] + mi := &file_relationalai_lqp_v1_transactions_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1094,7 +1236,7 @@ func (x *Abort) ProtoReflect() protoreflect.Message { // Deprecated: Use Abort.ProtoReflect.Descriptor instead. func (*Abort) Descriptor() ([]byte, []int) { - return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{16} + return file_relationalai_lqp_v1_transactions_proto_rawDescGZIP(), []int{18} } func (x *Abort) GetName() string { @@ -1184,108 +1326,132 @@ var file_relationalai_lqp_v1_transactions_proto_rawDesc = string([]byte{ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0xc4, 0x04, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, + 0x6f, 0x6e, 0x73, 0x22, 0xc8, 0x05, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x79, 0x6e, 0x74, 0x61, - 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x02, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x79, 0x6e, 0x74, - 0x61, 0x78, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x13, 0x73, 0x79, 0x6e, 0x74, 0x61, - 0x78, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x69, - 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x73, 0x79, 0x6e, 0x74, 0x61, - 0x78, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x79, 0x6e, - 0x74, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x63, 0x68, 0x61, 0x72, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x51, 0x75, 0x6f, - 0x74, 0x65, 0x63, 0x68, 0x61, 0x72, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x73, 0x79, 0x6e, - 0x74, 0x61, 0x78, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x63, 0x68, 0x61, 0x72, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x10, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x45, 0x73, - 0x63, 0x61, 0x70, 0x65, 0x63, 0x68, 0x61, 0x72, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x5f, 0x72, 0x6f, 0x77, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x63, 0x68, 0x61, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, - 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x63, 0x68, 0x61, 0x72, 0x22, 0x74, 0x0a, 0x0f, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, - 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x22, 0xa4, 0x02, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x64, 0x65, 0x6d, - 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x6c, 0x61, + 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, + 0x63, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x73, 0x76, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x63, + 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, + 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, + 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x13, 0x73, + 0x79, 0x6e, 0x74, 0x61, 0x78, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, + 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x73, + 0x79, 0x6e, 0x74, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, + 0x10, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x63, 0x68, 0x61, + 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x73, 0x79, 0x6e, 0x74, 0x61, + 0x78, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x63, 0x68, 0x61, 0x72, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, + 0x11, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x63, 0x68, + 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x10, 0x73, 0x79, 0x6e, 0x74, + 0x61, 0x78, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x63, 0x68, 0x61, 0x72, 0x88, 0x01, 0x01, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x79, 0x6e, + 0x74, 0x61, 0x78, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x64, 0x65, + 0x6c, 0x69, 0x6d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x71, + 0x75, 0x6f, 0x74, 0x65, 0x63, 0x68, 0x61, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x79, 0x6e, + 0x74, 0x61, 0x78, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x63, 0x68, 0x61, 0x72, 0x22, 0x74, + 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, + 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, - 0x12, 0x35, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, - 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, - 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x77, 0x68, 0x61, 0x74, 0x5f, - 0x69, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x68, 0x61, 0x74, 0x49, 0x66, 0x48, 0x00, 0x52, 0x06, 0x77, 0x68, 0x61, 0x74, 0x49, 0x66, 0x12, - 0x32, 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x61, 0x62, - 0x6f, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x48, 0x00, 0x52, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x06, 0x44, 0x65, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, - 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, + 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x43, 0x53, 0x56, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x0b, + 0x67, 0x6e, 0x66, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x53, - 0x56, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0a, 0x06, 0x57, 0x68, 0x61, 0x74, 0x49, 0x66, 0x12, - 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x5d, 0x0a, 0x05, 0x41, 0x62, 0x6f, - 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x87, 0x01, 0x0a, 0x10, 0x4d, 0x61, 0x69, - 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, - 0x1d, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, - 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4d, + 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x6e, 0x66, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x64, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x48, 0x00, 0x52, 0x08, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x35, 0x0a, + 0x06, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, + 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x07, 0x77, + 0x68, 0x61, 0x74, 0x5f, 0x69, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x68, 0x61, 0x74, 0x49, 0x66, 0x48, 0x00, 0x52, 0x06, 0x77, 0x68, 0x61, + 0x74, 0x49, 0x66, 0x12, 0x32, 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, + 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x00, + 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0b, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x06, 0x44, + 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x06, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x63, + 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0a, 0x06, 0x57, 0x68, 0x61, + 0x74, 0x49, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x30, 0x0a, 0x05, 0x65, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x5d, 0x0a, + 0x05, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, + 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x87, 0x01, 0x0a, + 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, + 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, + 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x12, + 0x1a, 0x0a, 0x16, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, + 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x49, 0x4e, 0x54, - 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, - 0x10, 0x03, 0x42, 0x1f, 0x5a, 0x1d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x71, 0x70, - 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x42, 0x1f, 0x5a, 0x1d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x6c, 0x2d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x2f, 0x6c, 0x71, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -1301,29 +1467,32 @@ func file_relationalai_lqp_v1_transactions_proto_rawDescGZIP() []byte { } var file_relationalai_lqp_v1_transactions_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_relationalai_lqp_v1_transactions_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_relationalai_lqp_v1_transactions_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_relationalai_lqp_v1_transactions_proto_goTypes = []any{ - (MaintenanceLevel)(0), // 0: relationalai.lqp.v1.MaintenanceLevel - (*Transaction)(nil), // 1: relationalai.lqp.v1.Transaction - (*Configure)(nil), // 2: relationalai.lqp.v1.Configure - (*IVMConfig)(nil), // 3: relationalai.lqp.v1.IVMConfig - (*Sync)(nil), // 4: relationalai.lqp.v1.Sync - (*Epoch)(nil), // 5: relationalai.lqp.v1.Epoch - (*Write)(nil), // 6: relationalai.lqp.v1.Write - (*Define)(nil), // 7: relationalai.lqp.v1.Define - (*Undefine)(nil), // 8: relationalai.lqp.v1.Undefine - (*Context)(nil), // 9: relationalai.lqp.v1.Context - (*ExportCSVConfig)(nil), // 10: relationalai.lqp.v1.ExportCSVConfig - (*ExportCSVColumn)(nil), // 11: relationalai.lqp.v1.ExportCSVColumn - (*Read)(nil), // 12: relationalai.lqp.v1.Read - (*Demand)(nil), // 13: relationalai.lqp.v1.Demand - (*Output)(nil), // 14: relationalai.lqp.v1.Output - (*Export)(nil), // 15: relationalai.lqp.v1.Export - (*WhatIf)(nil), // 16: relationalai.lqp.v1.WhatIf - (*Abort)(nil), // 17: relationalai.lqp.v1.Abort - (*FragmentId)(nil), // 18: relationalai.lqp.v1.FragmentId - (*Fragment)(nil), // 19: relationalai.lqp.v1.Fragment - (*RelationId)(nil), // 20: relationalai.lqp.v1.RelationId + (MaintenanceLevel)(0), // 0: relationalai.lqp.v1.MaintenanceLevel + (*Transaction)(nil), // 1: relationalai.lqp.v1.Transaction + (*Configure)(nil), // 2: relationalai.lqp.v1.Configure + (*IVMConfig)(nil), // 3: relationalai.lqp.v1.IVMConfig + (*Sync)(nil), // 4: relationalai.lqp.v1.Sync + (*Epoch)(nil), // 5: relationalai.lqp.v1.Epoch + (*Write)(nil), // 6: relationalai.lqp.v1.Write + (*Define)(nil), // 7: relationalai.lqp.v1.Define + (*Undefine)(nil), // 8: relationalai.lqp.v1.Undefine + (*Context)(nil), // 9: relationalai.lqp.v1.Context + (*ExportCSVConfig)(nil), // 10: relationalai.lqp.v1.ExportCSVConfig + (*ExportCSVColumn)(nil), // 11: relationalai.lqp.v1.ExportCSVColumn + (*ExportCSVColumns)(nil), // 12: relationalai.lqp.v1.ExportCSVColumns + (*ExportCSVSource)(nil), // 13: relationalai.lqp.v1.ExportCSVSource + (*Read)(nil), // 14: relationalai.lqp.v1.Read + (*Demand)(nil), // 15: relationalai.lqp.v1.Demand + (*Output)(nil), // 16: relationalai.lqp.v1.Output + (*Export)(nil), // 17: relationalai.lqp.v1.Export + (*WhatIf)(nil), // 18: relationalai.lqp.v1.WhatIf + (*Abort)(nil), // 19: relationalai.lqp.v1.Abort + (*FragmentId)(nil), // 20: relationalai.lqp.v1.FragmentId + (*Fragment)(nil), // 21: relationalai.lqp.v1.Fragment + (*RelationId)(nil), // 22: relationalai.lqp.v1.RelationId + (*CSVConfig)(nil), // 23: relationalai.lqp.v1.CSVConfig } var file_relationalai_lqp_v1_transactions_proto_depIdxs = []int32{ 5, // 0: relationalai.lqp.v1.Transaction.epochs:type_name -> relationalai.lqp.v1.Epoch @@ -1331,32 +1500,37 @@ var file_relationalai_lqp_v1_transactions_proto_depIdxs = []int32{ 4, // 2: relationalai.lqp.v1.Transaction.sync:type_name -> relationalai.lqp.v1.Sync 3, // 3: relationalai.lqp.v1.Configure.ivm_config:type_name -> relationalai.lqp.v1.IVMConfig 0, // 4: relationalai.lqp.v1.IVMConfig.level:type_name -> relationalai.lqp.v1.MaintenanceLevel - 18, // 5: relationalai.lqp.v1.Sync.fragments:type_name -> relationalai.lqp.v1.FragmentId + 20, // 5: relationalai.lqp.v1.Sync.fragments:type_name -> relationalai.lqp.v1.FragmentId 6, // 6: relationalai.lqp.v1.Epoch.writes:type_name -> relationalai.lqp.v1.Write - 12, // 7: relationalai.lqp.v1.Epoch.reads:type_name -> relationalai.lqp.v1.Read + 14, // 7: relationalai.lqp.v1.Epoch.reads:type_name -> relationalai.lqp.v1.Read 7, // 8: relationalai.lqp.v1.Write.define:type_name -> relationalai.lqp.v1.Define 8, // 9: relationalai.lqp.v1.Write.undefine:type_name -> relationalai.lqp.v1.Undefine 9, // 10: relationalai.lqp.v1.Write.context:type_name -> relationalai.lqp.v1.Context - 19, // 11: relationalai.lqp.v1.Define.fragment:type_name -> relationalai.lqp.v1.Fragment - 18, // 12: relationalai.lqp.v1.Undefine.fragment_id:type_name -> relationalai.lqp.v1.FragmentId - 20, // 13: relationalai.lqp.v1.Context.relations:type_name -> relationalai.lqp.v1.RelationId + 21, // 11: relationalai.lqp.v1.Define.fragment:type_name -> relationalai.lqp.v1.Fragment + 20, // 12: relationalai.lqp.v1.Undefine.fragment_id:type_name -> relationalai.lqp.v1.FragmentId + 22, // 13: relationalai.lqp.v1.Context.relations:type_name -> relationalai.lqp.v1.RelationId 11, // 14: relationalai.lqp.v1.ExportCSVConfig.data_columns:type_name -> relationalai.lqp.v1.ExportCSVColumn - 20, // 15: relationalai.lqp.v1.ExportCSVColumn.column_data:type_name -> relationalai.lqp.v1.RelationId - 13, // 16: relationalai.lqp.v1.Read.demand:type_name -> relationalai.lqp.v1.Demand - 14, // 17: relationalai.lqp.v1.Read.output:type_name -> relationalai.lqp.v1.Output - 16, // 18: relationalai.lqp.v1.Read.what_if:type_name -> relationalai.lqp.v1.WhatIf - 17, // 19: relationalai.lqp.v1.Read.abort:type_name -> relationalai.lqp.v1.Abort - 15, // 20: relationalai.lqp.v1.Read.export:type_name -> relationalai.lqp.v1.Export - 20, // 21: relationalai.lqp.v1.Demand.relation_id:type_name -> relationalai.lqp.v1.RelationId - 20, // 22: relationalai.lqp.v1.Output.relation_id:type_name -> relationalai.lqp.v1.RelationId - 10, // 23: relationalai.lqp.v1.Export.csv_config:type_name -> relationalai.lqp.v1.ExportCSVConfig - 5, // 24: relationalai.lqp.v1.WhatIf.epoch:type_name -> relationalai.lqp.v1.Epoch - 20, // 25: relationalai.lqp.v1.Abort.relation_id:type_name -> relationalai.lqp.v1.RelationId - 26, // [26:26] is the sub-list for method output_type - 26, // [26:26] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name + 13, // 15: relationalai.lqp.v1.ExportCSVConfig.csv_source:type_name -> relationalai.lqp.v1.ExportCSVSource + 23, // 16: relationalai.lqp.v1.ExportCSVConfig.csv_config:type_name -> relationalai.lqp.v1.CSVConfig + 22, // 17: relationalai.lqp.v1.ExportCSVColumn.column_data:type_name -> relationalai.lqp.v1.RelationId + 11, // 18: relationalai.lqp.v1.ExportCSVColumns.columns:type_name -> relationalai.lqp.v1.ExportCSVColumn + 12, // 19: relationalai.lqp.v1.ExportCSVSource.gnf_columns:type_name -> relationalai.lqp.v1.ExportCSVColumns + 22, // 20: relationalai.lqp.v1.ExportCSVSource.table_def:type_name -> relationalai.lqp.v1.RelationId + 15, // 21: relationalai.lqp.v1.Read.demand:type_name -> relationalai.lqp.v1.Demand + 16, // 22: relationalai.lqp.v1.Read.output:type_name -> relationalai.lqp.v1.Output + 18, // 23: relationalai.lqp.v1.Read.what_if:type_name -> relationalai.lqp.v1.WhatIf + 19, // 24: relationalai.lqp.v1.Read.abort:type_name -> relationalai.lqp.v1.Abort + 17, // 25: relationalai.lqp.v1.Read.export:type_name -> relationalai.lqp.v1.Export + 22, // 26: relationalai.lqp.v1.Demand.relation_id:type_name -> relationalai.lqp.v1.RelationId + 22, // 27: relationalai.lqp.v1.Output.relation_id:type_name -> relationalai.lqp.v1.RelationId + 10, // 28: relationalai.lqp.v1.Export.csv_config:type_name -> relationalai.lqp.v1.ExportCSVConfig + 5, // 29: relationalai.lqp.v1.WhatIf.epoch:type_name -> relationalai.lqp.v1.Epoch + 22, // 30: relationalai.lqp.v1.Abort.relation_id:type_name -> relationalai.lqp.v1.RelationId + 31, // [31:31] is the sub-list for method output_type + 31, // [31:31] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name } func init() { file_relationalai_lqp_v1_transactions_proto_init() } @@ -1373,14 +1547,18 @@ func file_relationalai_lqp_v1_transactions_proto_init() { (*Write_Context)(nil), } file_relationalai_lqp_v1_transactions_proto_msgTypes[9].OneofWrappers = []any{} - file_relationalai_lqp_v1_transactions_proto_msgTypes[11].OneofWrappers = []any{ + file_relationalai_lqp_v1_transactions_proto_msgTypes[12].OneofWrappers = []any{ + (*ExportCSVSource_GnfColumns)(nil), + (*ExportCSVSource_TableDef)(nil), + } + file_relationalai_lqp_v1_transactions_proto_msgTypes[13].OneofWrappers = []any{ (*Read_Demand)(nil), (*Read_Output)(nil), (*Read_WhatIf)(nil), (*Read_Abort)(nil), (*Read_Export)(nil), } - file_relationalai_lqp_v1_transactions_proto_msgTypes[14].OneofWrappers = []any{ + file_relationalai_lqp_v1_transactions_proto_msgTypes[16].OneofWrappers = []any{ (*Export_CsvConfig)(nil), } type x struct{} @@ -1389,7 +1567,7 @@ func file_relationalai_lqp_v1_transactions_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_relationalai_lqp_v1_transactions_proto_rawDesc), len(file_relationalai_lqp_v1_transactions_proto_rawDesc)), NumEnums: 1, - NumMessages: 17, + NumMessages: 19, NumExtensions: 0, NumServices: 0, }, diff --git a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl index 66f84a84..0f5ec3a7 100644 --- a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl +++ b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl @@ -1,5 +1,5 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-09T13:12:21.756 -# original file: /Users/nystrom/rai/nn-meta-12-go-tools/proto/relationalai/lqp/v1/fragments.proto (proto3 syntax) +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T12:11:07.999 +# original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/fragments.proto (proto3 syntax) import ProtoBuf as PB using ProtoBuf: OneOf diff --git a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl index 0c1c977a..987d75e4 100644 --- a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl +++ b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl @@ -1,5 +1,5 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-09T13:12:21.246 -# original file: /Users/nystrom/rai/nn-meta-12-go-tools/proto/relationalai/lqp/v1/logic.proto (proto3 syntax) +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T12:11:07.599 +# original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/logic.proto (proto3 syntax) import ProtoBuf as PB using ProtoBuf: OneOf diff --git a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl index f5f53363..d1013bfc 100644 --- a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl +++ b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl @@ -1,13 +1,13 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-09T13:12:21.756 -# original file: /Users/nystrom/rai/nn-meta-12-go-tools/proto/relationalai/lqp/v1/transactions.proto (proto3 syntax) +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T12:11:08 +# original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/transactions.proto (proto3 syntax) import ProtoBuf as PB using ProtoBuf: OneOf using ProtoBuf.EnumX: @enumx export ExportCSVColumn, Demand, Undefine, MaintenanceLevel, Define, Context, Sync, Abort -export Output, ExportCSVConfig, IVMConfig, Write, Export, Configure, Epoch, Read -export Transaction, WhatIf +export Output, ExportCSVColumns, IVMConfig, Write, ExportCSVSource, Configure +export ExportCSVConfig, Export, Epoch, Read, Transaction, WhatIf abstract type var"##Abstract#Transaction" end abstract type var"##Abstract#Epoch" end abstract type var"##Abstract#Read" end @@ -282,82 +282,34 @@ function PB._encoded_size(x::Output) return encoded_size end -struct ExportCSVConfig - path::String - data_columns::Vector{ExportCSVColumn} - partition_size::Int64 - compression::String - syntax_header_row::Bool - syntax_missing_string::String - syntax_delim::String - syntax_quotechar::String - syntax_escapechar::String +struct ExportCSVColumns + columns::Vector{ExportCSVColumn} end -ExportCSVConfig(;path = "", data_columns = Vector{ExportCSVColumn}(), partition_size = zero(Int64), compression = "", syntax_header_row = false, syntax_missing_string = "", syntax_delim = "", syntax_quotechar = "", syntax_escapechar = "") = ExportCSVConfig(path, data_columns, partition_size, compression, syntax_header_row, syntax_missing_string, syntax_delim, syntax_quotechar, syntax_escapechar) -PB.default_values(::Type{ExportCSVConfig}) = (;path = "", data_columns = Vector{ExportCSVColumn}(), partition_size = zero(Int64), compression = "", syntax_header_row = false, syntax_missing_string = "", syntax_delim = "", syntax_quotechar = "", syntax_escapechar = "") -PB.field_numbers(::Type{ExportCSVConfig}) = (;path = 1, data_columns = 2, partition_size = 3, compression = 4, syntax_header_row = 5, syntax_missing_string = 6, syntax_delim = 7, syntax_quotechar = 8, syntax_escapechar = 9) +ExportCSVColumns(;columns = Vector{ExportCSVColumn}()) = ExportCSVColumns(columns) +PB.default_values(::Type{ExportCSVColumns}) = (;columns = Vector{ExportCSVColumn}()) +PB.field_numbers(::Type{ExportCSVColumns}) = (;columns = 1) -function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:ExportCSVConfig}) - path = "" - data_columns = PB.BufferedVector{ExportCSVColumn}() - partition_size = zero(Int64) - compression = "" - syntax_header_row = false - syntax_missing_string = "" - syntax_delim = "" - syntax_quotechar = "" - syntax_escapechar = "" +function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:ExportCSVColumns}) + columns = PB.BufferedVector{ExportCSVColumn}() while !PB.message_done(d) field_number, wire_type = PB.decode_tag(d) if field_number == 1 - path = PB.decode(d, String) - elseif field_number == 2 - PB.decode!(d, data_columns) - elseif field_number == 3 - partition_size = PB.decode(d, Int64) - elseif field_number == 4 - compression = PB.decode(d, String) - elseif field_number == 5 - syntax_header_row = PB.decode(d, Bool) - elseif field_number == 6 - syntax_missing_string = PB.decode(d, String) - elseif field_number == 7 - syntax_delim = PB.decode(d, String) - elseif field_number == 8 - syntax_quotechar = PB.decode(d, String) - elseif field_number == 9 - syntax_escapechar = PB.decode(d, String) + PB.decode!(d, columns) else Base.skip(d, wire_type) end end - return ExportCSVConfig(path, data_columns[], partition_size, compression, syntax_header_row, syntax_missing_string, syntax_delim, syntax_quotechar, syntax_escapechar) + return ExportCSVColumns(columns[]) end -function PB.encode(e::PB.AbstractProtoEncoder, x::ExportCSVConfig) +function PB.encode(e::PB.AbstractProtoEncoder, x::ExportCSVColumns) initpos = position(e.io) - !isempty(x.path) && PB.encode(e, 1, x.path) - !isempty(x.data_columns) && PB.encode(e, 2, x.data_columns) - x.partition_size != zero(Int64) && PB.encode(e, 3, x.partition_size) - !isempty(x.compression) && PB.encode(e, 4, x.compression) - x.syntax_header_row != false && PB.encode(e, 5, x.syntax_header_row) - !isempty(x.syntax_missing_string) && PB.encode(e, 6, x.syntax_missing_string) - !isempty(x.syntax_delim) && PB.encode(e, 7, x.syntax_delim) - !isempty(x.syntax_quotechar) && PB.encode(e, 8, x.syntax_quotechar) - !isempty(x.syntax_escapechar) && PB.encode(e, 9, x.syntax_escapechar) + !isempty(x.columns) && PB.encode(e, 1, x.columns) return position(e.io) - initpos end -function PB._encoded_size(x::ExportCSVConfig) +function PB._encoded_size(x::ExportCSVColumns) encoded_size = 0 - !isempty(x.path) && (encoded_size += PB._encoded_size(x.path, 1)) - !isempty(x.data_columns) && (encoded_size += PB._encoded_size(x.data_columns, 2)) - x.partition_size != zero(Int64) && (encoded_size += PB._encoded_size(x.partition_size, 3)) - !isempty(x.compression) && (encoded_size += PB._encoded_size(x.compression, 4)) - x.syntax_header_row != false && (encoded_size += PB._encoded_size(x.syntax_header_row, 5)) - !isempty(x.syntax_missing_string) && (encoded_size += PB._encoded_size(x.syntax_missing_string, 6)) - !isempty(x.syntax_delim) && (encoded_size += PB._encoded_size(x.syntax_delim, 7)) - !isempty(x.syntax_quotechar) && (encoded_size += PB._encoded_size(x.syntax_quotechar, 8)) - !isempty(x.syntax_escapechar) && (encoded_size += PB._encoded_size(x.syntax_escapechar, 9)) + !isempty(x.columns) && (encoded_size += PB._encoded_size(x.columns, 1)) return encoded_size end @@ -445,42 +397,48 @@ function PB._encoded_size(x::Write) return encoded_size end -struct Export - export_config::Union{Nothing,OneOf{ExportCSVConfig}} +struct ExportCSVSource + csv_source::Union{Nothing,OneOf{<:Union{ExportCSVColumns,RelationId}}} end -Export(;export_config = nothing) = Export(export_config) -PB.oneof_field_types(::Type{Export}) = (; - export_config = (;csv_config=ExportCSVConfig), +ExportCSVSource(;csv_source = nothing) = ExportCSVSource(csv_source) +PB.oneof_field_types(::Type{ExportCSVSource}) = (; + csv_source = (;gnf_columns=ExportCSVColumns, table_def=RelationId), ) -PB.default_values(::Type{Export}) = (;csv_config = nothing) -PB.field_numbers(::Type{Export}) = (;csv_config = 1) +PB.default_values(::Type{ExportCSVSource}) = (;gnf_columns = nothing, table_def = nothing) +PB.field_numbers(::Type{ExportCSVSource}) = (;gnf_columns = 1, table_def = 2) -function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:Export}) - export_config = nothing +function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:ExportCSVSource}) + csv_source = nothing while !PB.message_done(d) field_number, wire_type = PB.decode_tag(d) if field_number == 1 - export_config = OneOf(:csv_config, PB.decode(d, Ref{ExportCSVConfig})) + csv_source = OneOf(:gnf_columns, PB.decode(d, Ref{ExportCSVColumns})) + elseif field_number == 2 + csv_source = OneOf(:table_def, PB.decode(d, Ref{RelationId})) else Base.skip(d, wire_type) end end - return Export(export_config) + return ExportCSVSource(csv_source) end -function PB.encode(e::PB.AbstractProtoEncoder, x::Export) +function PB.encode(e::PB.AbstractProtoEncoder, x::ExportCSVSource) initpos = position(e.io) - if isnothing(x.export_config); - elseif x.export_config.name === :csv_config - PB.encode(e, 1, x.export_config[]::ExportCSVConfig) + if isnothing(x.csv_source); + elseif x.csv_source.name === :gnf_columns + PB.encode(e, 1, x.csv_source[]::ExportCSVColumns) + elseif x.csv_source.name === :table_def + PB.encode(e, 2, x.csv_source[]::RelationId) end return position(e.io) - initpos end -function PB._encoded_size(x::Export) +function PB._encoded_size(x::ExportCSVSource) encoded_size = 0 - if isnothing(x.export_config); - elseif x.export_config.name === :csv_config - encoded_size += PB._encoded_size(x.export_config[]::ExportCSVConfig, 1) + if isnothing(x.csv_source); + elseif x.csv_source.name === :gnf_columns + encoded_size += PB._encoded_size(x.csv_source[]::ExportCSVColumns, 1) + elseif x.csv_source.name === :table_def + encoded_size += PB._encoded_size(x.csv_source[]::RelationId, 2) end return encoded_size end @@ -522,6 +480,137 @@ function PB._encoded_size(x::Configure) return encoded_size end +struct ExportCSVConfig + path::String + data_columns::Vector{ExportCSVColumn} + csv_source::Union{Nothing,ExportCSVSource} + csv_config::Union{Nothing,CSVConfig} + partition_size::Int64 + compression::String + syntax_header_row::Bool + syntax_missing_string::String + syntax_delim::String + syntax_quotechar::String + syntax_escapechar::String +end +ExportCSVConfig(;path = "", data_columns = Vector{ExportCSVColumn}(), csv_source = nothing, csv_config = nothing, partition_size = zero(Int64), compression = "", syntax_header_row = false, syntax_missing_string = "", syntax_delim = "", syntax_quotechar = "", syntax_escapechar = "") = ExportCSVConfig(path, data_columns, csv_source, csv_config, partition_size, compression, syntax_header_row, syntax_missing_string, syntax_delim, syntax_quotechar, syntax_escapechar) +PB.default_values(::Type{ExportCSVConfig}) = (;path = "", data_columns = Vector{ExportCSVColumn}(), csv_source = nothing, csv_config = nothing, partition_size = zero(Int64), compression = "", syntax_header_row = false, syntax_missing_string = "", syntax_delim = "", syntax_quotechar = "", syntax_escapechar = "") +PB.field_numbers(::Type{ExportCSVConfig}) = (;path = 1, data_columns = 2, csv_source = 10, csv_config = 11, partition_size = 3, compression = 4, syntax_header_row = 5, syntax_missing_string = 6, syntax_delim = 7, syntax_quotechar = 8, syntax_escapechar = 9) + +function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:ExportCSVConfig}) + path = "" + data_columns = PB.BufferedVector{ExportCSVColumn}() + csv_source = Ref{Union{Nothing,ExportCSVSource}}(nothing) + csv_config = Ref{Union{Nothing,CSVConfig}}(nothing) + partition_size = zero(Int64) + compression = "" + syntax_header_row = false + syntax_missing_string = "" + syntax_delim = "" + syntax_quotechar = "" + syntax_escapechar = "" + while !PB.message_done(d) + field_number, wire_type = PB.decode_tag(d) + if field_number == 1 + path = PB.decode(d, String) + elseif field_number == 2 + PB.decode!(d, data_columns) + elseif field_number == 10 + PB.decode!(d, csv_source) + elseif field_number == 11 + PB.decode!(d, csv_config) + elseif field_number == 3 + partition_size = PB.decode(d, Int64) + elseif field_number == 4 + compression = PB.decode(d, String) + elseif field_number == 5 + syntax_header_row = PB.decode(d, Bool) + elseif field_number == 6 + syntax_missing_string = PB.decode(d, String) + elseif field_number == 7 + syntax_delim = PB.decode(d, String) + elseif field_number == 8 + syntax_quotechar = PB.decode(d, String) + elseif field_number == 9 + syntax_escapechar = PB.decode(d, String) + else + Base.skip(d, wire_type) + end + end + return ExportCSVConfig(path, data_columns[], csv_source[], csv_config[], partition_size, compression, syntax_header_row, syntax_missing_string, syntax_delim, syntax_quotechar, syntax_escapechar) +end + +function PB.encode(e::PB.AbstractProtoEncoder, x::ExportCSVConfig) + initpos = position(e.io) + !isempty(x.path) && PB.encode(e, 1, x.path) + !isempty(x.data_columns) && PB.encode(e, 2, x.data_columns) + !isnothing(x.csv_source) && PB.encode(e, 10, x.csv_source) + !isnothing(x.csv_config) && PB.encode(e, 11, x.csv_config) + x.partition_size != zero(Int64) && PB.encode(e, 3, x.partition_size) + !isempty(x.compression) && PB.encode(e, 4, x.compression) + x.syntax_header_row != false && PB.encode(e, 5, x.syntax_header_row) + !isempty(x.syntax_missing_string) && PB.encode(e, 6, x.syntax_missing_string) + !isempty(x.syntax_delim) && PB.encode(e, 7, x.syntax_delim) + !isempty(x.syntax_quotechar) && PB.encode(e, 8, x.syntax_quotechar) + !isempty(x.syntax_escapechar) && PB.encode(e, 9, x.syntax_escapechar) + return position(e.io) - initpos +end +function PB._encoded_size(x::ExportCSVConfig) + encoded_size = 0 + !isempty(x.path) && (encoded_size += PB._encoded_size(x.path, 1)) + !isempty(x.data_columns) && (encoded_size += PB._encoded_size(x.data_columns, 2)) + !isnothing(x.csv_source) && (encoded_size += PB._encoded_size(x.csv_source, 10)) + !isnothing(x.csv_config) && (encoded_size += PB._encoded_size(x.csv_config, 11)) + x.partition_size != zero(Int64) && (encoded_size += PB._encoded_size(x.partition_size, 3)) + !isempty(x.compression) && (encoded_size += PB._encoded_size(x.compression, 4)) + x.syntax_header_row != false && (encoded_size += PB._encoded_size(x.syntax_header_row, 5)) + !isempty(x.syntax_missing_string) && (encoded_size += PB._encoded_size(x.syntax_missing_string, 6)) + !isempty(x.syntax_delim) && (encoded_size += PB._encoded_size(x.syntax_delim, 7)) + !isempty(x.syntax_quotechar) && (encoded_size += PB._encoded_size(x.syntax_quotechar, 8)) + !isempty(x.syntax_escapechar) && (encoded_size += PB._encoded_size(x.syntax_escapechar, 9)) + return encoded_size +end + +struct Export + export_config::Union{Nothing,OneOf{ExportCSVConfig}} +end +Export(;export_config = nothing) = Export(export_config) +PB.oneof_field_types(::Type{Export}) = (; + export_config = (;csv_config=ExportCSVConfig), +) +PB.default_values(::Type{Export}) = (;csv_config = nothing) +PB.field_numbers(::Type{Export}) = (;csv_config = 1) + +function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:Export}) + export_config = nothing + while !PB.message_done(d) + field_number, wire_type = PB.decode_tag(d) + if field_number == 1 + export_config = OneOf(:csv_config, PB.decode(d, Ref{ExportCSVConfig})) + else + Base.skip(d, wire_type) + end + end + return Export(export_config) +end + +function PB.encode(e::PB.AbstractProtoEncoder, x::Export) + initpos = position(e.io) + if isnothing(x.export_config); + elseif x.export_config.name === :csv_config + PB.encode(e, 1, x.export_config[]::ExportCSVConfig) + end + return position(e.io) - initpos +end +function PB._encoded_size(x::Export) + encoded_size = 0 + if isnothing(x.export_config); + elseif x.export_config.name === :csv_config + encoded_size += PB._encoded_size(x.export_config[]::ExportCSVConfig, 1) + end + return encoded_size +end + # Stub definitions for cyclic types struct var"##Stub#Epoch"{T1<:var"##Abstract#Read"} <: var"##Abstract#Epoch" writes::Vector{Write} diff --git a/python-tools/src/lqp/proto/v1/transactions_pb2.py b/python-tools/src/lqp/proto/v1/transactions_pb2.py index 7dc49e2e..44568160 100644 --- a/python-tools/src/lqp/proto/v1/transactions_pb2.py +++ b/python-tools/src/lqp/proto/v1/transactions_pb2.py @@ -16,7 +16,7 @@ from lqp.proto.v1 import logic_pb2 as relationalai_dot_lqp_dot_v1_dot_logic__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&relationalai/lqp/v1/transactions.proto\x12\x13relationalai.lqp.v1\x1a#relationalai/lqp/v1/fragments.proto\x1a\x1frelationalai/lqp/v1/logic.proto\"\xbc\x01\n\x0bTransaction\x12\x32\n\x06\x65pochs\x18\x01 \x03(\x0b\x32\x1a.relationalai.lqp.v1.EpochR\x06\x65pochs\x12<\n\tconfigure\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.ConfigureR\tconfigure\x12\x32\n\x04sync\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.SyncH\x00R\x04sync\x88\x01\x01\x42\x07\n\x05_sync\"w\n\tConfigure\x12+\n\x11semantics_version\x18\x01 \x01(\x03R\x10semanticsVersion\x12=\n\nivm_config\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.IVMConfigR\tivmConfig\"H\n\tIVMConfig\x12;\n\x05level\x18\x01 \x01(\x0e\x32%.relationalai.lqp.v1.MaintenanceLevelR\x05level\"E\n\x04Sync\x12=\n\tfragments\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.FragmentIdR\tfragments\"l\n\x05\x45poch\x12\x32\n\x06writes\x18\x01 \x03(\x0b\x32\x1a.relationalai.lqp.v1.WriteR\x06writes\x12/\n\x05reads\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.ReadR\x05reads\"\xc9\x01\n\x05Write\x12\x35\n\x06\x64\x65\x66ine\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.DefineH\x00R\x06\x64\x65\x66ine\x12;\n\x08undefine\x18\x02 \x01(\x0b\x32\x1d.relationalai.lqp.v1.UndefineH\x00R\x08undefine\x12\x38\n\x07\x63ontext\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.ContextH\x00R\x07\x63ontextB\x0c\n\nwrite_typeJ\x04\x08\x04\x10\x05\"C\n\x06\x44\x65\x66ine\x12\x39\n\x08\x66ragment\x18\x01 \x01(\x0b\x32\x1d.relationalai.lqp.v1.FragmentR\x08\x66ragment\"L\n\x08Undefine\x12@\n\x0b\x66ragment_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.FragmentIdR\nfragmentId\"H\n\x07\x43ontext\x12=\n\trelations\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\trelations\"\xc4\x04\n\x0f\x45xportCSVConfig\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12G\n\x0c\x64\x61ta_columns\x18\x02 \x03(\x0b\x32$.relationalai.lqp.v1.ExportCSVColumnR\x0b\x64\x61taColumns\x12*\n\x0epartition_size\x18\x03 \x01(\x03H\x00R\rpartitionSize\x88\x01\x01\x12%\n\x0b\x63ompression\x18\x04 \x01(\tH\x01R\x0b\x63ompression\x88\x01\x01\x12/\n\x11syntax_header_row\x18\x05 \x01(\x08H\x02R\x0fsyntaxHeaderRow\x88\x01\x01\x12\x37\n\x15syntax_missing_string\x18\x06 \x01(\tH\x03R\x13syntaxMissingString\x88\x01\x01\x12&\n\x0csyntax_delim\x18\x07 \x01(\tH\x04R\x0bsyntaxDelim\x88\x01\x01\x12.\n\x10syntax_quotechar\x18\x08 \x01(\tH\x05R\x0fsyntaxQuotechar\x88\x01\x01\x12\x30\n\x11syntax_escapechar\x18\t \x01(\tH\x06R\x10syntaxEscapechar\x88\x01\x01\x42\x11\n\x0f_partition_sizeB\x0e\n\x0c_compressionB\x14\n\x12_syntax_header_rowB\x18\n\x16_syntax_missing_stringB\x0f\n\r_syntax_delimB\x13\n\x11_syntax_quotecharB\x14\n\x12_syntax_escapechar\"t\n\x0f\x45xportCSVColumn\x12\x1f\n\x0b\x63olumn_name\x18\x01 \x01(\tR\ncolumnName\x12@\n\x0b\x63olumn_data\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\ncolumnData\"\xa4\x02\n\x04Read\x12\x35\n\x06\x64\x65mand\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.DemandH\x00R\x06\x64\x65mand\x12\x35\n\x06output\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.OutputH\x00R\x06output\x12\x36\n\x07what_if\x18\x03 \x01(\x0b\x32\x1b.relationalai.lqp.v1.WhatIfH\x00R\x06whatIf\x12\x32\n\x05\x61\x62ort\x18\x04 \x01(\x0b\x32\x1a.relationalai.lqp.v1.AbortH\x00R\x05\x61\x62ort\x12\x35\n\x06\x65xport\x18\x05 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExportH\x00R\x06\x65xportB\x0b\n\tread_type\"J\n\x06\x44\x65mand\x12@\n\x0brelation_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\nrelationId\"^\n\x06Output\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12@\n\x0brelation_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\nrelationId\"`\n\x06\x45xport\x12\x45\n\ncsv_config\x18\x01 \x01(\x0b\x32$.relationalai.lqp.v1.ExportCSVConfigH\x00R\tcsvConfigB\x0f\n\rexport_config\"R\n\x06WhatIf\x12\x16\n\x06\x62ranch\x18\x01 \x01(\tR\x06\x62ranch\x12\x30\n\x05\x65poch\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.EpochR\x05\x65poch\"]\n\x05\x41\x62ort\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12@\n\x0brelation_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\nrelationId*\x87\x01\n\x10MaintenanceLevel\x12!\n\x1dMAINTENANCE_LEVEL_UNSPECIFIED\x10\x00\x12\x19\n\x15MAINTENANCE_LEVEL_OFF\x10\x01\x12\x1a\n\x16MAINTENANCE_LEVEL_AUTO\x10\x02\x12\x19\n\x15MAINTENANCE_LEVEL_ALL\x10\x03\x42\x1fZ\x1dlogical-query-protocol/lqp/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&relationalai/lqp/v1/transactions.proto\x12\x13relationalai.lqp.v1\x1a#relationalai/lqp/v1/fragments.proto\x1a\x1frelationalai/lqp/v1/logic.proto\"\xbc\x01\n\x0bTransaction\x12\x32\n\x06\x65pochs\x18\x01 \x03(\x0b\x32\x1a.relationalai.lqp.v1.EpochR\x06\x65pochs\x12<\n\tconfigure\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.ConfigureR\tconfigure\x12\x32\n\x04sync\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.SyncH\x00R\x04sync\x88\x01\x01\x42\x07\n\x05_sync\"w\n\tConfigure\x12+\n\x11semantics_version\x18\x01 \x01(\x03R\x10semanticsVersion\x12=\n\nivm_config\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.IVMConfigR\tivmConfig\"H\n\tIVMConfig\x12;\n\x05level\x18\x01 \x01(\x0e\x32%.relationalai.lqp.v1.MaintenanceLevelR\x05level\"E\n\x04Sync\x12=\n\tfragments\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.FragmentIdR\tfragments\"l\n\x05\x45poch\x12\x32\n\x06writes\x18\x01 \x03(\x0b\x32\x1a.relationalai.lqp.v1.WriteR\x06writes\x12/\n\x05reads\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.ReadR\x05reads\"\xc9\x01\n\x05Write\x12\x35\n\x06\x64\x65\x66ine\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.DefineH\x00R\x06\x64\x65\x66ine\x12;\n\x08undefine\x18\x02 \x01(\x0b\x32\x1d.relationalai.lqp.v1.UndefineH\x00R\x08undefine\x12\x38\n\x07\x63ontext\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.ContextH\x00R\x07\x63ontextB\x0c\n\nwrite_typeJ\x04\x08\x04\x10\x05\"C\n\x06\x44\x65\x66ine\x12\x39\n\x08\x66ragment\x18\x01 \x01(\x0b\x32\x1d.relationalai.lqp.v1.FragmentR\x08\x66ragment\"L\n\x08Undefine\x12@\n\x0b\x66ragment_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.FragmentIdR\nfragmentId\"H\n\x07\x43ontext\x12=\n\trelations\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\trelations\"\xc8\x05\n\x0f\x45xportCSVConfig\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12G\n\x0c\x64\x61ta_columns\x18\x02 \x03(\x0b\x32$.relationalai.lqp.v1.ExportCSVColumnR\x0b\x64\x61taColumns\x12\x43\n\ncsv_source\x18\n \x01(\x0b\x32$.relationalai.lqp.v1.ExportCSVSourceR\tcsvSource\x12=\n\ncsv_config\x18\x0b \x01(\x0b\x32\x1e.relationalai.lqp.v1.CSVConfigR\tcsvConfig\x12*\n\x0epartition_size\x18\x03 \x01(\x03H\x00R\rpartitionSize\x88\x01\x01\x12%\n\x0b\x63ompression\x18\x04 \x01(\tH\x01R\x0b\x63ompression\x88\x01\x01\x12/\n\x11syntax_header_row\x18\x05 \x01(\x08H\x02R\x0fsyntaxHeaderRow\x88\x01\x01\x12\x37\n\x15syntax_missing_string\x18\x06 \x01(\tH\x03R\x13syntaxMissingString\x88\x01\x01\x12&\n\x0csyntax_delim\x18\x07 \x01(\tH\x04R\x0bsyntaxDelim\x88\x01\x01\x12.\n\x10syntax_quotechar\x18\x08 \x01(\tH\x05R\x0fsyntaxQuotechar\x88\x01\x01\x12\x30\n\x11syntax_escapechar\x18\t \x01(\tH\x06R\x10syntaxEscapechar\x88\x01\x01\x42\x11\n\x0f_partition_sizeB\x0e\n\x0c_compressionB\x14\n\x12_syntax_header_rowB\x18\n\x16_syntax_missing_stringB\x0f\n\r_syntax_delimB\x13\n\x11_syntax_quotecharB\x14\n\x12_syntax_escapechar\"t\n\x0f\x45xportCSVColumn\x12\x1f\n\x0b\x63olumn_name\x18\x01 \x01(\tR\ncolumnName\x12@\n\x0b\x63olumn_data\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\ncolumnData\"R\n\x10\x45xportCSVColumns\x12>\n\x07\x63olumns\x18\x01 \x03(\x0b\x32$.relationalai.lqp.v1.ExportCSVColumnR\x07\x63olumns\"\xa9\x01\n\x0f\x45xportCSVSource\x12H\n\x0bgnf_columns\x18\x01 \x01(\x0b\x32%.relationalai.lqp.v1.ExportCSVColumnsH\x00R\ngnfColumns\x12>\n\ttable_def\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdH\x00R\x08tableDefB\x0c\n\ncsv_source\"\xa4\x02\n\x04Read\x12\x35\n\x06\x64\x65mand\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.DemandH\x00R\x06\x64\x65mand\x12\x35\n\x06output\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.OutputH\x00R\x06output\x12\x36\n\x07what_if\x18\x03 \x01(\x0b\x32\x1b.relationalai.lqp.v1.WhatIfH\x00R\x06whatIf\x12\x32\n\x05\x61\x62ort\x18\x04 \x01(\x0b\x32\x1a.relationalai.lqp.v1.AbortH\x00R\x05\x61\x62ort\x12\x35\n\x06\x65xport\x18\x05 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExportH\x00R\x06\x65xportB\x0b\n\tread_type\"J\n\x06\x44\x65mand\x12@\n\x0brelation_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\nrelationId\"^\n\x06Output\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12@\n\x0brelation_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\nrelationId\"`\n\x06\x45xport\x12\x45\n\ncsv_config\x18\x01 \x01(\x0b\x32$.relationalai.lqp.v1.ExportCSVConfigH\x00R\tcsvConfigB\x0f\n\rexport_config\"R\n\x06WhatIf\x12\x16\n\x06\x62ranch\x18\x01 \x01(\tR\x06\x62ranch\x12\x30\n\x05\x65poch\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.EpochR\x05\x65poch\"]\n\x05\x41\x62ort\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12@\n\x0brelation_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\nrelationId*\x87\x01\n\x10MaintenanceLevel\x12!\n\x1dMAINTENANCE_LEVEL_UNSPECIFIED\x10\x00\x12\x19\n\x15MAINTENANCE_LEVEL_OFF\x10\x01\x12\x1a\n\x16MAINTENANCE_LEVEL_AUTO\x10\x02\x12\x19\n\x15MAINTENANCE_LEVEL_ALL\x10\x03\x42\x1fZ\x1dlogical-query-protocol/lqp/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -24,8 +24,8 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z\035logical-query-protocol/lqp/v1' - _globals['_MAINTENANCELEVEL']._serialized_start=2571 - _globals['_MAINTENANCELEVEL']._serialized_end=2706 + _globals['_MAINTENANCELEVEL']._serialized_start=2959 + _globals['_MAINTENANCELEVEL']._serialized_end=3094 _globals['_TRANSACTION']._serialized_start=134 _globals['_TRANSACTION']._serialized_end=322 _globals['_CONFIGURE']._serialized_start=324 @@ -45,19 +45,23 @@ _globals['_CONTEXT']._serialized_start=1051 _globals['_CONTEXT']._serialized_end=1123 _globals['_EXPORTCSVCONFIG']._serialized_start=1126 - _globals['_EXPORTCSVCONFIG']._serialized_end=1706 - _globals['_EXPORTCSVCOLUMN']._serialized_start=1708 - _globals['_EXPORTCSVCOLUMN']._serialized_end=1824 - _globals['_READ']._serialized_start=1827 - _globals['_READ']._serialized_end=2119 - _globals['_DEMAND']._serialized_start=2121 - _globals['_DEMAND']._serialized_end=2195 - _globals['_OUTPUT']._serialized_start=2197 - _globals['_OUTPUT']._serialized_end=2291 - _globals['_EXPORT']._serialized_start=2293 - _globals['_EXPORT']._serialized_end=2389 - _globals['_WHATIF']._serialized_start=2391 - _globals['_WHATIF']._serialized_end=2473 - _globals['_ABORT']._serialized_start=2475 - _globals['_ABORT']._serialized_end=2568 + _globals['_EXPORTCSVCONFIG']._serialized_end=1838 + _globals['_EXPORTCSVCOLUMN']._serialized_start=1840 + _globals['_EXPORTCSVCOLUMN']._serialized_end=1956 + _globals['_EXPORTCSVCOLUMNS']._serialized_start=1958 + _globals['_EXPORTCSVCOLUMNS']._serialized_end=2040 + _globals['_EXPORTCSVSOURCE']._serialized_start=2043 + _globals['_EXPORTCSVSOURCE']._serialized_end=2212 + _globals['_READ']._serialized_start=2215 + _globals['_READ']._serialized_end=2507 + _globals['_DEMAND']._serialized_start=2509 + _globals['_DEMAND']._serialized_end=2583 + _globals['_OUTPUT']._serialized_start=2585 + _globals['_OUTPUT']._serialized_end=2679 + _globals['_EXPORT']._serialized_start=2681 + _globals['_EXPORT']._serialized_end=2777 + _globals['_WHATIF']._serialized_start=2779 + _globals['_WHATIF']._serialized_end=2861 + _globals['_ABORT']._serialized_start=2863 + _globals['_ABORT']._serialized_end=2956 # @@protoc_insertion_point(module_scope) diff --git a/python-tools/src/lqp/proto/v1/transactions_pb2.pyi b/python-tools/src/lqp/proto/v1/transactions_pb2.pyi index 25d8005c..61d311a6 100644 --- a/python-tools/src/lqp/proto/v1/transactions_pb2.pyi +++ b/python-tools/src/lqp/proto/v1/transactions_pb2.pyi @@ -87,9 +87,11 @@ class Context(_message.Message): def __init__(self, relations: _Optional[_Iterable[_Union[_logic_pb2.RelationId, _Mapping]]] = ...) -> None: ... class ExportCSVConfig(_message.Message): - __slots__ = ("path", "data_columns", "partition_size", "compression", "syntax_header_row", "syntax_missing_string", "syntax_delim", "syntax_quotechar", "syntax_escapechar") + __slots__ = ("path", "data_columns", "csv_source", "csv_config", "partition_size", "compression", "syntax_header_row", "syntax_missing_string", "syntax_delim", "syntax_quotechar", "syntax_escapechar") PATH_FIELD_NUMBER: _ClassVar[int] DATA_COLUMNS_FIELD_NUMBER: _ClassVar[int] + CSV_SOURCE_FIELD_NUMBER: _ClassVar[int] + CSV_CONFIG_FIELD_NUMBER: _ClassVar[int] PARTITION_SIZE_FIELD_NUMBER: _ClassVar[int] COMPRESSION_FIELD_NUMBER: _ClassVar[int] SYNTAX_HEADER_ROW_FIELD_NUMBER: _ClassVar[int] @@ -99,6 +101,8 @@ class ExportCSVConfig(_message.Message): SYNTAX_ESCAPECHAR_FIELD_NUMBER: _ClassVar[int] path: str data_columns: _containers.RepeatedCompositeFieldContainer[ExportCSVColumn] + csv_source: ExportCSVSource + csv_config: _logic_pb2.CSVConfig partition_size: int compression: str syntax_header_row: bool @@ -106,7 +110,7 @@ class ExportCSVConfig(_message.Message): syntax_delim: str syntax_quotechar: str syntax_escapechar: str - def __init__(self, path: _Optional[str] = ..., data_columns: _Optional[_Iterable[_Union[ExportCSVColumn, _Mapping]]] = ..., partition_size: _Optional[int] = ..., compression: _Optional[str] = ..., syntax_header_row: _Optional[bool] = ..., syntax_missing_string: _Optional[str] = ..., syntax_delim: _Optional[str] = ..., syntax_quotechar: _Optional[str] = ..., syntax_escapechar: _Optional[str] = ...) -> None: ... + def __init__(self, path: _Optional[str] = ..., data_columns: _Optional[_Iterable[_Union[ExportCSVColumn, _Mapping]]] = ..., csv_source: _Optional[_Union[ExportCSVSource, _Mapping]] = ..., csv_config: _Optional[_Union[_logic_pb2.CSVConfig, _Mapping]] = ..., partition_size: _Optional[int] = ..., compression: _Optional[str] = ..., syntax_header_row: _Optional[bool] = ..., syntax_missing_string: _Optional[str] = ..., syntax_delim: _Optional[str] = ..., syntax_quotechar: _Optional[str] = ..., syntax_escapechar: _Optional[str] = ...) -> None: ... class ExportCSVColumn(_message.Message): __slots__ = ("column_name", "column_data") @@ -116,6 +120,20 @@ class ExportCSVColumn(_message.Message): column_data: _logic_pb2.RelationId def __init__(self, column_name: _Optional[str] = ..., column_data: _Optional[_Union[_logic_pb2.RelationId, _Mapping]] = ...) -> None: ... +class ExportCSVColumns(_message.Message): + __slots__ = ("columns",) + COLUMNS_FIELD_NUMBER: _ClassVar[int] + columns: _containers.RepeatedCompositeFieldContainer[ExportCSVColumn] + def __init__(self, columns: _Optional[_Iterable[_Union[ExportCSVColumn, _Mapping]]] = ...) -> None: ... + +class ExportCSVSource(_message.Message): + __slots__ = ("gnf_columns", "table_def") + GNF_COLUMNS_FIELD_NUMBER: _ClassVar[int] + TABLE_DEF_FIELD_NUMBER: _ClassVar[int] + gnf_columns: ExportCSVColumns + table_def: _logic_pb2.RelationId + def __init__(self, gnf_columns: _Optional[_Union[ExportCSVColumns, _Mapping]] = ..., table_def: _Optional[_Union[_logic_pb2.RelationId, _Mapping]] = ...) -> None: ... + class Read(_message.Message): __slots__ = ("demand", "output", "what_if", "abort", "export") DEMAND_FIELD_NUMBER: _ClassVar[int] From 4e777d1dd58017299ad31f9552d07857643af035 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 14:20:21 +1100 Subject: [PATCH 03/27] Update grammar --- python-tools/src/meta/grammar.y | 81 ++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 26 deletions(-) diff --git a/python-tools/src/meta/grammar.y b/python-tools/src/meta/grammar.y index 0832197f..dba5d737 100644 --- a/python-tools/src/meta/grammar.y +++ b/python-tools/src/meta/grammar.y @@ -101,6 +101,7 @@ %nonterm export_csv_columns Sequence[transactions.ExportCSVColumn] %nonterm export_csv_config transactions.ExportCSVConfig %nonterm export_csv_path String +%nonterm export_csv_source transactions.ExportCSVSource %nonterm false logic.Disjunction %nonterm ffi logic.FFI %nonterm ffi_args Sequence[logic.Abstraction] @@ -175,6 +176,8 @@ %validator_ignore_completeness DecimalValue %validator_ignore_completeness BeTreeLocator %validator_ignore_completeness BeTreeConfig +%validator_ignore_completeness ExportCSVColumns +%validator_ignore_completeness CSVConfig %% @@ -1048,19 +1051,24 @@ export deconstruct: $3: transactions.ExportCSVConfig = $$.csv_config export_csv_config - : "(" "export_csv_config" export_csv_path export_csv_columns config_dict ")" - construct: $$ = export_csv_config($3, $4, $5) + : "(" "export_csv_config" export_csv_path export_csv_source csv_config? config_dict ")" + construct: $$ = construct_export_csv_config($3, $4, builtin.unwrap_option_or($5, None), $6) deconstruct: $3: String = $$.path - $4: Sequence[transactions.ExportCSVColumn] = $$.data_columns - $5: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) + $4: transactions.ExportCSVSource = $$.csv_source + $5: logic.CSVConfig = $$.csv_config + $6: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) + +# | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" +# construct: $$ = export_csv_config($3, $6, $8) +# deconstruct if not builtin.has_proto_field($$, 'csv_source'): +# $3: String = $$.path +# $6: Sequence[transactions.ExportCSVColumn] = $$.data_columns +# $8: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) export_csv_path : "(" "path" STRING ")" -export_csv_columns - : "(" "columns" export_csv_column* ")" - export_csv_column : "(" "column" STRING relation_id ")" construct: $$ = transactions.ExportCSVColumn(column_name=$3, column_data=$4) @@ -1068,6 +1076,17 @@ export_csv_column $3: String = $$.column_name $4: logic.RelationId = $$.column_data +export_csv_source + : "(" "columns" export_csv_column* ")" + | "(" "gnf_columns" export_csv_column* ")" + construct: $$ = transactions.ExportCSVSource(gnf_columns=transactions.ExportCSVColumns(columns=$3)) + deconstruct if builtin.has_proto_field($$, 'gnf_columns'): + $3: Sequence[transactions.ExportCSVColumn] = $$.gnf_columns.columns + | "(" "table_def" relation_id ")" + construct: $$ = transactions.ExportCSVSource(table_def=$3) + deconstruct if builtin.has_proto_field($$, 'table_def'): + $3: logic.RelationId = $$.table_def + %% @@ -1245,30 +1264,40 @@ def construct_configure(config_dict: Sequence[Tuple[String, logic.Value]]) -> tr ) -def export_csv_config( +def construct_export_csv_config( path: String, - columns: Sequence[transactions.ExportCSVColumn], + csv_source: Sequence[transactions.ExportCSVColumn] | transactions.ExportCSVSource, + csv_config: Optional[logic.CSVConfig], config_dict: Sequence[Tuple[String, logic.Value]], ) -> transactions.ExportCSVConfig: config: Dict[String, logic.Value] = builtin.dict_from_list(config_dict) partition_size: int = _extract_value_int64(builtin.dict_get(config, "partition_size"), 0) - compression: str = _extract_value_string(builtin.dict_get(config, "compression"), "") - syntax_header_row: bool = _extract_value_boolean(builtin.dict_get(config, "syntax_header_row"), True) - syntax_missing_string: str = _extract_value_string(builtin.dict_get(config, "syntax_missing_string"), "") - syntax_delim: str = _extract_value_string(builtin.dict_get(config, "syntax_delim"), ",") - syntax_quotechar: str = _extract_value_string(builtin.dict_get(config, "syntax_quotechar"), '"') - syntax_escapechar: str = _extract_value_string(builtin.dict_get(config, "syntax_escapechar"), "\\") - return transactions.ExportCSVConfig( - path=path, - data_columns=columns, - partition_size=builtin.some(partition_size), - compression=builtin.some(compression), - syntax_header_row=builtin.some(syntax_header_row), - syntax_missing_string=builtin.some(syntax_missing_string), - syntax_delim=builtin.some(syntax_delim), - syntax_quotechar=builtin.some(syntax_quotechar), - syntax_escapechar=builtin.some(syntax_escapechar), - ) + if isinstance(csv_source, transactions.ExportCSVSource): + assert csv_config + return transactions.ExportCSVConfig( + path=path, + csv_source=csv_source, + csv_config=csv_config, + partition_size=builtin.some(partition_size), + ) + else: + compression: str = _extract_value_string(builtin.dict_get(config, "compression"), "") + syntax_header_row: bool = _extract_value_boolean(builtin.dict_get(config, "syntax_header_row"), True) + syntax_missing_string: str = _extract_value_string(builtin.dict_get(config, "syntax_missing_string"), "") + syntax_delim: str = _extract_value_string(builtin.dict_get(config, "syntax_delim"), ",") + syntax_quotechar: str = _extract_value_string(builtin.dict_get(config, "syntax_quotechar"), '"') + syntax_escapechar: str = _extract_value_string(builtin.dict_get(config, "syntax_escapechar"), "\\") + return transactions.ExportCSVConfig( + path=path, + data_columns=columns, + partition_size=builtin.some(partition_size), + compression=builtin.some(compression), + syntax_header_row=builtin.some(syntax_header_row), + syntax_missing_string=builtin.some(syntax_missing_string), + syntax_delim=builtin.some(syntax_delim), + syntax_quotechar=builtin.some(syntax_quotechar), + syntax_escapechar=builtin.some(syntax_escapechar), + ) def _make_value_int32(v: Int32) -> logic.Value: From 5ab4715dd8d3e38a6bbd15d2cf6ab2e0df70bb85 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 15:11:41 +1100 Subject: [PATCH 04/27] Try using Any types --- python-tools/src/meta/grammar.y | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/python-tools/src/meta/grammar.y b/python-tools/src/meta/grammar.y index dba5d737..764418f2 100644 --- a/python-tools/src/meta/grammar.y +++ b/python-tools/src/meta/grammar.y @@ -101,7 +101,7 @@ %nonterm export_csv_columns Sequence[transactions.ExportCSVColumn] %nonterm export_csv_config transactions.ExportCSVConfig %nonterm export_csv_path String -%nonterm export_csv_source transactions.ExportCSVSource +%nonterm export_csv_source Any %nonterm false logic.Disjunction %nonterm ffi logic.FFI %nonterm ffi_args Sequence[logic.Abstraction] @@ -177,6 +177,7 @@ %validator_ignore_completeness BeTreeLocator %validator_ignore_completeness BeTreeConfig %validator_ignore_completeness ExportCSVColumns +%validator_ignore_completeness ExportCSVSource %validator_ignore_completeness CSVConfig %% @@ -1052,11 +1053,11 @@ export export_csv_config : "(" "export_csv_config" export_csv_path export_csv_source csv_config? config_dict ")" - construct: $$ = construct_export_csv_config($3, $4, builtin.unwrap_option_or($5, None), $6) + construct: $$ = construct_export_csv_config($3, $4, $5, $6) deconstruct: $3: String = $$.path $4: transactions.ExportCSVSource = $$.csv_source - $5: logic.CSVConfig = $$.csv_config + $5: Optional[logic.CSVConfig] = $$.csv_config if $$.csv_config != None else None $6: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) # | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" @@ -1080,12 +1081,12 @@ export_csv_source : "(" "columns" export_csv_column* ")" | "(" "gnf_columns" export_csv_column* ")" construct: $$ = transactions.ExportCSVSource(gnf_columns=transactions.ExportCSVColumns(columns=$3)) - deconstruct if builtin.has_proto_field($$, 'gnf_columns'): - $3: Sequence[transactions.ExportCSVColumn] = $$.gnf_columns.columns +# deconstruct if builtin.has_proto_field($$, 'gnf_columns'): +# $3: Sequence[transactions.ExportCSVColumn] = $$.gnf_columns.columns | "(" "table_def" relation_id ")" construct: $$ = transactions.ExportCSVSource(table_def=$3) - deconstruct if builtin.has_proto_field($$, 'table_def'): - $3: logic.RelationId = $$.table_def +# deconstruct if builtin.has_proto_field($$, 'table_def'): +# $3: logic.RelationId = $$.table_def %% @@ -1266,14 +1267,13 @@ def construct_configure(config_dict: Sequence[Tuple[String, logic.Value]]) -> tr def construct_export_csv_config( path: String, - csv_source: Sequence[transactions.ExportCSVColumn] | transactions.ExportCSVSource, + csv_source: Any, csv_config: Optional[logic.CSVConfig], config_dict: Sequence[Tuple[String, logic.Value]], ) -> transactions.ExportCSVConfig: config: Dict[String, logic.Value] = builtin.dict_from_list(config_dict) partition_size: int = _extract_value_int64(builtin.dict_get(config, "partition_size"), 0) - if isinstance(csv_source, transactions.ExportCSVSource): - assert csv_config + if builtin.has_proto_field(csv_source, 'gnf_columns') or builtin.has_proto_field(csv_source, 'table_def'): return transactions.ExportCSVConfig( path=path, csv_source=csv_source, @@ -1289,7 +1289,7 @@ def construct_export_csv_config( syntax_escapechar: str = _extract_value_string(builtin.dict_get(config, "syntax_escapechar"), "\\") return transactions.ExportCSVConfig( path=path, - data_columns=columns, + data_columns=csv_source, partition_size=builtin.some(partition_size), compression=builtin.some(compression), syntax_header_row=builtin.some(syntax_header_row), From da6d2a910aa85dd4e2503a4e3feea28c1d61dbd2 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 16:47:15 +1100 Subject: [PATCH 05/27] Add partition size to csv config --- proto/relationalai/lqp/v1/logic.proto | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proto/relationalai/lqp/v1/logic.proto b/proto/relationalai/lqp/v1/logic.proto index 0f9024d9..5378429f 100644 --- a/proto/relationalai/lqp/v1/logic.proto +++ b/proto/relationalai/lqp/v1/logic.proto @@ -309,6 +309,9 @@ message CSVConfig { // Compression string compression = 11; // "none", "gzip", "zstd", "auto" (default: "auto") + + // Partitioning (for export) + int64 partition_size = 12; } message CSVColumn { From c44d462704516ceaf00a6840ceb4062f6d577642 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 16:47:29 +1100 Subject: [PATCH 06/27] Use separate options for legacy vs new csv export config --- python-tools/src/meta/grammar.y | 94 +++++++++++++++++---------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/python-tools/src/meta/grammar.y b/python-tools/src/meta/grammar.y index 764418f2..3b8a1b14 100644 --- a/python-tools/src/meta/grammar.y +++ b/python-tools/src/meta/grammar.y @@ -101,7 +101,7 @@ %nonterm export_csv_columns Sequence[transactions.ExportCSVColumn] %nonterm export_csv_config transactions.ExportCSVConfig %nonterm export_csv_path String -%nonterm export_csv_source Any +%nonterm export_csv_source transactions.ExportCSVSource %nonterm false logic.Disjunction %nonterm ffi logic.FFI %nonterm ffi_args Sequence[logic.Abstraction] @@ -1052,20 +1052,18 @@ export deconstruct: $3: transactions.ExportCSVConfig = $$.csv_config export_csv_config - : "(" "export_csv_config" export_csv_path export_csv_source csv_config? config_dict ")" - construct: $$ = construct_export_csv_config($3, $4, $5, $6) + : "(" "export_csv_config_v2" export_csv_path export_csv_source csv_config ")" + construct: $$ = construct_export_csv_config_with_source($3, $4, $5) deconstruct: $3: String = $$.path $4: transactions.ExportCSVSource = $$.csv_source - $5: Optional[logic.CSVConfig] = $$.csv_config if $$.csv_config != None else None - $6: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) - -# | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" -# construct: $$ = export_csv_config($3, $6, $8) -# deconstruct if not builtin.has_proto_field($$, 'csv_source'): -# $3: String = $$.path -# $6: Sequence[transactions.ExportCSVColumn] = $$.data_columns -# $8: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) + $5: logic.CSVConfig = $$.csv_config + | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" + construct: $$ = construct_export_csv_config($3, $6, $8) + deconstruct if not builtin.has_proto_field($$, 'csv_source'): + $3: String = $$.path + $6: Sequence[transactions.ExportCSVColumn] = $$.data_columns + $8: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) export_csv_path : "(" "path" STRING ")" @@ -1078,15 +1076,14 @@ export_csv_column $4: logic.RelationId = $$.column_data export_csv_source - : "(" "columns" export_csv_column* ")" - | "(" "gnf_columns" export_csv_column* ")" + : "(" "gnf_columns" export_csv_column* ")" construct: $$ = transactions.ExportCSVSource(gnf_columns=transactions.ExportCSVColumns(columns=$3)) -# deconstruct if builtin.has_proto_field($$, 'gnf_columns'): -# $3: Sequence[transactions.ExportCSVColumn] = $$.gnf_columns.columns + deconstruct if builtin.has_proto_field($$, 'gnf_columns'): + $3: Sequence[transactions.ExportCSVColumn] = $$.gnf_columns.columns | "(" "table_def" relation_id ")" construct: $$ = transactions.ExportCSVSource(table_def=$3) -# deconstruct if builtin.has_proto_field($$, 'table_def'): -# $3: logic.RelationId = $$.table_def + deconstruct if builtin.has_proto_field($$, 'table_def'): + $3: logic.RelationId = $$.table_def %% @@ -1187,6 +1184,7 @@ def construct_csv_config(config_dict: Sequence[Tuple[String, logic.Value]]) -> l decimal_separator: str = _extract_value_string(builtin.dict_get(config, "csv_decimal_separator"), ".") encoding: str = _extract_value_string(builtin.dict_get(config, "csv_encoding"), "utf-8") compression: str = _extract_value_string(builtin.dict_get(config, "csv_compression"), "auto") + partition_size: int = _extract_value_int64(builtin.dict_get(config, "partition_size"), 0) return logic.CSVConfig( header_row=header_row, skip=skip, @@ -1199,6 +1197,7 @@ def construct_csv_config(config_dict: Sequence[Tuple[String, logic.Value]]) -> l decimal_separator=decimal_separator, encoding=encoding, compression=compression, + partition_size=partition_size, ) @@ -1264,40 +1263,41 @@ def construct_configure(config_dict: Sequence[Tuple[String, logic.Value]]) -> tr ivm_config=ivm_config, ) - def construct_export_csv_config( path: String, - csv_source: Any, - csv_config: Optional[logic.CSVConfig], + columns: Sequence[transactions.ExportCSVColumn], config_dict: Sequence[Tuple[String, logic.Value]], ) -> transactions.ExportCSVConfig: config: Dict[String, logic.Value] = builtin.dict_from_list(config_dict) partition_size: int = _extract_value_int64(builtin.dict_get(config, "partition_size"), 0) - if builtin.has_proto_field(csv_source, 'gnf_columns') or builtin.has_proto_field(csv_source, 'table_def'): - return transactions.ExportCSVConfig( - path=path, - csv_source=csv_source, - csv_config=csv_config, - partition_size=builtin.some(partition_size), - ) - else: - compression: str = _extract_value_string(builtin.dict_get(config, "compression"), "") - syntax_header_row: bool = _extract_value_boolean(builtin.dict_get(config, "syntax_header_row"), True) - syntax_missing_string: str = _extract_value_string(builtin.dict_get(config, "syntax_missing_string"), "") - syntax_delim: str = _extract_value_string(builtin.dict_get(config, "syntax_delim"), ",") - syntax_quotechar: str = _extract_value_string(builtin.dict_get(config, "syntax_quotechar"), '"') - syntax_escapechar: str = _extract_value_string(builtin.dict_get(config, "syntax_escapechar"), "\\") - return transactions.ExportCSVConfig( - path=path, - data_columns=csv_source, - partition_size=builtin.some(partition_size), - compression=builtin.some(compression), - syntax_header_row=builtin.some(syntax_header_row), - syntax_missing_string=builtin.some(syntax_missing_string), - syntax_delim=builtin.some(syntax_delim), - syntax_quotechar=builtin.some(syntax_quotechar), - syntax_escapechar=builtin.some(syntax_escapechar), - ) + compression: str = _extract_value_string(builtin.dict_get(config, "compression"), "") + syntax_header_row: bool = _extract_value_boolean(builtin.dict_get(config, "syntax_header_row"), True) + syntax_missing_string: str = _extract_value_string(builtin.dict_get(config, "syntax_missing_string"), "") + syntax_delim: str = _extract_value_string(builtin.dict_get(config, "syntax_delim"), ",") + syntax_quotechar: str = _extract_value_string(builtin.dict_get(config, "syntax_quotechar"), '"') + syntax_escapechar: str = _extract_value_string(builtin.dict_get(config, "syntax_escapechar"), "\\") + return transactions.ExportCSVConfig( + path=path, + data_columns=columns, + partition_size=builtin.some(partition_size), + compression=builtin.some(compression), + syntax_header_row=builtin.some(syntax_header_row), + syntax_missing_string=builtin.some(syntax_missing_string), + syntax_delim=builtin.some(syntax_delim), + syntax_quotechar=builtin.some(syntax_quotechar), + syntax_escapechar=builtin.some(syntax_escapechar), + ) + +def construct_export_csv_config_with_source( + path: String, + csv_source: Any, + csv_config: Optional[logic.CSVConfig], +) -> transactions.ExportCSVConfig: + return transactions.ExportCSVConfig( + path=path, + csv_source=csv_source, + csv_config=csv_config, + ) def _make_value_int32(v: Int32) -> logic.Value: @@ -1360,6 +1360,8 @@ def deconstruct_csv_config(msg: logic.CSVConfig) -> List[Tuple[String, logic.Val builtin.list_push(result, builtin.tuple("csv_decimal_separator", _make_value_string(msg.decimal_separator))) builtin.list_push(result, builtin.tuple("csv_encoding", _make_value_string(msg.encoding))) builtin.list_push(result, builtin.tuple("csv_compression", _make_value_string(msg.compression))) + if msg.partition_size != 0: + builtin.list_push(result, builtin.tuple("csv_partition_size", _make_value_int64(msg.partition_size))) return builtin.list_sort(result) From 7d4b9a061b34900ea602440aa0dabe5b18a2a0cf Mon Sep 17 00:00:00 2001 From: David Zhao Date: Tue, 17 Feb 2026 16:47:56 +1100 Subject: [PATCH 07/27] Update generated proto and parser --- go/src/lqp/v1/logic.pb.go | 302 +- go/src/parser.go | 3291 +++++++++-------- .../gen/relationalai/lqp/v1/fragments_pb.jl | 2 +- .../src/gen/relationalai/lqp/v1/logic_pb.jl | 16 +- .../relationalai/lqp/v1/transactions_pb.jl | 2 +- julia/LogicalQueryProtocol/src/parser.jl | 2647 ++++++------- python-tools/src/lqp/gen/parser.py | 2748 +++++++------- python-tools/src/lqp/proto/v1/logic_pb2.py | 88 +- python-tools/src/lqp/proto/v1/logic_pb2.pyi | 6 +- 9 files changed, 4707 insertions(+), 4395 deletions(-) diff --git a/go/src/lqp/v1/logic.pb.go b/go/src/lqp/v1/logic.pb.go index df23d7e5..5ece2afa 100644 --- a/go/src/lqp/v1/logic.pb.go +++ b/go/src/lqp/v1/logic.pb.go @@ -3042,7 +3042,9 @@ type CSVConfig struct { // Encoding Encoding string `protobuf:"bytes,10,opt,name=encoding,proto3" json:"encoding,omitempty"` // Character encoding (default: "utf-8") // Compression - Compression string `protobuf:"bytes,11,opt,name=compression,proto3" json:"compression,omitempty"` // "none", "gzip", "zstd", "auto" (default: "auto") + Compression string `protobuf:"bytes,11,opt,name=compression,proto3" json:"compression,omitempty"` // "none", "gzip", "zstd", "auto" (default: "auto") + // Partitioning (for export) + PartitionSize int64 `protobuf:"varint,12,opt,name=partition_size,json=partitionSize,proto3" json:"partition_size,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -3154,6 +3156,13 @@ func (x *CSVConfig) GetCompression() string { return "" } +func (x *CSVConfig) GetPartitionSize() int64 { + if x != nil { + return x.PartitionSize + } + return 0 +} + type CSVColumn struct { state protoimpl.MessageState `protogen:"open.v1"` ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"` // Name in CSV file @@ -4898,7 +4907,7 @@ var file_relationalai_lqp_v1_logic_proto_rawDesc = string([]byte{ 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x02, 0x0a, 0x09, + 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x09, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, @@ -4921,153 +4930,156 @@ var file_relationalai_lqp_v1_logic_proto_rawDesc = string([]byte{ 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2f, - 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, - 0x3c, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x15, 0x0a, - 0x06, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x69, - 0x64, 0x4c, 0x6f, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x69, 0x64, 0x48, 0x69, 0x67, 0x68, 0x22, 0x89, 0x06, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, - 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, - 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, - 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, - 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, - 0x07, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, + 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x43, 0x53, 0x56, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x08, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x69, 0x64, 0x4c, 0x6f, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x69, + 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x69, 0x64, + 0x48, 0x69, 0x67, 0x68, 0x22, 0x89, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, + 0x10, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x0f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x3f, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x45, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x49, 0x6e, + 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, + 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x31, 0x32, + 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x75, 0x69, 0x6e, - 0x74, 0x31, 0x32, 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, - 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, - 0x65, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x42, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, - 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, - 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, - 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x0a, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x61, 0x74, + 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, + 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x64, 0x65, + 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, - 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x6e, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x09, 0x0a, 0x07, 0x49, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x0a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x44, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x4d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x41, 0x0a, 0x0b, 0x44, 0x65, - 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, - 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, - 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x0d, 0x0a, - 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd1, 0x04, 0x0a, - 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, - 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, - 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, - 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x31, - 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, - 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x31, 0x32, - 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, - 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, - 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, - 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x64, 0x61, 0x74, - 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, - 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, - 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, - 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, - 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, - 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x33, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x06, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x0e, 0x0a, 0x0c, 0x4d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x09, 0x44, - 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, - 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, - 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x64, 0x61, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, - 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, - 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, - 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, - 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, - 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, + 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6f, 0x6f, + 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x09, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0b, 0x0a, 0x09, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x49, 0x6e, + 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x31, + 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x41, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x22, 0xd1, 0x04, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, + 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x1f, 0x5a, 0x1d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2d, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, - 0x71, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, + 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, + 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, + 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x3f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x4b, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0d, + 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, + 0x0d, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, + 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x6d, + 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, + 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x31, + 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x33, 0x0a, + 0x0b, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x68, 0x69, + 0x67, 0x68, 0x22, 0x0e, 0x0a, 0x0c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x47, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, + 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0d, + 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, + 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, + 0x7a, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, + 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x1f, 0x5a, 0x1d, 0x6c, + 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x71, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, }) var ( diff --git a/go/src/parser.go b/go/src/parser.go index 26e5ec74..21f386db 100644 --- a/go/src/parser.go +++ b/go/src/parser.go @@ -739,68 +739,70 @@ func (p *Parser) _try_extract_value_string_list(value *pb.Value) []string { func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { config := dictFromList(config_dict) - _t956 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) - header_row := _t956 - _t957 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) - skip := _t957 - _t958 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") - new_line := _t958 - _t959 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") - delimiter := _t959 - _t960 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") - quotechar := _t960 - _t961 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") - escapechar := _t961 - _t962 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") - comment := _t962 - _t963 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) - missing_strings := _t963 - _t964 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") - decimal_separator := _t964 - _t965 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") - encoding := _t965 - _t966 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") - compression := _t966 - _t967 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression} - return _t967 + _t983 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) + header_row := _t983 + _t984 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) + skip := _t984 + _t985 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") + new_line := _t985 + _t986 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") + delimiter := _t986 + _t987 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") + quotechar := _t987 + _t988 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") + escapechar := _t988 + _t989 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") + comment := _t989 + _t990 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) + missing_strings := _t990 + _t991 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") + decimal_separator := _t991 + _t992 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") + encoding := _t992 + _t993 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") + compression := _t993 + _t994 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) + partition_size := _t994 + _t995 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSize: partition_size} + return _t995 } func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { config := dictFromList(config_dict) - _t968 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) - epsilon := _t968 - _t969 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) - max_pivots := _t969 - _t970 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) - max_deltas := _t970 - _t971 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) - max_leaf := _t971 - _t972 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} - storage_config := _t972 - _t973 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) - root_pageid := _t973 - _t974 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) - inline_data := _t974 - _t975 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) - element_count := _t975 - _t976 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) - tree_height := _t976 - _t977 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} + _t996 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) + epsilon := _t996 + _t997 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) + max_pivots := _t997 + _t998 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) + max_deltas := _t998 + _t999 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) + max_leaf := _t999 + _t1000 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} + storage_config := _t1000 + _t1001 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) + root_pageid := _t1001 + _t1002 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) + inline_data := _t1002 + _t1003 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) + element_count := _t1003 + _t1004 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) + tree_height := _t1004 + _t1005 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} if root_pageid != nil { - _t977.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} + _t1005.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} } else { - _t977.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} + _t1005.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} } - relation_locator := _t977 - _t978 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} - return _t978 + relation_locator := _t1005 + _t1006 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} + return _t1006 } func (p *Parser) default_configure() *pb.Configure { - _t979 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} - ivm_config := _t979 - _t980 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} - return _t980 + _t1007 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} + ivm_config := _t1007 + _t1008 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} + return _t1008 } func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure { @@ -822,68 +824,73 @@ func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure } } } - _t981 := &pb.IVMConfig{Level: maintenance_level} - ivm_config := _t981 - _t982 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) - semantics_version := _t982 - _t983 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} - return _t983 + _t1009 := &pb.IVMConfig{Level: maintenance_level} + ivm_config := _t1009 + _t1010 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) + semantics_version := _t1010 + _t1011 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} + return _t1011 } -func (p *Parser) export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { +func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { config := dictFromList(config_dict) - _t984 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) - partition_size := _t984 - _t985 := p._extract_value_string(dictGetValue(config, "compression"), "") - compression := _t985 - _t986 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) - syntax_header_row := _t986 - _t987 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") - syntax_missing_string := _t987 - _t988 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") - syntax_delim := _t988 - _t989 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") - syntax_quotechar := _t989 - _t990 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") - syntax_escapechar := _t990 - _t991 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} - return _t991 + _t1012 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) + partition_size := _t1012 + _t1013 := p._extract_value_string(dictGetValue(config, "compression"), "") + compression := _t1013 + _t1014 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) + syntax_header_row := _t1014 + _t1015 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") + syntax_missing_string := _t1015 + _t1016 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") + syntax_delim := _t1016 + _t1017 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") + syntax_quotechar := _t1017 + _t1018 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") + syntax_escapechar := _t1018 + _t1019 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} + return _t1019 +} + +func (p *Parser) construct_export_csv_config_with_source(path string, csv_source interface{}, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { + _t1020 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} + return _t1020 } func (p *Parser) _make_value_int32(v int32) *pb.Value { - _t992 := &pb.Value{} - _t992.Value = &pb.Value_IntValue{IntValue: int64(v)} - return _t992 + _t1021 := &pb.Value{} + _t1021.Value = &pb.Value_IntValue{IntValue: int64(v)} + return _t1021 } func (p *Parser) _make_value_int64(v int64) *pb.Value { - _t993 := &pb.Value{} - _t993.Value = &pb.Value_IntValue{IntValue: v} - return _t993 + _t1022 := &pb.Value{} + _t1022.Value = &pb.Value_IntValue{IntValue: v} + return _t1022 } func (p *Parser) _make_value_float64(v float64) *pb.Value { - _t994 := &pb.Value{} - _t994.Value = &pb.Value_FloatValue{FloatValue: v} - return _t994 + _t1023 := &pb.Value{} + _t1023.Value = &pb.Value_FloatValue{FloatValue: v} + return _t1023 } func (p *Parser) _make_value_string(v string) *pb.Value { - _t995 := &pb.Value{} - _t995.Value = &pb.Value_StringValue{StringValue: v} - return _t995 + _t1024 := &pb.Value{} + _t1024.Value = &pb.Value_StringValue{StringValue: v} + return _t1024 } func (p *Parser) _make_value_boolean(v bool) *pb.Value { - _t996 := &pb.Value{} - _t996.Value = &pb.Value_BooleanValue{BooleanValue: v} - return _t996 + _t1025 := &pb.Value{} + _t1025.Value = &pb.Value_BooleanValue{BooleanValue: v} + return _t1025 } func (p *Parser) _make_value_uint128(v *pb.UInt128Value) *pb.Value { - _t997 := &pb.Value{} - _t997.Value = &pb.Value_Uint128Value{Uint128Value: v} - return _t997 + _t1026 := &pb.Value{} + _t1026.Value = &pb.Value_Uint128Value{Uint128Value: v} + return _t1026 } func (p *Parser) is_default_configure(cfg *pb.Configure) bool { @@ -899,115 +906,119 @@ func (p *Parser) is_default_configure(cfg *pb.Configure) bool { func (p *Parser) deconstruct_configure(msg *pb.Configure) [][]interface{} { result := [][]interface{}{} if msg.GetIvmConfig().GetLevel() == pb.MaintenanceLevel_MAINTENANCE_LEVEL_AUTO { - _t998 := p._make_value_string("auto") - result = append(result, []interface{}{"ivm.maintenance_level", _t998}) + _t1027 := p._make_value_string("auto") + result = append(result, []interface{}{"ivm.maintenance_level", _t1027}) } else { if msg.GetIvmConfig().GetLevel() == pb.MaintenanceLevel_MAINTENANCE_LEVEL_ALL { - _t999 := p._make_value_string("all") - result = append(result, []interface{}{"ivm.maintenance_level", _t999}) + _t1028 := p._make_value_string("all") + result = append(result, []interface{}{"ivm.maintenance_level", _t1028}) } else { if msg.GetIvmConfig().GetLevel() == pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF { - _t1000 := p._make_value_string("off") - result = append(result, []interface{}{"ivm.maintenance_level", _t1000}) + _t1029 := p._make_value_string("off") + result = append(result, []interface{}{"ivm.maintenance_level", _t1029}) } } } - _t1001 := p._make_value_int64(msg.GetSemanticsVersion()) - result = append(result, []interface{}{"semantics_version", _t1001}) + _t1030 := p._make_value_int64(msg.GetSemanticsVersion()) + result = append(result, []interface{}{"semantics_version", _t1030}) return listSort(result) } func (p *Parser) deconstruct_csv_config(msg *pb.CSVConfig) [][]interface{} { result := [][]interface{}{} - _t1002 := p._make_value_int32(msg.GetHeaderRow()) - result = append(result, []interface{}{"csv_header_row", _t1002}) - _t1003 := p._make_value_int64(msg.GetSkip()) - result = append(result, []interface{}{"csv_skip", _t1003}) + _t1031 := p._make_value_int32(msg.GetHeaderRow()) + result = append(result, []interface{}{"csv_header_row", _t1031}) + _t1032 := p._make_value_int64(msg.GetSkip()) + result = append(result, []interface{}{"csv_skip", _t1032}) if msg.GetNewLine() != "" { - _t1004 := p._make_value_string(msg.GetNewLine()) - result = append(result, []interface{}{"csv_new_line", _t1004}) - } - _t1005 := p._make_value_string(msg.GetDelimiter()) - result = append(result, []interface{}{"csv_delimiter", _t1005}) - _t1006 := p._make_value_string(msg.GetQuotechar()) - result = append(result, []interface{}{"csv_quotechar", _t1006}) - _t1007 := p._make_value_string(msg.GetEscapechar()) - result = append(result, []interface{}{"csv_escapechar", _t1007}) + _t1033 := p._make_value_string(msg.GetNewLine()) + result = append(result, []interface{}{"csv_new_line", _t1033}) + } + _t1034 := p._make_value_string(msg.GetDelimiter()) + result = append(result, []interface{}{"csv_delimiter", _t1034}) + _t1035 := p._make_value_string(msg.GetQuotechar()) + result = append(result, []interface{}{"csv_quotechar", _t1035}) + _t1036 := p._make_value_string(msg.GetEscapechar()) + result = append(result, []interface{}{"csv_escapechar", _t1036}) if msg.GetComment() != "" { - _t1008 := p._make_value_string(msg.GetComment()) - result = append(result, []interface{}{"csv_comment", _t1008}) + _t1037 := p._make_value_string(msg.GetComment()) + result = append(result, []interface{}{"csv_comment", _t1037}) } for _, missing_string := range msg.GetMissingStrings() { - _t1009 := p._make_value_string(missing_string) - result = append(result, []interface{}{"csv_missing_strings", _t1009}) - } - _t1010 := p._make_value_string(msg.GetDecimalSeparator()) - result = append(result, []interface{}{"csv_decimal_separator", _t1010}) - _t1011 := p._make_value_string(msg.GetEncoding()) - result = append(result, []interface{}{"csv_encoding", _t1011}) - _t1012 := p._make_value_string(msg.GetCompression()) - result = append(result, []interface{}{"csv_compression", _t1012}) + _t1038 := p._make_value_string(missing_string) + result = append(result, []interface{}{"csv_missing_strings", _t1038}) + } + _t1039 := p._make_value_string(msg.GetDecimalSeparator()) + result = append(result, []interface{}{"csv_decimal_separator", _t1039}) + _t1040 := p._make_value_string(msg.GetEncoding()) + result = append(result, []interface{}{"csv_encoding", _t1040}) + _t1041 := p._make_value_string(msg.GetCompression()) + result = append(result, []interface{}{"csv_compression", _t1041}) + if msg.GetPartitionSize() != 0 { + _t1042 := p._make_value_int64(msg.GetPartitionSize()) + result = append(result, []interface{}{"csv_partition_size", _t1042}) + } return listSort(result) } func (p *Parser) deconstruct_betree_info_config(msg *pb.BeTreeInfo) [][]interface{} { result := [][]interface{}{} - _t1013 := p._make_value_float64(msg.GetStorageConfig().GetEpsilon()) - result = append(result, []interface{}{"betree_config_epsilon", _t1013}) - _t1014 := p._make_value_int64(msg.GetStorageConfig().GetMaxPivots()) - result = append(result, []interface{}{"betree_config_max_pivots", _t1014}) - _t1015 := p._make_value_int64(msg.GetStorageConfig().GetMaxDeltas()) - result = append(result, []interface{}{"betree_config_max_deltas", _t1015}) - _t1016 := p._make_value_int64(msg.GetStorageConfig().GetMaxLeaf()) - result = append(result, []interface{}{"betree_config_max_leaf", _t1016}) + _t1043 := p._make_value_float64(msg.GetStorageConfig().GetEpsilon()) + result = append(result, []interface{}{"betree_config_epsilon", _t1043}) + _t1044 := p._make_value_int64(msg.GetStorageConfig().GetMaxPivots()) + result = append(result, []interface{}{"betree_config_max_pivots", _t1044}) + _t1045 := p._make_value_int64(msg.GetStorageConfig().GetMaxDeltas()) + result = append(result, []interface{}{"betree_config_max_deltas", _t1045}) + _t1046 := p._make_value_int64(msg.GetStorageConfig().GetMaxLeaf()) + result = append(result, []interface{}{"betree_config_max_leaf", _t1046}) if hasProtoField(msg.GetRelationLocator(), "root_pageid") { if msg.GetRelationLocator().GetRootPageid() != nil { - _t1017 := p._make_value_uint128(msg.GetRelationLocator().GetRootPageid()) - result = append(result, []interface{}{"betree_locator_root_pageid", _t1017}) + _t1047 := p._make_value_uint128(msg.GetRelationLocator().GetRootPageid()) + result = append(result, []interface{}{"betree_locator_root_pageid", _t1047}) } } if hasProtoField(msg.GetRelationLocator(), "inline_data") { if msg.GetRelationLocator().GetInlineData() != nil { - _t1018 := p._make_value_string(string(msg.GetRelationLocator().GetInlineData())) - result = append(result, []interface{}{"betree_locator_inline_data", _t1018}) + _t1048 := p._make_value_string(string(msg.GetRelationLocator().GetInlineData())) + result = append(result, []interface{}{"betree_locator_inline_data", _t1048}) } } - _t1019 := p._make_value_int64(msg.GetRelationLocator().GetElementCount()) - result = append(result, []interface{}{"betree_locator_element_count", _t1019}) - _t1020 := p._make_value_int64(msg.GetRelationLocator().GetTreeHeight()) - result = append(result, []interface{}{"betree_locator_tree_height", _t1020}) + _t1049 := p._make_value_int64(msg.GetRelationLocator().GetElementCount()) + result = append(result, []interface{}{"betree_locator_element_count", _t1049}) + _t1050 := p._make_value_int64(msg.GetRelationLocator().GetTreeHeight()) + result = append(result, []interface{}{"betree_locator_tree_height", _t1050}) return listSort(result) } func (p *Parser) deconstruct_export_csv_config(msg *pb.ExportCSVConfig) [][]interface{} { result := [][]interface{}{} if msg.PartitionSize != nil { - _t1021 := p._make_value_int64(*msg.PartitionSize) - result = append(result, []interface{}{"partition_size", _t1021}) + _t1051 := p._make_value_int64(*msg.PartitionSize) + result = append(result, []interface{}{"partition_size", _t1051}) } if msg.Compression != nil { - _t1022 := p._make_value_string(*msg.Compression) - result = append(result, []interface{}{"compression", _t1022}) + _t1052 := p._make_value_string(*msg.Compression) + result = append(result, []interface{}{"compression", _t1052}) } if msg.SyntaxHeaderRow != nil { - _t1023 := p._make_value_boolean(*msg.SyntaxHeaderRow) - result = append(result, []interface{}{"syntax_header_row", _t1023}) + _t1053 := p._make_value_boolean(*msg.SyntaxHeaderRow) + result = append(result, []interface{}{"syntax_header_row", _t1053}) } if msg.SyntaxMissingString != nil { - _t1024 := p._make_value_string(*msg.SyntaxMissingString) - result = append(result, []interface{}{"syntax_missing_string", _t1024}) + _t1054 := p._make_value_string(*msg.SyntaxMissingString) + result = append(result, []interface{}{"syntax_missing_string", _t1054}) } if msg.SyntaxDelim != nil { - _t1025 := p._make_value_string(*msg.SyntaxDelim) - result = append(result, []interface{}{"syntax_delim", _t1025}) + _t1055 := p._make_value_string(*msg.SyntaxDelim) + result = append(result, []interface{}{"syntax_delim", _t1055}) } if msg.SyntaxQuotechar != nil { - _t1026 := p._make_value_string(*msg.SyntaxQuotechar) - result = append(result, []interface{}{"syntax_quotechar", _t1026}) + _t1056 := p._make_value_string(*msg.SyntaxQuotechar) + result = append(result, []interface{}{"syntax_quotechar", _t1056}) } if msg.SyntaxEscapechar != nil { - _t1027 := p._make_value_string(*msg.SyntaxEscapechar) - result = append(result, []interface{}{"syntax_escapechar", _t1027}) + _t1057 := p._make_value_string(*msg.SyntaxEscapechar) + result = append(result, []interface{}{"syntax_escapechar", _t1057}) } return listSort(result) } @@ -1044,45 +1055,45 @@ func (p *Parser) deconstruct_bindings_with_arity(abs *pb.Abstraction, value_arit func (p *Parser) parse_transaction() *pb.Transaction { p.consumeLiteral("(") p.consumeLiteral("transaction") - var _t353 *pb.Configure + var _t362 *pb.Configure if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("configure", 1)) { - _t354 := p.parse_configure() - _t353 = _t354 + _t363 := p.parse_configure() + _t362 = _t363 } - configure0 := _t353 - var _t355 *pb.Sync + configure0 := _t362 + var _t364 *pb.Sync if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("sync", 1)) { - _t356 := p.parse_sync() - _t355 = _t356 + _t365 := p.parse_sync() + _t364 = _t365 } - sync1 := _t355 + sync1 := _t364 xs2 := []*pb.Epoch{} cond3 := p.matchLookaheadLiteral("(", 0) for cond3 { - _t357 := p.parse_epoch() - item4 := _t357 + _t366 := p.parse_epoch() + item4 := _t366 xs2 = append(xs2, item4) cond3 = p.matchLookaheadLiteral("(", 0) } epochs5 := xs2 p.consumeLiteral(")") - _t358 := p.default_configure() - _t359 := configure0 + _t367 := p.default_configure() + _t368 := configure0 if configure0 == nil { - _t359 = _t358 + _t368 = _t367 } - _t360 := &pb.Transaction{Epochs: epochs5, Configure: _t359, Sync: sync1} - return _t360 + _t369 := &pb.Transaction{Epochs: epochs5, Configure: _t368, Sync: sync1} + return _t369 } func (p *Parser) parse_configure() *pb.Configure { p.consumeLiteral("(") p.consumeLiteral("configure") - _t361 := p.parse_config_dict() - config_dict6 := _t361 + _t370 := p.parse_config_dict() + config_dict6 := _t370 p.consumeLiteral(")") - _t362 := p.construct_configure(config_dict6) - return _t362 + _t371 := p.construct_configure(config_dict6) + return _t371 } func (p *Parser) parse_config_dict() [][]interface{} { @@ -1090,8 +1101,8 @@ func (p *Parser) parse_config_dict() [][]interface{} { xs7 := [][]interface{}{} cond8 := p.matchLookaheadLiteral(":", 0) for cond8 { - _t363 := p.parse_config_key_value() - item9 := _t363 + _t372 := p.parse_config_key_value() + item9 := _t372 xs7 = append(xs7, item9) cond8 = p.matchLookaheadLiteral(":", 0) } @@ -1103,180 +1114,180 @@ func (p *Parser) parse_config_dict() [][]interface{} { func (p *Parser) parse_config_key_value() []interface{} { p.consumeLiteral(":") symbol11 := p.consumeTerminal("SYMBOL").Value.AsString() - _t364 := p.parse_value() - value12 := _t364 + _t373 := p.parse_value() + value12 := _t373 return []interface{}{symbol11, value12} } func (p *Parser) parse_value() *pb.Value { - var _t365 int64 + var _t374 int64 if p.matchLookaheadLiteral("true", 0) { - _t365 = 9 + _t374 = 9 } else { - var _t366 int64 + var _t375 int64 if p.matchLookaheadLiteral("missing", 0) { - _t366 = 8 + _t375 = 8 } else { - var _t367 int64 + var _t376 int64 if p.matchLookaheadLiteral("false", 0) { - _t367 = 9 + _t376 = 9 } else { - var _t368 int64 + var _t377 int64 if p.matchLookaheadLiteral("(", 0) { - var _t369 int64 + var _t378 int64 if p.matchLookaheadLiteral("datetime", 1) { - _t369 = 1 + _t378 = 1 } else { - var _t370 int64 + var _t379 int64 if p.matchLookaheadLiteral("date", 1) { - _t370 = 0 + _t379 = 0 } else { - _t370 = -1 + _t379 = -1 } - _t369 = _t370 + _t378 = _t379 } - _t368 = _t369 + _t377 = _t378 } else { - var _t371 int64 + var _t380 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t371 = 5 + _t380 = 5 } else { - var _t372 int64 + var _t381 int64 if p.matchLookaheadTerminal("STRING", 0) { - _t372 = 2 + _t381 = 2 } else { - var _t373 int64 + var _t382 int64 if p.matchLookaheadTerminal("INT128", 0) { - _t373 = 6 + _t382 = 6 } else { - var _t374 int64 + var _t383 int64 if p.matchLookaheadTerminal("INT", 0) { - _t374 = 3 + _t383 = 3 } else { - var _t375 int64 + var _t384 int64 if p.matchLookaheadTerminal("FLOAT", 0) { - _t375 = 4 + _t384 = 4 } else { - var _t376 int64 + var _t385 int64 if p.matchLookaheadTerminal("DECIMAL", 0) { - _t376 = 7 + _t385 = 7 } else { - _t376 = -1 + _t385 = -1 } - _t375 = _t376 + _t384 = _t385 } - _t374 = _t375 + _t383 = _t384 } - _t373 = _t374 + _t382 = _t383 } - _t372 = _t373 + _t381 = _t382 } - _t371 = _t372 + _t380 = _t381 } - _t368 = _t371 + _t377 = _t380 } - _t367 = _t368 + _t376 = _t377 } - _t366 = _t367 + _t375 = _t376 } - _t365 = _t366 + _t374 = _t375 } - prediction13 := _t365 - var _t377 *pb.Value + prediction13 := _t374 + var _t386 *pb.Value if prediction13 == 9 { - _t378 := p.parse_boolean_value() - boolean_value22 := _t378 - _t379 := &pb.Value{} - _t379.Value = &pb.Value_BooleanValue{BooleanValue: boolean_value22} - _t377 = _t379 + _t387 := p.parse_boolean_value() + boolean_value22 := _t387 + _t388 := &pb.Value{} + _t388.Value = &pb.Value_BooleanValue{BooleanValue: boolean_value22} + _t386 = _t388 } else { - var _t380 *pb.Value + var _t389 *pb.Value if prediction13 == 8 { p.consumeLiteral("missing") - _t381 := &pb.MissingValue{} - _t382 := &pb.Value{} - _t382.Value = &pb.Value_MissingValue{MissingValue: _t381} - _t380 = _t382 + _t390 := &pb.MissingValue{} + _t391 := &pb.Value{} + _t391.Value = &pb.Value_MissingValue{MissingValue: _t390} + _t389 = _t391 } else { - var _t383 *pb.Value + var _t392 *pb.Value if prediction13 == 7 { decimal21 := p.consumeTerminal("DECIMAL").Value.AsDecimal() - _t384 := &pb.Value{} - _t384.Value = &pb.Value_DecimalValue{DecimalValue: decimal21} - _t383 = _t384 + _t393 := &pb.Value{} + _t393.Value = &pb.Value_DecimalValue{DecimalValue: decimal21} + _t392 = _t393 } else { - var _t385 *pb.Value + var _t394 *pb.Value if prediction13 == 6 { int12820 := p.consumeTerminal("INT128").Value.AsInt128() - _t386 := &pb.Value{} - _t386.Value = &pb.Value_Int128Value{Int128Value: int12820} - _t385 = _t386 + _t395 := &pb.Value{} + _t395.Value = &pb.Value_Int128Value{Int128Value: int12820} + _t394 = _t395 } else { - var _t387 *pb.Value + var _t396 *pb.Value if prediction13 == 5 { uint12819 := p.consumeTerminal("UINT128").Value.AsUint128() - _t388 := &pb.Value{} - _t388.Value = &pb.Value_Uint128Value{Uint128Value: uint12819} - _t387 = _t388 + _t397 := &pb.Value{} + _t397.Value = &pb.Value_Uint128Value{Uint128Value: uint12819} + _t396 = _t397 } else { - var _t389 *pb.Value + var _t398 *pb.Value if prediction13 == 4 { float18 := p.consumeTerminal("FLOAT").Value.AsFloat64() - _t390 := &pb.Value{} - _t390.Value = &pb.Value_FloatValue{FloatValue: float18} - _t389 = _t390 + _t399 := &pb.Value{} + _t399.Value = &pb.Value_FloatValue{FloatValue: float18} + _t398 = _t399 } else { - var _t391 *pb.Value + var _t400 *pb.Value if prediction13 == 3 { int17 := p.consumeTerminal("INT").Value.AsInt64() - _t392 := &pb.Value{} - _t392.Value = &pb.Value_IntValue{IntValue: int17} - _t391 = _t392 + _t401 := &pb.Value{} + _t401.Value = &pb.Value_IntValue{IntValue: int17} + _t400 = _t401 } else { - var _t393 *pb.Value + var _t402 *pb.Value if prediction13 == 2 { string16 := p.consumeTerminal("STRING").Value.AsString() - _t394 := &pb.Value{} - _t394.Value = &pb.Value_StringValue{StringValue: string16} - _t393 = _t394 + _t403 := &pb.Value{} + _t403.Value = &pb.Value_StringValue{StringValue: string16} + _t402 = _t403 } else { - var _t395 *pb.Value + var _t404 *pb.Value if prediction13 == 1 { - _t396 := p.parse_datetime() - datetime15 := _t396 - _t397 := &pb.Value{} - _t397.Value = &pb.Value_DatetimeValue{DatetimeValue: datetime15} - _t395 = _t397 + _t405 := p.parse_datetime() + datetime15 := _t405 + _t406 := &pb.Value{} + _t406.Value = &pb.Value_DatetimeValue{DatetimeValue: datetime15} + _t404 = _t406 } else { - var _t398 *pb.Value + var _t407 *pb.Value if prediction13 == 0 { - _t399 := p.parse_date() - date14 := _t399 - _t400 := &pb.Value{} - _t400.Value = &pb.Value_DateValue{DateValue: date14} - _t398 = _t400 + _t408 := p.parse_date() + date14 := _t408 + _t409 := &pb.Value{} + _t409.Value = &pb.Value_DateValue{DateValue: date14} + _t407 = _t409 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in value", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t395 = _t398 + _t404 = _t407 } - _t393 = _t395 + _t402 = _t404 } - _t391 = _t393 + _t400 = _t402 } - _t389 = _t391 + _t398 = _t400 } - _t387 = _t389 + _t396 = _t398 } - _t385 = _t387 + _t394 = _t396 } - _t383 = _t385 + _t392 = _t394 } - _t380 = _t383 + _t389 = _t392 } - _t377 = _t380 + _t386 = _t389 } - return _t377 + return _t386 } func (p *Parser) parse_date() *pb.DateValue { @@ -1286,8 +1297,8 @@ func (p *Parser) parse_date() *pb.DateValue { int_324 := p.consumeTerminal("INT").Value.AsInt64() int_425 := p.consumeTerminal("INT").Value.AsInt64() p.consumeLiteral(")") - _t401 := &pb.DateValue{Year: int32(int23), Month: int32(int_324), Day: int32(int_425)} - return _t401 + _t410 := &pb.DateValue{Year: int32(int23), Month: int32(int_324), Day: int32(int_425)} + return _t410 } func (p *Parser) parse_datetime() *pb.DateTimeValue { @@ -1299,45 +1310,45 @@ func (p *Parser) parse_datetime() *pb.DateTimeValue { int_529 := p.consumeTerminal("INT").Value.AsInt64() int_630 := p.consumeTerminal("INT").Value.AsInt64() int_731 := p.consumeTerminal("INT").Value.AsInt64() - var _t402 *int64 + var _t411 *int64 if p.matchLookaheadTerminal("INT", 0) { - _t402 = ptr(p.consumeTerminal("INT").Value.AsInt64()) + _t411 = ptr(p.consumeTerminal("INT").Value.AsInt64()) } - int_832 := _t402 + int_832 := _t411 p.consumeLiteral(")") - _t403 := &pb.DateTimeValue{Year: int32(int26), Month: int32(int_327), Day: int32(int_428), Hour: int32(int_529), Minute: int32(int_630), Second: int32(int_731), Microsecond: int32(deref(int_832, 0))} - return _t403 + _t412 := &pb.DateTimeValue{Year: int32(int26), Month: int32(int_327), Day: int32(int_428), Hour: int32(int_529), Minute: int32(int_630), Second: int32(int_731), Microsecond: int32(deref(int_832, 0))} + return _t412 } func (p *Parser) parse_boolean_value() bool { - var _t404 int64 + var _t413 int64 if p.matchLookaheadLiteral("true", 0) { - _t404 = 0 + _t413 = 0 } else { - var _t405 int64 + var _t414 int64 if p.matchLookaheadLiteral("false", 0) { - _t405 = 1 + _t414 = 1 } else { - _t405 = -1 + _t414 = -1 } - _t404 = _t405 + _t413 = _t414 } - prediction33 := _t404 - var _t406 bool + prediction33 := _t413 + var _t415 bool if prediction33 == 1 { p.consumeLiteral("false") - _t406 = false + _t415 = false } else { - var _t407 bool + var _t416 bool if prediction33 == 0 { p.consumeLiteral("true") - _t407 = true + _t416 = true } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in boolean_value", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t406 = _t407 + _t415 = _t416 } - return _t406 + return _t415 } func (p *Parser) parse_sync() *pb.Sync { @@ -1346,15 +1357,15 @@ func (p *Parser) parse_sync() *pb.Sync { xs34 := []*pb.FragmentId{} cond35 := p.matchLookaheadLiteral(":", 0) for cond35 { - _t408 := p.parse_fragment_id() - item36 := _t408 + _t417 := p.parse_fragment_id() + item36 := _t417 xs34 = append(xs34, item36) cond35 = p.matchLookaheadLiteral(":", 0) } fragment_ids37 := xs34 p.consumeLiteral(")") - _t409 := &pb.Sync{Fragments: fragment_ids37} - return _t409 + _t418 := &pb.Sync{Fragments: fragment_ids37} + return _t418 } func (p *Parser) parse_fragment_id() *pb.FragmentId { @@ -1366,29 +1377,29 @@ func (p *Parser) parse_fragment_id() *pb.FragmentId { func (p *Parser) parse_epoch() *pb.Epoch { p.consumeLiteral("(") p.consumeLiteral("epoch") - var _t410 []*pb.Write + var _t419 []*pb.Write if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("writes", 1)) { - _t411 := p.parse_epoch_writes() - _t410 = _t411 + _t420 := p.parse_epoch_writes() + _t419 = _t420 } - epoch_writes39 := _t410 - var _t412 []*pb.Read + epoch_writes39 := _t419 + var _t421 []*pb.Read if p.matchLookaheadLiteral("(", 0) { - _t413 := p.parse_epoch_reads() - _t412 = _t413 + _t422 := p.parse_epoch_reads() + _t421 = _t422 } - epoch_reads40 := _t412 + epoch_reads40 := _t421 p.consumeLiteral(")") - _t414 := epoch_writes39 + _t423 := epoch_writes39 if epoch_writes39 == nil { - _t414 = []*pb.Write{} + _t423 = []*pb.Write{} } - _t415 := epoch_reads40 + _t424 := epoch_reads40 if epoch_reads40 == nil { - _t415 = []*pb.Read{} + _t424 = []*pb.Read{} } - _t416 := &pb.Epoch{Writes: _t414, Reads: _t415} - return _t416 + _t425 := &pb.Epoch{Writes: _t423, Reads: _t424} + return _t425 } func (p *Parser) parse_epoch_writes() []*pb.Write { @@ -1397,8 +1408,8 @@ func (p *Parser) parse_epoch_writes() []*pb.Write { xs41 := []*pb.Write{} cond42 := p.matchLookaheadLiteral("(", 0) for cond42 { - _t417 := p.parse_write() - item43 := _t417 + _t426 := p.parse_write() + item43 := _t426 xs41 = append(xs41, item43) cond42 = p.matchLookaheadLiteral("(", 0) } @@ -1408,84 +1419,84 @@ func (p *Parser) parse_epoch_writes() []*pb.Write { } func (p *Parser) parse_write() *pb.Write { - var _t418 int64 + var _t427 int64 if p.matchLookaheadLiteral("(", 0) { - var _t419 int64 + var _t428 int64 if p.matchLookaheadLiteral("undefine", 1) { - _t419 = 1 + _t428 = 1 } else { - var _t420 int64 + var _t429 int64 if p.matchLookaheadLiteral("define", 1) { - _t420 = 0 + _t429 = 0 } else { - var _t421 int64 + var _t430 int64 if p.matchLookaheadLiteral("context", 1) { - _t421 = 2 + _t430 = 2 } else { - _t421 = -1 + _t430 = -1 } - _t420 = _t421 + _t429 = _t430 } - _t419 = _t420 + _t428 = _t429 } - _t418 = _t419 + _t427 = _t428 } else { - _t418 = -1 + _t427 = -1 } - prediction45 := _t418 - var _t422 *pb.Write + prediction45 := _t427 + var _t431 *pb.Write if prediction45 == 2 { - _t423 := p.parse_context() - context48 := _t423 - _t424 := &pb.Write{} - _t424.WriteType = &pb.Write_Context{Context: context48} - _t422 = _t424 + _t432 := p.parse_context() + context48 := _t432 + _t433 := &pb.Write{} + _t433.WriteType = &pb.Write_Context{Context: context48} + _t431 = _t433 } else { - var _t425 *pb.Write + var _t434 *pb.Write if prediction45 == 1 { - _t426 := p.parse_undefine() - undefine47 := _t426 - _t427 := &pb.Write{} - _t427.WriteType = &pb.Write_Undefine{Undefine: undefine47} - _t425 = _t427 + _t435 := p.parse_undefine() + undefine47 := _t435 + _t436 := &pb.Write{} + _t436.WriteType = &pb.Write_Undefine{Undefine: undefine47} + _t434 = _t436 } else { - var _t428 *pb.Write + var _t437 *pb.Write if prediction45 == 0 { - _t429 := p.parse_define() - define46 := _t429 - _t430 := &pb.Write{} - _t430.WriteType = &pb.Write_Define{Define: define46} - _t428 = _t430 + _t438 := p.parse_define() + define46 := _t438 + _t439 := &pb.Write{} + _t439.WriteType = &pb.Write_Define{Define: define46} + _t437 = _t439 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in write", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t425 = _t428 + _t434 = _t437 } - _t422 = _t425 + _t431 = _t434 } - return _t422 + return _t431 } func (p *Parser) parse_define() *pb.Define { p.consumeLiteral("(") p.consumeLiteral("define") - _t431 := p.parse_fragment() - fragment49 := _t431 + _t440 := p.parse_fragment() + fragment49 := _t440 p.consumeLiteral(")") - _t432 := &pb.Define{Fragment: fragment49} - return _t432 + _t441 := &pb.Define{Fragment: fragment49} + return _t441 } func (p *Parser) parse_fragment() *pb.Fragment { p.consumeLiteral("(") p.consumeLiteral("fragment") - _t433 := p.parse_new_fragment_id() - new_fragment_id50 := _t433 + _t442 := p.parse_new_fragment_id() + new_fragment_id50 := _t442 xs51 := []*pb.Declaration{} cond52 := p.matchLookaheadLiteral("(", 0) for cond52 { - _t434 := p.parse_declaration() - item53 := _t434 + _t443 := p.parse_declaration() + item53 := _t443 xs51 = append(xs51, item53) cond52 = p.matchLookaheadLiteral("(", 0) } @@ -1495,162 +1506,162 @@ func (p *Parser) parse_fragment() *pb.Fragment { } func (p *Parser) parse_new_fragment_id() *pb.FragmentId { - _t435 := p.parse_fragment_id() - fragment_id55 := _t435 + _t444 := p.parse_fragment_id() + fragment_id55 := _t444 p.startFragment(fragment_id55) return fragment_id55 } func (p *Parser) parse_declaration() *pb.Declaration { - var _t436 int64 + var _t445 int64 if p.matchLookaheadLiteral("(", 0) { - var _t437 int64 + var _t446 int64 if p.matchLookaheadLiteral("rel_edb", 1) { - _t437 = 3 + _t446 = 3 } else { - var _t438 int64 + var _t447 int64 if p.matchLookaheadLiteral("functional_dependency", 1) { - _t438 = 2 + _t447 = 2 } else { - var _t439 int64 + var _t448 int64 if p.matchLookaheadLiteral("def", 1) { - _t439 = 0 + _t448 = 0 } else { - var _t440 int64 + var _t449 int64 if p.matchLookaheadLiteral("csv_data", 1) { - _t440 = 3 + _t449 = 3 } else { - var _t441 int64 + var _t450 int64 if p.matchLookaheadLiteral("betree_relation", 1) { - _t441 = 3 + _t450 = 3 } else { - var _t442 int64 + var _t451 int64 if p.matchLookaheadLiteral("algorithm", 1) { - _t442 = 1 + _t451 = 1 } else { - _t442 = -1 + _t451 = -1 } - _t441 = _t442 + _t450 = _t451 } - _t440 = _t441 + _t449 = _t450 } - _t439 = _t440 + _t448 = _t449 } - _t438 = _t439 + _t447 = _t448 } - _t437 = _t438 + _t446 = _t447 } - _t436 = _t437 + _t445 = _t446 } else { - _t436 = -1 + _t445 = -1 } - prediction56 := _t436 - var _t443 *pb.Declaration + prediction56 := _t445 + var _t452 *pb.Declaration if prediction56 == 3 { - _t444 := p.parse_data() - data60 := _t444 - _t445 := &pb.Declaration{} - _t445.DeclarationType = &pb.Declaration_Data{Data: data60} - _t443 = _t445 + _t453 := p.parse_data() + data60 := _t453 + _t454 := &pb.Declaration{} + _t454.DeclarationType = &pb.Declaration_Data{Data: data60} + _t452 = _t454 } else { - var _t446 *pb.Declaration + var _t455 *pb.Declaration if prediction56 == 2 { - _t447 := p.parse_constraint() - constraint59 := _t447 - _t448 := &pb.Declaration{} - _t448.DeclarationType = &pb.Declaration_Constraint{Constraint: constraint59} - _t446 = _t448 + _t456 := p.parse_constraint() + constraint59 := _t456 + _t457 := &pb.Declaration{} + _t457.DeclarationType = &pb.Declaration_Constraint{Constraint: constraint59} + _t455 = _t457 } else { - var _t449 *pb.Declaration + var _t458 *pb.Declaration if prediction56 == 1 { - _t450 := p.parse_algorithm() - algorithm58 := _t450 - _t451 := &pb.Declaration{} - _t451.DeclarationType = &pb.Declaration_Algorithm{Algorithm: algorithm58} - _t449 = _t451 + _t459 := p.parse_algorithm() + algorithm58 := _t459 + _t460 := &pb.Declaration{} + _t460.DeclarationType = &pb.Declaration_Algorithm{Algorithm: algorithm58} + _t458 = _t460 } else { - var _t452 *pb.Declaration + var _t461 *pb.Declaration if prediction56 == 0 { - _t453 := p.parse_def() - def57 := _t453 - _t454 := &pb.Declaration{} - _t454.DeclarationType = &pb.Declaration_Def{Def: def57} - _t452 = _t454 + _t462 := p.parse_def() + def57 := _t462 + _t463 := &pb.Declaration{} + _t463.DeclarationType = &pb.Declaration_Def{Def: def57} + _t461 = _t463 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in declaration", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t449 = _t452 + _t458 = _t461 } - _t446 = _t449 + _t455 = _t458 } - _t443 = _t446 + _t452 = _t455 } - return _t443 + return _t452 } func (p *Parser) parse_def() *pb.Def { p.consumeLiteral("(") p.consumeLiteral("def") - _t455 := p.parse_relation_id() - relation_id61 := _t455 - _t456 := p.parse_abstraction() - abstraction62 := _t456 - var _t457 []*pb.Attribute + _t464 := p.parse_relation_id() + relation_id61 := _t464 + _t465 := p.parse_abstraction() + abstraction62 := _t465 + var _t466 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t458 := p.parse_attrs() - _t457 = _t458 + _t467 := p.parse_attrs() + _t466 = _t467 } - attrs63 := _t457 + attrs63 := _t466 p.consumeLiteral(")") - _t459 := attrs63 + _t468 := attrs63 if attrs63 == nil { - _t459 = []*pb.Attribute{} + _t468 = []*pb.Attribute{} } - _t460 := &pb.Def{Name: relation_id61, Body: abstraction62, Attrs: _t459} - return _t460 + _t469 := &pb.Def{Name: relation_id61, Body: abstraction62, Attrs: _t468} + return _t469 } func (p *Parser) parse_relation_id() *pb.RelationId { - var _t461 int64 + var _t470 int64 if p.matchLookaheadLiteral(":", 0) { - _t461 = 0 + _t470 = 0 } else { - var _t462 int64 + var _t471 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t462 = 1 + _t471 = 1 } else { - _t462 = -1 + _t471 = -1 } - _t461 = _t462 + _t470 = _t471 } - prediction64 := _t461 - var _t463 *pb.RelationId + prediction64 := _t470 + var _t472 *pb.RelationId if prediction64 == 1 { uint12866 := p.consumeTerminal("UINT128").Value.AsUint128() - _t463 = &pb.RelationId{IdLow: uint12866.Low, IdHigh: uint12866.High} + _t472 = &pb.RelationId{IdLow: uint12866.Low, IdHigh: uint12866.High} } else { - var _t464 *pb.RelationId + var _t473 *pb.RelationId if prediction64 == 0 { p.consumeLiteral(":") symbol65 := p.consumeTerminal("SYMBOL").Value.AsString() - _t464 = p.relationIdFromString(symbol65) + _t473 = p.relationIdFromString(symbol65) } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in relation_id", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t463 = _t464 + _t472 = _t473 } - return _t463 + return _t472 } func (p *Parser) parse_abstraction() *pb.Abstraction { p.consumeLiteral("(") - _t465 := p.parse_bindings() - bindings67 := _t465 - _t466 := p.parse_formula() - formula68 := _t466 + _t474 := p.parse_bindings() + bindings67 := _t474 + _t475 := p.parse_formula() + formula68 := _t475 p.consumeLiteral(")") - _t467 := &pb.Abstraction{Vars: listConcat(bindings67[0].([]*pb.Binding), bindings67[1].([]*pb.Binding)), Value: formula68} - return _t467 + _t476 := &pb.Abstraction{Vars: listConcat(bindings67[0].([]*pb.Binding), bindings67[1].([]*pb.Binding)), Value: formula68} + return _t476 } func (p *Parser) parse_bindings() []interface{} { @@ -1658,269 +1669,269 @@ func (p *Parser) parse_bindings() []interface{} { xs69 := []*pb.Binding{} cond70 := p.matchLookaheadTerminal("SYMBOL", 0) for cond70 { - _t468 := p.parse_binding() - item71 := _t468 + _t477 := p.parse_binding() + item71 := _t477 xs69 = append(xs69, item71) cond70 = p.matchLookaheadTerminal("SYMBOL", 0) } bindings72 := xs69 - var _t469 []*pb.Binding + var _t478 []*pb.Binding if p.matchLookaheadLiteral("|", 0) { - _t470 := p.parse_value_bindings() - _t469 = _t470 + _t479 := p.parse_value_bindings() + _t478 = _t479 } - value_bindings73 := _t469 + value_bindings73 := _t478 p.consumeLiteral("]") - _t471 := value_bindings73 + _t480 := value_bindings73 if value_bindings73 == nil { - _t471 = []*pb.Binding{} + _t480 = []*pb.Binding{} } - return []interface{}{bindings72, _t471} + return []interface{}{bindings72, _t480} } func (p *Parser) parse_binding() *pb.Binding { symbol74 := p.consumeTerminal("SYMBOL").Value.AsString() p.consumeLiteral("::") - _t472 := p.parse_type() - type75 := _t472 - _t473 := &pb.Var{Name: symbol74} - _t474 := &pb.Binding{Var: _t473, Type: type75} - return _t474 + _t481 := p.parse_type() + type75 := _t481 + _t482 := &pb.Var{Name: symbol74} + _t483 := &pb.Binding{Var: _t482, Type: type75} + return _t483 } func (p *Parser) parse_type() *pb.Type { - var _t475 int64 + var _t484 int64 if p.matchLookaheadLiteral("UNKNOWN", 0) { - _t475 = 0 + _t484 = 0 } else { - var _t476 int64 + var _t485 int64 if p.matchLookaheadLiteral("UINT128", 0) { - _t476 = 4 + _t485 = 4 } else { - var _t477 int64 + var _t486 int64 if p.matchLookaheadLiteral("STRING", 0) { - _t477 = 1 + _t486 = 1 } else { - var _t478 int64 + var _t487 int64 if p.matchLookaheadLiteral("MISSING", 0) { - _t478 = 8 + _t487 = 8 } else { - var _t479 int64 + var _t488 int64 if p.matchLookaheadLiteral("INT128", 0) { - _t479 = 5 + _t488 = 5 } else { - var _t480 int64 + var _t489 int64 if p.matchLookaheadLiteral("INT", 0) { - _t480 = 2 + _t489 = 2 } else { - var _t481 int64 + var _t490 int64 if p.matchLookaheadLiteral("FLOAT", 0) { - _t481 = 3 + _t490 = 3 } else { - var _t482 int64 + var _t491 int64 if p.matchLookaheadLiteral("DATETIME", 0) { - _t482 = 7 + _t491 = 7 } else { - var _t483 int64 + var _t492 int64 if p.matchLookaheadLiteral("DATE", 0) { - _t483 = 6 + _t492 = 6 } else { - var _t484 int64 + var _t493 int64 if p.matchLookaheadLiteral("BOOLEAN", 0) { - _t484 = 10 + _t493 = 10 } else { - var _t485 int64 + var _t494 int64 if p.matchLookaheadLiteral("(", 0) { - _t485 = 9 + _t494 = 9 } else { - _t485 = -1 + _t494 = -1 } - _t484 = _t485 + _t493 = _t494 } - _t483 = _t484 + _t492 = _t493 } - _t482 = _t483 + _t491 = _t492 } - _t481 = _t482 + _t490 = _t491 } - _t480 = _t481 + _t489 = _t490 } - _t479 = _t480 + _t488 = _t489 } - _t478 = _t479 + _t487 = _t488 } - _t477 = _t478 + _t486 = _t487 } - _t476 = _t477 + _t485 = _t486 } - _t475 = _t476 + _t484 = _t485 } - prediction76 := _t475 - var _t486 *pb.Type + prediction76 := _t484 + var _t495 *pb.Type if prediction76 == 10 { - _t487 := p.parse_boolean_type() - boolean_type87 := _t487 - _t488 := &pb.Type{} - _t488.Type = &pb.Type_BooleanType{BooleanType: boolean_type87} - _t486 = _t488 + _t496 := p.parse_boolean_type() + boolean_type87 := _t496 + _t497 := &pb.Type{} + _t497.Type = &pb.Type_BooleanType{BooleanType: boolean_type87} + _t495 = _t497 } else { - var _t489 *pb.Type + var _t498 *pb.Type if prediction76 == 9 { - _t490 := p.parse_decimal_type() - decimal_type86 := _t490 - _t491 := &pb.Type{} - _t491.Type = &pb.Type_DecimalType{DecimalType: decimal_type86} - _t489 = _t491 + _t499 := p.parse_decimal_type() + decimal_type86 := _t499 + _t500 := &pb.Type{} + _t500.Type = &pb.Type_DecimalType{DecimalType: decimal_type86} + _t498 = _t500 } else { - var _t492 *pb.Type + var _t501 *pb.Type if prediction76 == 8 { - _t493 := p.parse_missing_type() - missing_type85 := _t493 - _t494 := &pb.Type{} - _t494.Type = &pb.Type_MissingType{MissingType: missing_type85} - _t492 = _t494 + _t502 := p.parse_missing_type() + missing_type85 := _t502 + _t503 := &pb.Type{} + _t503.Type = &pb.Type_MissingType{MissingType: missing_type85} + _t501 = _t503 } else { - var _t495 *pb.Type + var _t504 *pb.Type if prediction76 == 7 { - _t496 := p.parse_datetime_type() - datetime_type84 := _t496 - _t497 := &pb.Type{} - _t497.Type = &pb.Type_DatetimeType{DatetimeType: datetime_type84} - _t495 = _t497 + _t505 := p.parse_datetime_type() + datetime_type84 := _t505 + _t506 := &pb.Type{} + _t506.Type = &pb.Type_DatetimeType{DatetimeType: datetime_type84} + _t504 = _t506 } else { - var _t498 *pb.Type + var _t507 *pb.Type if prediction76 == 6 { - _t499 := p.parse_date_type() - date_type83 := _t499 - _t500 := &pb.Type{} - _t500.Type = &pb.Type_DateType{DateType: date_type83} - _t498 = _t500 + _t508 := p.parse_date_type() + date_type83 := _t508 + _t509 := &pb.Type{} + _t509.Type = &pb.Type_DateType{DateType: date_type83} + _t507 = _t509 } else { - var _t501 *pb.Type + var _t510 *pb.Type if prediction76 == 5 { - _t502 := p.parse_int128_type() - int128_type82 := _t502 - _t503 := &pb.Type{} - _t503.Type = &pb.Type_Int128Type{Int128Type: int128_type82} - _t501 = _t503 + _t511 := p.parse_int128_type() + int128_type82 := _t511 + _t512 := &pb.Type{} + _t512.Type = &pb.Type_Int128Type{Int128Type: int128_type82} + _t510 = _t512 } else { - var _t504 *pb.Type + var _t513 *pb.Type if prediction76 == 4 { - _t505 := p.parse_uint128_type() - uint128_type81 := _t505 - _t506 := &pb.Type{} - _t506.Type = &pb.Type_Uint128Type{Uint128Type: uint128_type81} - _t504 = _t506 + _t514 := p.parse_uint128_type() + uint128_type81 := _t514 + _t515 := &pb.Type{} + _t515.Type = &pb.Type_Uint128Type{Uint128Type: uint128_type81} + _t513 = _t515 } else { - var _t507 *pb.Type + var _t516 *pb.Type if prediction76 == 3 { - _t508 := p.parse_float_type() - float_type80 := _t508 - _t509 := &pb.Type{} - _t509.Type = &pb.Type_FloatType{FloatType: float_type80} - _t507 = _t509 + _t517 := p.parse_float_type() + float_type80 := _t517 + _t518 := &pb.Type{} + _t518.Type = &pb.Type_FloatType{FloatType: float_type80} + _t516 = _t518 } else { - var _t510 *pb.Type + var _t519 *pb.Type if prediction76 == 2 { - _t511 := p.parse_int_type() - int_type79 := _t511 - _t512 := &pb.Type{} - _t512.Type = &pb.Type_IntType{IntType: int_type79} - _t510 = _t512 + _t520 := p.parse_int_type() + int_type79 := _t520 + _t521 := &pb.Type{} + _t521.Type = &pb.Type_IntType{IntType: int_type79} + _t519 = _t521 } else { - var _t513 *pb.Type + var _t522 *pb.Type if prediction76 == 1 { - _t514 := p.parse_string_type() - string_type78 := _t514 - _t515 := &pb.Type{} - _t515.Type = &pb.Type_StringType{StringType: string_type78} - _t513 = _t515 + _t523 := p.parse_string_type() + string_type78 := _t523 + _t524 := &pb.Type{} + _t524.Type = &pb.Type_StringType{StringType: string_type78} + _t522 = _t524 } else { - var _t516 *pb.Type + var _t525 *pb.Type if prediction76 == 0 { - _t517 := p.parse_unspecified_type() - unspecified_type77 := _t517 - _t518 := &pb.Type{} - _t518.Type = &pb.Type_UnspecifiedType{UnspecifiedType: unspecified_type77} - _t516 = _t518 + _t526 := p.parse_unspecified_type() + unspecified_type77 := _t526 + _t527 := &pb.Type{} + _t527.Type = &pb.Type_UnspecifiedType{UnspecifiedType: unspecified_type77} + _t525 = _t527 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in type", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t513 = _t516 + _t522 = _t525 } - _t510 = _t513 + _t519 = _t522 } - _t507 = _t510 + _t516 = _t519 } - _t504 = _t507 + _t513 = _t516 } - _t501 = _t504 + _t510 = _t513 } - _t498 = _t501 + _t507 = _t510 } - _t495 = _t498 + _t504 = _t507 } - _t492 = _t495 + _t501 = _t504 } - _t489 = _t492 + _t498 = _t501 } - _t486 = _t489 + _t495 = _t498 } - return _t486 + return _t495 } func (p *Parser) parse_unspecified_type() *pb.UnspecifiedType { p.consumeLiteral("UNKNOWN") - _t519 := &pb.UnspecifiedType{} - return _t519 + _t528 := &pb.UnspecifiedType{} + return _t528 } func (p *Parser) parse_string_type() *pb.StringType { p.consumeLiteral("STRING") - _t520 := &pb.StringType{} - return _t520 + _t529 := &pb.StringType{} + return _t529 } func (p *Parser) parse_int_type() *pb.IntType { p.consumeLiteral("INT") - _t521 := &pb.IntType{} - return _t521 + _t530 := &pb.IntType{} + return _t530 } func (p *Parser) parse_float_type() *pb.FloatType { p.consumeLiteral("FLOAT") - _t522 := &pb.FloatType{} - return _t522 + _t531 := &pb.FloatType{} + return _t531 } func (p *Parser) parse_uint128_type() *pb.UInt128Type { p.consumeLiteral("UINT128") - _t523 := &pb.UInt128Type{} - return _t523 + _t532 := &pb.UInt128Type{} + return _t532 } func (p *Parser) parse_int128_type() *pb.Int128Type { p.consumeLiteral("INT128") - _t524 := &pb.Int128Type{} - return _t524 + _t533 := &pb.Int128Type{} + return _t533 } func (p *Parser) parse_date_type() *pb.DateType { p.consumeLiteral("DATE") - _t525 := &pb.DateType{} - return _t525 + _t534 := &pb.DateType{} + return _t534 } func (p *Parser) parse_datetime_type() *pb.DateTimeType { p.consumeLiteral("DATETIME") - _t526 := &pb.DateTimeType{} - return _t526 + _t535 := &pb.DateTimeType{} + return _t535 } func (p *Parser) parse_missing_type() *pb.MissingType { p.consumeLiteral("MISSING") - _t527 := &pb.MissingType{} - return _t527 + _t536 := &pb.MissingType{} + return _t536 } func (p *Parser) parse_decimal_type() *pb.DecimalType { @@ -1929,14 +1940,14 @@ func (p *Parser) parse_decimal_type() *pb.DecimalType { int88 := p.consumeTerminal("INT").Value.AsInt64() int_389 := p.consumeTerminal("INT").Value.AsInt64() p.consumeLiteral(")") - _t528 := &pb.DecimalType{Precision: int32(int88), Scale: int32(int_389)} - return _t528 + _t537 := &pb.DecimalType{Precision: int32(int88), Scale: int32(int_389)} + return _t537 } func (p *Parser) parse_boolean_type() *pb.BooleanType { p.consumeLiteral("BOOLEAN") - _t529 := &pb.BooleanType{} - return _t529 + _t538 := &pb.BooleanType{} + return _t538 } func (p *Parser) parse_value_bindings() []*pb.Binding { @@ -1944,8 +1955,8 @@ func (p *Parser) parse_value_bindings() []*pb.Binding { xs90 := []*pb.Binding{} cond91 := p.matchLookaheadTerminal("SYMBOL", 0) for cond91 { - _t530 := p.parse_binding() - item92 := _t530 + _t539 := p.parse_binding() + item92 := _t539 xs90 = append(xs90, item92) cond91 = p.matchLookaheadTerminal("SYMBOL", 0) } @@ -1954,319 +1965,319 @@ func (p *Parser) parse_value_bindings() []*pb.Binding { } func (p *Parser) parse_formula() *pb.Formula { - var _t531 int64 + var _t540 int64 if p.matchLookaheadLiteral("(", 0) { - var _t532 int64 + var _t541 int64 if p.matchLookaheadLiteral("true", 1) { - _t532 = 0 + _t541 = 0 } else { - var _t533 int64 + var _t542 int64 if p.matchLookaheadLiteral("relatom", 1) { - _t533 = 11 + _t542 = 11 } else { - var _t534 int64 + var _t543 int64 if p.matchLookaheadLiteral("reduce", 1) { - _t534 = 3 + _t543 = 3 } else { - var _t535 int64 + var _t544 int64 if p.matchLookaheadLiteral("primitive", 1) { - _t535 = 10 + _t544 = 10 } else { - var _t536 int64 + var _t545 int64 if p.matchLookaheadLiteral("pragma", 1) { - _t536 = 9 + _t545 = 9 } else { - var _t537 int64 + var _t546 int64 if p.matchLookaheadLiteral("or", 1) { - _t537 = 5 + _t546 = 5 } else { - var _t538 int64 + var _t547 int64 if p.matchLookaheadLiteral("not", 1) { - _t538 = 6 + _t547 = 6 } else { - var _t539 int64 + var _t548 int64 if p.matchLookaheadLiteral("ffi", 1) { - _t539 = 7 + _t548 = 7 } else { - var _t540 int64 + var _t549 int64 if p.matchLookaheadLiteral("false", 1) { - _t540 = 1 + _t549 = 1 } else { - var _t541 int64 + var _t550 int64 if p.matchLookaheadLiteral("exists", 1) { - _t541 = 2 + _t550 = 2 } else { - var _t542 int64 + var _t551 int64 if p.matchLookaheadLiteral("cast", 1) { - _t542 = 12 + _t551 = 12 } else { - var _t543 int64 + var _t552 int64 if p.matchLookaheadLiteral("atom", 1) { - _t543 = 8 + _t552 = 8 } else { - var _t544 int64 + var _t553 int64 if p.matchLookaheadLiteral("and", 1) { - _t544 = 4 + _t553 = 4 } else { - var _t545 int64 + var _t554 int64 if p.matchLookaheadLiteral(">=", 1) { - _t545 = 10 + _t554 = 10 } else { - var _t546 int64 + var _t555 int64 if p.matchLookaheadLiteral(">", 1) { - _t546 = 10 + _t555 = 10 } else { - var _t547 int64 + var _t556 int64 if p.matchLookaheadLiteral("=", 1) { - _t547 = 10 + _t556 = 10 } else { - var _t548 int64 + var _t557 int64 if p.matchLookaheadLiteral("<=", 1) { - _t548 = 10 + _t557 = 10 } else { - var _t549 int64 + var _t558 int64 if p.matchLookaheadLiteral("<", 1) { - _t549 = 10 + _t558 = 10 } else { - var _t550 int64 + var _t559 int64 if p.matchLookaheadLiteral("/", 1) { - _t550 = 10 + _t559 = 10 } else { - var _t551 int64 + var _t560 int64 if p.matchLookaheadLiteral("-", 1) { - _t551 = 10 + _t560 = 10 } else { - var _t552 int64 + var _t561 int64 if p.matchLookaheadLiteral("+", 1) { - _t552 = 10 + _t561 = 10 } else { - var _t553 int64 + var _t562 int64 if p.matchLookaheadLiteral("*", 1) { - _t553 = 10 + _t562 = 10 } else { - _t553 = -1 + _t562 = -1 } - _t552 = _t553 + _t561 = _t562 } - _t551 = _t552 + _t560 = _t561 } - _t550 = _t551 + _t559 = _t560 } - _t549 = _t550 + _t558 = _t559 } - _t548 = _t549 + _t557 = _t558 } - _t547 = _t548 + _t556 = _t557 } - _t546 = _t547 + _t555 = _t556 } - _t545 = _t546 + _t554 = _t555 } - _t544 = _t545 + _t553 = _t554 } - _t543 = _t544 + _t552 = _t553 } - _t542 = _t543 + _t551 = _t552 } - _t541 = _t542 + _t550 = _t551 } - _t540 = _t541 + _t549 = _t550 } - _t539 = _t540 + _t548 = _t549 } - _t538 = _t539 + _t547 = _t548 } - _t537 = _t538 + _t546 = _t547 } - _t536 = _t537 + _t545 = _t546 } - _t535 = _t536 + _t544 = _t545 } - _t534 = _t535 + _t543 = _t544 } - _t533 = _t534 + _t542 = _t543 } - _t532 = _t533 + _t541 = _t542 } - _t531 = _t532 + _t540 = _t541 } else { - _t531 = -1 + _t540 = -1 } - prediction94 := _t531 - var _t554 *pb.Formula + prediction94 := _t540 + var _t563 *pb.Formula if prediction94 == 12 { - _t555 := p.parse_cast() - cast107 := _t555 - _t556 := &pb.Formula{} - _t556.FormulaType = &pb.Formula_Cast{Cast: cast107} - _t554 = _t556 + _t564 := p.parse_cast() + cast107 := _t564 + _t565 := &pb.Formula{} + _t565.FormulaType = &pb.Formula_Cast{Cast: cast107} + _t563 = _t565 } else { - var _t557 *pb.Formula + var _t566 *pb.Formula if prediction94 == 11 { - _t558 := p.parse_rel_atom() - rel_atom106 := _t558 - _t559 := &pb.Formula{} - _t559.FormulaType = &pb.Formula_RelAtom{RelAtom: rel_atom106} - _t557 = _t559 + _t567 := p.parse_rel_atom() + rel_atom106 := _t567 + _t568 := &pb.Formula{} + _t568.FormulaType = &pb.Formula_RelAtom{RelAtom: rel_atom106} + _t566 = _t568 } else { - var _t560 *pb.Formula + var _t569 *pb.Formula if prediction94 == 10 { - _t561 := p.parse_primitive() - primitive105 := _t561 - _t562 := &pb.Formula{} - _t562.FormulaType = &pb.Formula_Primitive{Primitive: primitive105} - _t560 = _t562 + _t570 := p.parse_primitive() + primitive105 := _t570 + _t571 := &pb.Formula{} + _t571.FormulaType = &pb.Formula_Primitive{Primitive: primitive105} + _t569 = _t571 } else { - var _t563 *pb.Formula + var _t572 *pb.Formula if prediction94 == 9 { - _t564 := p.parse_pragma() - pragma104 := _t564 - _t565 := &pb.Formula{} - _t565.FormulaType = &pb.Formula_Pragma{Pragma: pragma104} - _t563 = _t565 + _t573 := p.parse_pragma() + pragma104 := _t573 + _t574 := &pb.Formula{} + _t574.FormulaType = &pb.Formula_Pragma{Pragma: pragma104} + _t572 = _t574 } else { - var _t566 *pb.Formula + var _t575 *pb.Formula if prediction94 == 8 { - _t567 := p.parse_atom() - atom103 := _t567 - _t568 := &pb.Formula{} - _t568.FormulaType = &pb.Formula_Atom{Atom: atom103} - _t566 = _t568 + _t576 := p.parse_atom() + atom103 := _t576 + _t577 := &pb.Formula{} + _t577.FormulaType = &pb.Formula_Atom{Atom: atom103} + _t575 = _t577 } else { - var _t569 *pb.Formula + var _t578 *pb.Formula if prediction94 == 7 { - _t570 := p.parse_ffi() - ffi102 := _t570 - _t571 := &pb.Formula{} - _t571.FormulaType = &pb.Formula_Ffi{Ffi: ffi102} - _t569 = _t571 + _t579 := p.parse_ffi() + ffi102 := _t579 + _t580 := &pb.Formula{} + _t580.FormulaType = &pb.Formula_Ffi{Ffi: ffi102} + _t578 = _t580 } else { - var _t572 *pb.Formula + var _t581 *pb.Formula if prediction94 == 6 { - _t573 := p.parse_not() - not101 := _t573 - _t574 := &pb.Formula{} - _t574.FormulaType = &pb.Formula_Not{Not: not101} - _t572 = _t574 + _t582 := p.parse_not() + not101 := _t582 + _t583 := &pb.Formula{} + _t583.FormulaType = &pb.Formula_Not{Not: not101} + _t581 = _t583 } else { - var _t575 *pb.Formula + var _t584 *pb.Formula if prediction94 == 5 { - _t576 := p.parse_disjunction() - disjunction100 := _t576 - _t577 := &pb.Formula{} - _t577.FormulaType = &pb.Formula_Disjunction{Disjunction: disjunction100} - _t575 = _t577 + _t585 := p.parse_disjunction() + disjunction100 := _t585 + _t586 := &pb.Formula{} + _t586.FormulaType = &pb.Formula_Disjunction{Disjunction: disjunction100} + _t584 = _t586 } else { - var _t578 *pb.Formula + var _t587 *pb.Formula if prediction94 == 4 { - _t579 := p.parse_conjunction() - conjunction99 := _t579 - _t580 := &pb.Formula{} - _t580.FormulaType = &pb.Formula_Conjunction{Conjunction: conjunction99} - _t578 = _t580 + _t588 := p.parse_conjunction() + conjunction99 := _t588 + _t589 := &pb.Formula{} + _t589.FormulaType = &pb.Formula_Conjunction{Conjunction: conjunction99} + _t587 = _t589 } else { - var _t581 *pb.Formula + var _t590 *pb.Formula if prediction94 == 3 { - _t582 := p.parse_reduce() - reduce98 := _t582 - _t583 := &pb.Formula{} - _t583.FormulaType = &pb.Formula_Reduce{Reduce: reduce98} - _t581 = _t583 + _t591 := p.parse_reduce() + reduce98 := _t591 + _t592 := &pb.Formula{} + _t592.FormulaType = &pb.Formula_Reduce{Reduce: reduce98} + _t590 = _t592 } else { - var _t584 *pb.Formula + var _t593 *pb.Formula if prediction94 == 2 { - _t585 := p.parse_exists() - exists97 := _t585 - _t586 := &pb.Formula{} - _t586.FormulaType = &pb.Formula_Exists{Exists: exists97} - _t584 = _t586 + _t594 := p.parse_exists() + exists97 := _t594 + _t595 := &pb.Formula{} + _t595.FormulaType = &pb.Formula_Exists{Exists: exists97} + _t593 = _t595 } else { - var _t587 *pb.Formula + var _t596 *pb.Formula if prediction94 == 1 { - _t588 := p.parse_false() - false96 := _t588 - _t589 := &pb.Formula{} - _t589.FormulaType = &pb.Formula_Disjunction{Disjunction: false96} - _t587 = _t589 + _t597 := p.parse_false() + false96 := _t597 + _t598 := &pb.Formula{} + _t598.FormulaType = &pb.Formula_Disjunction{Disjunction: false96} + _t596 = _t598 } else { - var _t590 *pb.Formula + var _t599 *pb.Formula if prediction94 == 0 { - _t591 := p.parse_true() - true95 := _t591 - _t592 := &pb.Formula{} - _t592.FormulaType = &pb.Formula_Conjunction{Conjunction: true95} - _t590 = _t592 + _t600 := p.parse_true() + true95 := _t600 + _t601 := &pb.Formula{} + _t601.FormulaType = &pb.Formula_Conjunction{Conjunction: true95} + _t599 = _t601 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in formula", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t587 = _t590 + _t596 = _t599 } - _t584 = _t587 + _t593 = _t596 } - _t581 = _t584 + _t590 = _t593 } - _t578 = _t581 + _t587 = _t590 } - _t575 = _t578 + _t584 = _t587 } - _t572 = _t575 + _t581 = _t584 } - _t569 = _t572 + _t578 = _t581 } - _t566 = _t569 + _t575 = _t578 } - _t563 = _t566 + _t572 = _t575 } - _t560 = _t563 + _t569 = _t572 } - _t557 = _t560 + _t566 = _t569 } - _t554 = _t557 + _t563 = _t566 } - return _t554 + return _t563 } func (p *Parser) parse_true() *pb.Conjunction { p.consumeLiteral("(") p.consumeLiteral("true") p.consumeLiteral(")") - _t593 := &pb.Conjunction{Args: []*pb.Formula{}} - return _t593 + _t602 := &pb.Conjunction{Args: []*pb.Formula{}} + return _t602 } func (p *Parser) parse_false() *pb.Disjunction { p.consumeLiteral("(") p.consumeLiteral("false") p.consumeLiteral(")") - _t594 := &pb.Disjunction{Args: []*pb.Formula{}} - return _t594 + _t603 := &pb.Disjunction{Args: []*pb.Formula{}} + return _t603 } func (p *Parser) parse_exists() *pb.Exists { p.consumeLiteral("(") p.consumeLiteral("exists") - _t595 := p.parse_bindings() - bindings108 := _t595 - _t596 := p.parse_formula() - formula109 := _t596 + _t604 := p.parse_bindings() + bindings108 := _t604 + _t605 := p.parse_formula() + formula109 := _t605 p.consumeLiteral(")") - _t597 := &pb.Abstraction{Vars: listConcat(bindings108[0].([]*pb.Binding), bindings108[1].([]*pb.Binding)), Value: formula109} - _t598 := &pb.Exists{Body: _t597} - return _t598 + _t606 := &pb.Abstraction{Vars: listConcat(bindings108[0].([]*pb.Binding), bindings108[1].([]*pb.Binding)), Value: formula109} + _t607 := &pb.Exists{Body: _t606} + return _t607 } func (p *Parser) parse_reduce() *pb.Reduce { p.consumeLiteral("(") p.consumeLiteral("reduce") - _t599 := p.parse_abstraction() - abstraction110 := _t599 - _t600 := p.parse_abstraction() - abstraction_3111 := _t600 - _t601 := p.parse_terms() - terms112 := _t601 - p.consumeLiteral(")") - _t602 := &pb.Reduce{Op: abstraction110, Body: abstraction_3111, Terms: terms112} - return _t602 + _t608 := p.parse_abstraction() + abstraction110 := _t608 + _t609 := p.parse_abstraction() + abstraction_3111 := _t609 + _t610 := p.parse_terms() + terms112 := _t610 + p.consumeLiteral(")") + _t611 := &pb.Reduce{Op: abstraction110, Body: abstraction_3111, Terms: terms112} + return _t611 } func (p *Parser) parse_terms() []*pb.Term { @@ -2275,8 +2286,8 @@ func (p *Parser) parse_terms() []*pb.Term { xs113 := []*pb.Term{} cond114 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond114 { - _t603 := p.parse_term() - item115 := _t603 + _t612 := p.parse_term() + item115 := _t612 xs113 = append(xs113, item115) cond114 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } @@ -2286,105 +2297,105 @@ func (p *Parser) parse_terms() []*pb.Term { } func (p *Parser) parse_term() *pb.Term { - var _t604 int64 + var _t613 int64 if p.matchLookaheadLiteral("true", 0) { - _t604 = 1 + _t613 = 1 } else { - var _t605 int64 + var _t614 int64 if p.matchLookaheadLiteral("missing", 0) { - _t605 = 1 + _t614 = 1 } else { - var _t606 int64 + var _t615 int64 if p.matchLookaheadLiteral("false", 0) { - _t606 = 1 + _t615 = 1 } else { - var _t607 int64 + var _t616 int64 if p.matchLookaheadLiteral("(", 0) { - _t607 = 1 + _t616 = 1 } else { - var _t608 int64 + var _t617 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t608 = 1 + _t617 = 1 } else { - var _t609 int64 + var _t618 int64 if p.matchLookaheadTerminal("SYMBOL", 0) { - _t609 = 0 + _t618 = 0 } else { - var _t610 int64 + var _t619 int64 if p.matchLookaheadTerminal("STRING", 0) { - _t610 = 1 + _t619 = 1 } else { - var _t611 int64 + var _t620 int64 if p.matchLookaheadTerminal("INT128", 0) { - _t611 = 1 + _t620 = 1 } else { - var _t612 int64 + var _t621 int64 if p.matchLookaheadTerminal("INT", 0) { - _t612 = 1 + _t621 = 1 } else { - var _t613 int64 + var _t622 int64 if p.matchLookaheadTerminal("FLOAT", 0) { - _t613 = 1 + _t622 = 1 } else { - var _t614 int64 + var _t623 int64 if p.matchLookaheadTerminal("DECIMAL", 0) { - _t614 = 1 + _t623 = 1 } else { - _t614 = -1 + _t623 = -1 } - _t613 = _t614 + _t622 = _t623 } - _t612 = _t613 + _t621 = _t622 } - _t611 = _t612 + _t620 = _t621 } - _t610 = _t611 + _t619 = _t620 } - _t609 = _t610 + _t618 = _t619 } - _t608 = _t609 + _t617 = _t618 } - _t607 = _t608 + _t616 = _t617 } - _t606 = _t607 + _t615 = _t616 } - _t605 = _t606 + _t614 = _t615 } - _t604 = _t605 + _t613 = _t614 } - prediction117 := _t604 - var _t615 *pb.Term + prediction117 := _t613 + var _t624 *pb.Term if prediction117 == 1 { - _t616 := p.parse_constant() - constant119 := _t616 - _t617 := &pb.Term{} - _t617.TermType = &pb.Term_Constant{Constant: constant119} - _t615 = _t617 + _t625 := p.parse_constant() + constant119 := _t625 + _t626 := &pb.Term{} + _t626.TermType = &pb.Term_Constant{Constant: constant119} + _t624 = _t626 } else { - var _t618 *pb.Term + var _t627 *pb.Term if prediction117 == 0 { - _t619 := p.parse_var() - var118 := _t619 - _t620 := &pb.Term{} - _t620.TermType = &pb.Term_Var{Var: var118} - _t618 = _t620 + _t628 := p.parse_var() + var118 := _t628 + _t629 := &pb.Term{} + _t629.TermType = &pb.Term_Var{Var: var118} + _t627 = _t629 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in term", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t615 = _t618 + _t624 = _t627 } - return _t615 + return _t624 } func (p *Parser) parse_var() *pb.Var { symbol120 := p.consumeTerminal("SYMBOL").Value.AsString() - _t621 := &pb.Var{Name: symbol120} - return _t621 + _t630 := &pb.Var{Name: symbol120} + return _t630 } func (p *Parser) parse_constant() *pb.Value { - _t622 := p.parse_value() - value121 := _t622 + _t631 := p.parse_value() + value121 := _t631 return value121 } @@ -2394,15 +2405,15 @@ func (p *Parser) parse_conjunction() *pb.Conjunction { xs122 := []*pb.Formula{} cond123 := p.matchLookaheadLiteral("(", 0) for cond123 { - _t623 := p.parse_formula() - item124 := _t623 + _t632 := p.parse_formula() + item124 := _t632 xs122 = append(xs122, item124) cond123 = p.matchLookaheadLiteral("(", 0) } formulas125 := xs122 p.consumeLiteral(")") - _t624 := &pb.Conjunction{Args: formulas125} - return _t624 + _t633 := &pb.Conjunction{Args: formulas125} + return _t633 } func (p *Parser) parse_disjunction() *pb.Disjunction { @@ -2411,39 +2422,39 @@ func (p *Parser) parse_disjunction() *pb.Disjunction { xs126 := []*pb.Formula{} cond127 := p.matchLookaheadLiteral("(", 0) for cond127 { - _t625 := p.parse_formula() - item128 := _t625 + _t634 := p.parse_formula() + item128 := _t634 xs126 = append(xs126, item128) cond127 = p.matchLookaheadLiteral("(", 0) } formulas129 := xs126 p.consumeLiteral(")") - _t626 := &pb.Disjunction{Args: formulas129} - return _t626 + _t635 := &pb.Disjunction{Args: formulas129} + return _t635 } func (p *Parser) parse_not() *pb.Not { p.consumeLiteral("(") p.consumeLiteral("not") - _t627 := p.parse_formula() - formula130 := _t627 + _t636 := p.parse_formula() + formula130 := _t636 p.consumeLiteral(")") - _t628 := &pb.Not{Arg: formula130} - return _t628 + _t637 := &pb.Not{Arg: formula130} + return _t637 } func (p *Parser) parse_ffi() *pb.FFI { p.consumeLiteral("(") p.consumeLiteral("ffi") - _t629 := p.parse_name() - name131 := _t629 - _t630 := p.parse_ffi_args() - ffi_args132 := _t630 - _t631 := p.parse_terms() - terms133 := _t631 + _t638 := p.parse_name() + name131 := _t638 + _t639 := p.parse_ffi_args() + ffi_args132 := _t639 + _t640 := p.parse_terms() + terms133 := _t640 p.consumeLiteral(")") - _t632 := &pb.FFI{Name: name131, Args: ffi_args132, Terms: terms133} - return _t632 + _t641 := &pb.FFI{Name: name131, Args: ffi_args132, Terms: terms133} + return _t641 } func (p *Parser) parse_name() string { @@ -2458,8 +2469,8 @@ func (p *Parser) parse_ffi_args() []*pb.Abstraction { xs135 := []*pb.Abstraction{} cond136 := p.matchLookaheadLiteral("(", 0) for cond136 { - _t633 := p.parse_abstraction() - item137 := _t633 + _t642 := p.parse_abstraction() + item137 := _t642 xs135 = append(xs135, item137) cond136 = p.matchLookaheadLiteral("(", 0) } @@ -2471,498 +2482,498 @@ func (p *Parser) parse_ffi_args() []*pb.Abstraction { func (p *Parser) parse_atom() *pb.Atom { p.consumeLiteral("(") p.consumeLiteral("atom") - _t634 := p.parse_relation_id() - relation_id139 := _t634 + _t643 := p.parse_relation_id() + relation_id139 := _t643 xs140 := []*pb.Term{} cond141 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond141 { - _t635 := p.parse_term() - item142 := _t635 + _t644 := p.parse_term() + item142 := _t644 xs140 = append(xs140, item142) cond141 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } terms143 := xs140 p.consumeLiteral(")") - _t636 := &pb.Atom{Name: relation_id139, Terms: terms143} - return _t636 + _t645 := &pb.Atom{Name: relation_id139, Terms: terms143} + return _t645 } func (p *Parser) parse_pragma() *pb.Pragma { p.consumeLiteral("(") p.consumeLiteral("pragma") - _t637 := p.parse_name() - name144 := _t637 + _t646 := p.parse_name() + name144 := _t646 xs145 := []*pb.Term{} cond146 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond146 { - _t638 := p.parse_term() - item147 := _t638 + _t647 := p.parse_term() + item147 := _t647 xs145 = append(xs145, item147) cond146 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } terms148 := xs145 p.consumeLiteral(")") - _t639 := &pb.Pragma{Name: name144, Terms: terms148} - return _t639 + _t648 := &pb.Pragma{Name: name144, Terms: terms148} + return _t648 } func (p *Parser) parse_primitive() *pb.Primitive { - var _t640 int64 + var _t649 int64 if p.matchLookaheadLiteral("(", 0) { - var _t641 int64 + var _t650 int64 if p.matchLookaheadLiteral("primitive", 1) { - _t641 = 9 + _t650 = 9 } else { - var _t642 int64 + var _t651 int64 if p.matchLookaheadLiteral(">=", 1) { - _t642 = 4 + _t651 = 4 } else { - var _t643 int64 + var _t652 int64 if p.matchLookaheadLiteral(">", 1) { - _t643 = 3 + _t652 = 3 } else { - var _t644 int64 + var _t653 int64 if p.matchLookaheadLiteral("=", 1) { - _t644 = 0 + _t653 = 0 } else { - var _t645 int64 + var _t654 int64 if p.matchLookaheadLiteral("<=", 1) { - _t645 = 2 + _t654 = 2 } else { - var _t646 int64 + var _t655 int64 if p.matchLookaheadLiteral("<", 1) { - _t646 = 1 + _t655 = 1 } else { - var _t647 int64 + var _t656 int64 if p.matchLookaheadLiteral("/", 1) { - _t647 = 8 + _t656 = 8 } else { - var _t648 int64 + var _t657 int64 if p.matchLookaheadLiteral("-", 1) { - _t648 = 6 + _t657 = 6 } else { - var _t649 int64 + var _t658 int64 if p.matchLookaheadLiteral("+", 1) { - _t649 = 5 + _t658 = 5 } else { - var _t650 int64 + var _t659 int64 if p.matchLookaheadLiteral("*", 1) { - _t650 = 7 + _t659 = 7 } else { - _t650 = -1 + _t659 = -1 } - _t649 = _t650 + _t658 = _t659 } - _t648 = _t649 + _t657 = _t658 } - _t647 = _t648 + _t656 = _t657 } - _t646 = _t647 + _t655 = _t656 } - _t645 = _t646 + _t654 = _t655 } - _t644 = _t645 + _t653 = _t654 } - _t643 = _t644 + _t652 = _t653 } - _t642 = _t643 + _t651 = _t652 } - _t641 = _t642 + _t650 = _t651 } - _t640 = _t641 + _t649 = _t650 } else { - _t640 = -1 + _t649 = -1 } - prediction149 := _t640 - var _t651 *pb.Primitive + prediction149 := _t649 + var _t660 *pb.Primitive if prediction149 == 9 { p.consumeLiteral("(") p.consumeLiteral("primitive") - _t652 := p.parse_name() - name159 := _t652 + _t661 := p.parse_name() + name159 := _t661 xs160 := []*pb.RelTerm{} cond161 := (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond161 { - _t653 := p.parse_rel_term() - item162 := _t653 + _t662 := p.parse_rel_term() + item162 := _t662 xs160 = append(xs160, item162) cond161 = (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } rel_terms163 := xs160 p.consumeLiteral(")") - _t654 := &pb.Primitive{Name: name159, Terms: rel_terms163} - _t651 = _t654 + _t663 := &pb.Primitive{Name: name159, Terms: rel_terms163} + _t660 = _t663 } else { - var _t655 *pb.Primitive + var _t664 *pb.Primitive if prediction149 == 8 { - _t656 := p.parse_divide() - divide158 := _t656 - _t655 = divide158 + _t665 := p.parse_divide() + divide158 := _t665 + _t664 = divide158 } else { - var _t657 *pb.Primitive + var _t666 *pb.Primitive if prediction149 == 7 { - _t658 := p.parse_multiply() - multiply157 := _t658 - _t657 = multiply157 + _t667 := p.parse_multiply() + multiply157 := _t667 + _t666 = multiply157 } else { - var _t659 *pb.Primitive + var _t668 *pb.Primitive if prediction149 == 6 { - _t660 := p.parse_minus() - minus156 := _t660 - _t659 = minus156 + _t669 := p.parse_minus() + minus156 := _t669 + _t668 = minus156 } else { - var _t661 *pb.Primitive + var _t670 *pb.Primitive if prediction149 == 5 { - _t662 := p.parse_add() - add155 := _t662 - _t661 = add155 + _t671 := p.parse_add() + add155 := _t671 + _t670 = add155 } else { - var _t663 *pb.Primitive + var _t672 *pb.Primitive if prediction149 == 4 { - _t664 := p.parse_gt_eq() - gt_eq154 := _t664 - _t663 = gt_eq154 + _t673 := p.parse_gt_eq() + gt_eq154 := _t673 + _t672 = gt_eq154 } else { - var _t665 *pb.Primitive + var _t674 *pb.Primitive if prediction149 == 3 { - _t666 := p.parse_gt() - gt153 := _t666 - _t665 = gt153 + _t675 := p.parse_gt() + gt153 := _t675 + _t674 = gt153 } else { - var _t667 *pb.Primitive + var _t676 *pb.Primitive if prediction149 == 2 { - _t668 := p.parse_lt_eq() - lt_eq152 := _t668 - _t667 = lt_eq152 + _t677 := p.parse_lt_eq() + lt_eq152 := _t677 + _t676 = lt_eq152 } else { - var _t669 *pb.Primitive + var _t678 *pb.Primitive if prediction149 == 1 { - _t670 := p.parse_lt() - lt151 := _t670 - _t669 = lt151 + _t679 := p.parse_lt() + lt151 := _t679 + _t678 = lt151 } else { - var _t671 *pb.Primitive + var _t680 *pb.Primitive if prediction149 == 0 { - _t672 := p.parse_eq() - eq150 := _t672 - _t671 = eq150 + _t681 := p.parse_eq() + eq150 := _t681 + _t680 = eq150 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in primitive", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t669 = _t671 + _t678 = _t680 } - _t667 = _t669 + _t676 = _t678 } - _t665 = _t667 + _t674 = _t676 } - _t663 = _t665 + _t672 = _t674 } - _t661 = _t663 + _t670 = _t672 } - _t659 = _t661 + _t668 = _t670 } - _t657 = _t659 + _t666 = _t668 } - _t655 = _t657 + _t664 = _t666 } - _t651 = _t655 + _t660 = _t664 } - return _t651 + return _t660 } func (p *Parser) parse_eq() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("=") - _t673 := p.parse_term() - term164 := _t673 - _t674 := p.parse_term() - term_3165 := _t674 + _t682 := p.parse_term() + term164 := _t682 + _t683 := p.parse_term() + term_3165 := _t683 p.consumeLiteral(")") - _t675 := &pb.RelTerm{} - _t675.RelTermType = &pb.RelTerm_Term{Term: term164} - _t676 := &pb.RelTerm{} - _t676.RelTermType = &pb.RelTerm_Term{Term: term_3165} - _t677 := &pb.Primitive{Name: "rel_primitive_eq", Terms: []*pb.RelTerm{_t675, _t676}} - return _t677 + _t684 := &pb.RelTerm{} + _t684.RelTermType = &pb.RelTerm_Term{Term: term164} + _t685 := &pb.RelTerm{} + _t685.RelTermType = &pb.RelTerm_Term{Term: term_3165} + _t686 := &pb.Primitive{Name: "rel_primitive_eq", Terms: []*pb.RelTerm{_t684, _t685}} + return _t686 } func (p *Parser) parse_lt() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("<") - _t678 := p.parse_term() - term166 := _t678 - _t679 := p.parse_term() - term_3167 := _t679 + _t687 := p.parse_term() + term166 := _t687 + _t688 := p.parse_term() + term_3167 := _t688 p.consumeLiteral(")") - _t680 := &pb.RelTerm{} - _t680.RelTermType = &pb.RelTerm_Term{Term: term166} - _t681 := &pb.RelTerm{} - _t681.RelTermType = &pb.RelTerm_Term{Term: term_3167} - _t682 := &pb.Primitive{Name: "rel_primitive_lt_monotype", Terms: []*pb.RelTerm{_t680, _t681}} - return _t682 + _t689 := &pb.RelTerm{} + _t689.RelTermType = &pb.RelTerm_Term{Term: term166} + _t690 := &pb.RelTerm{} + _t690.RelTermType = &pb.RelTerm_Term{Term: term_3167} + _t691 := &pb.Primitive{Name: "rel_primitive_lt_monotype", Terms: []*pb.RelTerm{_t689, _t690}} + return _t691 } func (p *Parser) parse_lt_eq() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("<=") - _t683 := p.parse_term() - term168 := _t683 - _t684 := p.parse_term() - term_3169 := _t684 + _t692 := p.parse_term() + term168 := _t692 + _t693 := p.parse_term() + term_3169 := _t693 p.consumeLiteral(")") - _t685 := &pb.RelTerm{} - _t685.RelTermType = &pb.RelTerm_Term{Term: term168} - _t686 := &pb.RelTerm{} - _t686.RelTermType = &pb.RelTerm_Term{Term: term_3169} - _t687 := &pb.Primitive{Name: "rel_primitive_lt_eq_monotype", Terms: []*pb.RelTerm{_t685, _t686}} - return _t687 + _t694 := &pb.RelTerm{} + _t694.RelTermType = &pb.RelTerm_Term{Term: term168} + _t695 := &pb.RelTerm{} + _t695.RelTermType = &pb.RelTerm_Term{Term: term_3169} + _t696 := &pb.Primitive{Name: "rel_primitive_lt_eq_monotype", Terms: []*pb.RelTerm{_t694, _t695}} + return _t696 } func (p *Parser) parse_gt() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral(">") - _t688 := p.parse_term() - term170 := _t688 - _t689 := p.parse_term() - term_3171 := _t689 + _t697 := p.parse_term() + term170 := _t697 + _t698 := p.parse_term() + term_3171 := _t698 p.consumeLiteral(")") - _t690 := &pb.RelTerm{} - _t690.RelTermType = &pb.RelTerm_Term{Term: term170} - _t691 := &pb.RelTerm{} - _t691.RelTermType = &pb.RelTerm_Term{Term: term_3171} - _t692 := &pb.Primitive{Name: "rel_primitive_gt_monotype", Terms: []*pb.RelTerm{_t690, _t691}} - return _t692 + _t699 := &pb.RelTerm{} + _t699.RelTermType = &pb.RelTerm_Term{Term: term170} + _t700 := &pb.RelTerm{} + _t700.RelTermType = &pb.RelTerm_Term{Term: term_3171} + _t701 := &pb.Primitive{Name: "rel_primitive_gt_monotype", Terms: []*pb.RelTerm{_t699, _t700}} + return _t701 } func (p *Parser) parse_gt_eq() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral(">=") - _t693 := p.parse_term() - term172 := _t693 - _t694 := p.parse_term() - term_3173 := _t694 + _t702 := p.parse_term() + term172 := _t702 + _t703 := p.parse_term() + term_3173 := _t703 p.consumeLiteral(")") - _t695 := &pb.RelTerm{} - _t695.RelTermType = &pb.RelTerm_Term{Term: term172} - _t696 := &pb.RelTerm{} - _t696.RelTermType = &pb.RelTerm_Term{Term: term_3173} - _t697 := &pb.Primitive{Name: "rel_primitive_gt_eq_monotype", Terms: []*pb.RelTerm{_t695, _t696}} - return _t697 + _t704 := &pb.RelTerm{} + _t704.RelTermType = &pb.RelTerm_Term{Term: term172} + _t705 := &pb.RelTerm{} + _t705.RelTermType = &pb.RelTerm_Term{Term: term_3173} + _t706 := &pb.Primitive{Name: "rel_primitive_gt_eq_monotype", Terms: []*pb.RelTerm{_t704, _t705}} + return _t706 } func (p *Parser) parse_add() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("+") - _t698 := p.parse_term() - term174 := _t698 - _t699 := p.parse_term() - term_3175 := _t699 - _t700 := p.parse_term() - term_4176 := _t700 - p.consumeLiteral(")") - _t701 := &pb.RelTerm{} - _t701.RelTermType = &pb.RelTerm_Term{Term: term174} - _t702 := &pb.RelTerm{} - _t702.RelTermType = &pb.RelTerm_Term{Term: term_3175} - _t703 := &pb.RelTerm{} - _t703.RelTermType = &pb.RelTerm_Term{Term: term_4176} - _t704 := &pb.Primitive{Name: "rel_primitive_add_monotype", Terms: []*pb.RelTerm{_t701, _t702, _t703}} - return _t704 + _t707 := p.parse_term() + term174 := _t707 + _t708 := p.parse_term() + term_3175 := _t708 + _t709 := p.parse_term() + term_4176 := _t709 + p.consumeLiteral(")") + _t710 := &pb.RelTerm{} + _t710.RelTermType = &pb.RelTerm_Term{Term: term174} + _t711 := &pb.RelTerm{} + _t711.RelTermType = &pb.RelTerm_Term{Term: term_3175} + _t712 := &pb.RelTerm{} + _t712.RelTermType = &pb.RelTerm_Term{Term: term_4176} + _t713 := &pb.Primitive{Name: "rel_primitive_add_monotype", Terms: []*pb.RelTerm{_t710, _t711, _t712}} + return _t713 } func (p *Parser) parse_minus() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("-") - _t705 := p.parse_term() - term177 := _t705 - _t706 := p.parse_term() - term_3178 := _t706 - _t707 := p.parse_term() - term_4179 := _t707 + _t714 := p.parse_term() + term177 := _t714 + _t715 := p.parse_term() + term_3178 := _t715 + _t716 := p.parse_term() + term_4179 := _t716 p.consumeLiteral(")") - _t708 := &pb.RelTerm{} - _t708.RelTermType = &pb.RelTerm_Term{Term: term177} - _t709 := &pb.RelTerm{} - _t709.RelTermType = &pb.RelTerm_Term{Term: term_3178} - _t710 := &pb.RelTerm{} - _t710.RelTermType = &pb.RelTerm_Term{Term: term_4179} - _t711 := &pb.Primitive{Name: "rel_primitive_subtract_monotype", Terms: []*pb.RelTerm{_t708, _t709, _t710}} - return _t711 + _t717 := &pb.RelTerm{} + _t717.RelTermType = &pb.RelTerm_Term{Term: term177} + _t718 := &pb.RelTerm{} + _t718.RelTermType = &pb.RelTerm_Term{Term: term_3178} + _t719 := &pb.RelTerm{} + _t719.RelTermType = &pb.RelTerm_Term{Term: term_4179} + _t720 := &pb.Primitive{Name: "rel_primitive_subtract_monotype", Terms: []*pb.RelTerm{_t717, _t718, _t719}} + return _t720 } func (p *Parser) parse_multiply() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("*") - _t712 := p.parse_term() - term180 := _t712 - _t713 := p.parse_term() - term_3181 := _t713 - _t714 := p.parse_term() - term_4182 := _t714 + _t721 := p.parse_term() + term180 := _t721 + _t722 := p.parse_term() + term_3181 := _t722 + _t723 := p.parse_term() + term_4182 := _t723 p.consumeLiteral(")") - _t715 := &pb.RelTerm{} - _t715.RelTermType = &pb.RelTerm_Term{Term: term180} - _t716 := &pb.RelTerm{} - _t716.RelTermType = &pb.RelTerm_Term{Term: term_3181} - _t717 := &pb.RelTerm{} - _t717.RelTermType = &pb.RelTerm_Term{Term: term_4182} - _t718 := &pb.Primitive{Name: "rel_primitive_multiply_monotype", Terms: []*pb.RelTerm{_t715, _t716, _t717}} - return _t718 + _t724 := &pb.RelTerm{} + _t724.RelTermType = &pb.RelTerm_Term{Term: term180} + _t725 := &pb.RelTerm{} + _t725.RelTermType = &pb.RelTerm_Term{Term: term_3181} + _t726 := &pb.RelTerm{} + _t726.RelTermType = &pb.RelTerm_Term{Term: term_4182} + _t727 := &pb.Primitive{Name: "rel_primitive_multiply_monotype", Terms: []*pb.RelTerm{_t724, _t725, _t726}} + return _t727 } func (p *Parser) parse_divide() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("/") - _t719 := p.parse_term() - term183 := _t719 - _t720 := p.parse_term() - term_3184 := _t720 - _t721 := p.parse_term() - term_4185 := _t721 + _t728 := p.parse_term() + term183 := _t728 + _t729 := p.parse_term() + term_3184 := _t729 + _t730 := p.parse_term() + term_4185 := _t730 p.consumeLiteral(")") - _t722 := &pb.RelTerm{} - _t722.RelTermType = &pb.RelTerm_Term{Term: term183} - _t723 := &pb.RelTerm{} - _t723.RelTermType = &pb.RelTerm_Term{Term: term_3184} - _t724 := &pb.RelTerm{} - _t724.RelTermType = &pb.RelTerm_Term{Term: term_4185} - _t725 := &pb.Primitive{Name: "rel_primitive_divide_monotype", Terms: []*pb.RelTerm{_t722, _t723, _t724}} - return _t725 + _t731 := &pb.RelTerm{} + _t731.RelTermType = &pb.RelTerm_Term{Term: term183} + _t732 := &pb.RelTerm{} + _t732.RelTermType = &pb.RelTerm_Term{Term: term_3184} + _t733 := &pb.RelTerm{} + _t733.RelTermType = &pb.RelTerm_Term{Term: term_4185} + _t734 := &pb.Primitive{Name: "rel_primitive_divide_monotype", Terms: []*pb.RelTerm{_t731, _t732, _t733}} + return _t734 } func (p *Parser) parse_rel_term() *pb.RelTerm { - var _t726 int64 + var _t735 int64 if p.matchLookaheadLiteral("true", 0) { - _t726 = 1 + _t735 = 1 } else { - var _t727 int64 + var _t736 int64 if p.matchLookaheadLiteral("missing", 0) { - _t727 = 1 + _t736 = 1 } else { - var _t728 int64 + var _t737 int64 if p.matchLookaheadLiteral("false", 0) { - _t728 = 1 + _t737 = 1 } else { - var _t729 int64 + var _t738 int64 if p.matchLookaheadLiteral("(", 0) { - _t729 = 1 + _t738 = 1 } else { - var _t730 int64 + var _t739 int64 if p.matchLookaheadLiteral("#", 0) { - _t730 = 0 + _t739 = 0 } else { - var _t731 int64 + var _t740 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t731 = 1 + _t740 = 1 } else { - var _t732 int64 + var _t741 int64 if p.matchLookaheadTerminal("SYMBOL", 0) { - _t732 = 1 + _t741 = 1 } else { - var _t733 int64 + var _t742 int64 if p.matchLookaheadTerminal("STRING", 0) { - _t733 = 1 + _t742 = 1 } else { - var _t734 int64 + var _t743 int64 if p.matchLookaheadTerminal("INT128", 0) { - _t734 = 1 + _t743 = 1 } else { - var _t735 int64 + var _t744 int64 if p.matchLookaheadTerminal("INT", 0) { - _t735 = 1 + _t744 = 1 } else { - var _t736 int64 + var _t745 int64 if p.matchLookaheadTerminal("FLOAT", 0) { - _t736 = 1 + _t745 = 1 } else { - var _t737 int64 + var _t746 int64 if p.matchLookaheadTerminal("DECIMAL", 0) { - _t737 = 1 + _t746 = 1 } else { - _t737 = -1 + _t746 = -1 } - _t736 = _t737 + _t745 = _t746 } - _t735 = _t736 + _t744 = _t745 } - _t734 = _t735 + _t743 = _t744 } - _t733 = _t734 + _t742 = _t743 } - _t732 = _t733 + _t741 = _t742 } - _t731 = _t732 + _t740 = _t741 } - _t730 = _t731 + _t739 = _t740 } - _t729 = _t730 + _t738 = _t739 } - _t728 = _t729 + _t737 = _t738 } - _t727 = _t728 + _t736 = _t737 } - _t726 = _t727 + _t735 = _t736 } - prediction186 := _t726 - var _t738 *pb.RelTerm + prediction186 := _t735 + var _t747 *pb.RelTerm if prediction186 == 1 { - _t739 := p.parse_term() - term188 := _t739 - _t740 := &pb.RelTerm{} - _t740.RelTermType = &pb.RelTerm_Term{Term: term188} - _t738 = _t740 + _t748 := p.parse_term() + term188 := _t748 + _t749 := &pb.RelTerm{} + _t749.RelTermType = &pb.RelTerm_Term{Term: term188} + _t747 = _t749 } else { - var _t741 *pb.RelTerm + var _t750 *pb.RelTerm if prediction186 == 0 { - _t742 := p.parse_specialized_value() - specialized_value187 := _t742 - _t743 := &pb.RelTerm{} - _t743.RelTermType = &pb.RelTerm_SpecializedValue{SpecializedValue: specialized_value187} - _t741 = _t743 + _t751 := p.parse_specialized_value() + specialized_value187 := _t751 + _t752 := &pb.RelTerm{} + _t752.RelTermType = &pb.RelTerm_SpecializedValue{SpecializedValue: specialized_value187} + _t750 = _t752 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in rel_term", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t738 = _t741 + _t747 = _t750 } - return _t738 + return _t747 } func (p *Parser) parse_specialized_value() *pb.Value { p.consumeLiteral("#") - _t744 := p.parse_value() - value189 := _t744 + _t753 := p.parse_value() + value189 := _t753 return value189 } func (p *Parser) parse_rel_atom() *pb.RelAtom { p.consumeLiteral("(") p.consumeLiteral("relatom") - _t745 := p.parse_name() - name190 := _t745 + _t754 := p.parse_name() + name190 := _t754 xs191 := []*pb.RelTerm{} cond192 := (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond192 { - _t746 := p.parse_rel_term() - item193 := _t746 + _t755 := p.parse_rel_term() + item193 := _t755 xs191 = append(xs191, item193) cond192 = (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } rel_terms194 := xs191 p.consumeLiteral(")") - _t747 := &pb.RelAtom{Name: name190, Terms: rel_terms194} - return _t747 + _t756 := &pb.RelAtom{Name: name190, Terms: rel_terms194} + return _t756 } func (p *Parser) parse_cast() *pb.Cast { p.consumeLiteral("(") p.consumeLiteral("cast") - _t748 := p.parse_term() - term195 := _t748 - _t749 := p.parse_term() - term_3196 := _t749 + _t757 := p.parse_term() + term195 := _t757 + _t758 := p.parse_term() + term_3196 := _t758 p.consumeLiteral(")") - _t750 := &pb.Cast{Input: term195, Result: term_3196} - return _t750 + _t759 := &pb.Cast{Input: term195, Result: term_3196} + return _t759 } func (p *Parser) parse_attrs() []*pb.Attribute { @@ -2971,8 +2982,8 @@ func (p *Parser) parse_attrs() []*pb.Attribute { xs197 := []*pb.Attribute{} cond198 := p.matchLookaheadLiteral("(", 0) for cond198 { - _t751 := p.parse_attribute() - item199 := _t751 + _t760 := p.parse_attribute() + item199 := _t760 xs197 = append(xs197, item199) cond198 = p.matchLookaheadLiteral("(", 0) } @@ -2984,20 +2995,20 @@ func (p *Parser) parse_attrs() []*pb.Attribute { func (p *Parser) parse_attribute() *pb.Attribute { p.consumeLiteral("(") p.consumeLiteral("attribute") - _t752 := p.parse_name() - name201 := _t752 + _t761 := p.parse_name() + name201 := _t761 xs202 := []*pb.Value{} cond203 := (((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond203 { - _t753 := p.parse_value() - item204 := _t753 + _t762 := p.parse_value() + item204 := _t762 xs202 = append(xs202, item204) cond203 = (((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } values205 := xs202 p.consumeLiteral(")") - _t754 := &pb.Attribute{Name: name201, Args: values205} - return _t754 + _t763 := &pb.Attribute{Name: name201, Args: values205} + return _t763 } func (p *Parser) parse_algorithm() *pb.Algorithm { @@ -3006,17 +3017,17 @@ func (p *Parser) parse_algorithm() *pb.Algorithm { xs206 := []*pb.RelationId{} cond207 := (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) for cond207 { - _t755 := p.parse_relation_id() - item208 := _t755 + _t764 := p.parse_relation_id() + item208 := _t764 xs206 = append(xs206, item208) cond207 = (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) } relation_ids209 := xs206 - _t756 := p.parse_script() - script210 := _t756 + _t765 := p.parse_script() + script210 := _t765 p.consumeLiteral(")") - _t757 := &pb.Algorithm{Global: relation_ids209, Body: script210} - return _t757 + _t766 := &pb.Algorithm{Global: relation_ids209, Body: script210} + return _t766 } func (p *Parser) parse_script() *pb.Script { @@ -3025,94 +3036,94 @@ func (p *Parser) parse_script() *pb.Script { xs211 := []*pb.Construct{} cond212 := p.matchLookaheadLiteral("(", 0) for cond212 { - _t758 := p.parse_construct() - item213 := _t758 + _t767 := p.parse_construct() + item213 := _t767 xs211 = append(xs211, item213) cond212 = p.matchLookaheadLiteral("(", 0) } constructs214 := xs211 p.consumeLiteral(")") - _t759 := &pb.Script{Constructs: constructs214} - return _t759 + _t768 := &pb.Script{Constructs: constructs214} + return _t768 } func (p *Parser) parse_construct() *pb.Construct { - var _t760 int64 + var _t769 int64 if p.matchLookaheadLiteral("(", 0) { - var _t761 int64 + var _t770 int64 if p.matchLookaheadLiteral("upsert", 1) { - _t761 = 1 + _t770 = 1 } else { - var _t762 int64 + var _t771 int64 if p.matchLookaheadLiteral("monus", 1) { - _t762 = 1 + _t771 = 1 } else { - var _t763 int64 + var _t772 int64 if p.matchLookaheadLiteral("monoid", 1) { - _t763 = 1 + _t772 = 1 } else { - var _t764 int64 + var _t773 int64 if p.matchLookaheadLiteral("loop", 1) { - _t764 = 0 + _t773 = 0 } else { - var _t765 int64 + var _t774 int64 if p.matchLookaheadLiteral("break", 1) { - _t765 = 1 + _t774 = 1 } else { - var _t766 int64 + var _t775 int64 if p.matchLookaheadLiteral("assign", 1) { - _t766 = 1 + _t775 = 1 } else { - _t766 = -1 + _t775 = -1 } - _t765 = _t766 + _t774 = _t775 } - _t764 = _t765 + _t773 = _t774 } - _t763 = _t764 + _t772 = _t773 } - _t762 = _t763 + _t771 = _t772 } - _t761 = _t762 + _t770 = _t771 } - _t760 = _t761 + _t769 = _t770 } else { - _t760 = -1 + _t769 = -1 } - prediction215 := _t760 - var _t767 *pb.Construct + prediction215 := _t769 + var _t776 *pb.Construct if prediction215 == 1 { - _t768 := p.parse_instruction() - instruction217 := _t768 - _t769 := &pb.Construct{} - _t769.ConstructType = &pb.Construct_Instruction{Instruction: instruction217} - _t767 = _t769 + _t777 := p.parse_instruction() + instruction217 := _t777 + _t778 := &pb.Construct{} + _t778.ConstructType = &pb.Construct_Instruction{Instruction: instruction217} + _t776 = _t778 } else { - var _t770 *pb.Construct + var _t779 *pb.Construct if prediction215 == 0 { - _t771 := p.parse_loop() - loop216 := _t771 - _t772 := &pb.Construct{} - _t772.ConstructType = &pb.Construct_Loop{Loop: loop216} - _t770 = _t772 + _t780 := p.parse_loop() + loop216 := _t780 + _t781 := &pb.Construct{} + _t781.ConstructType = &pb.Construct_Loop{Loop: loop216} + _t779 = _t781 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in construct", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t767 = _t770 + _t776 = _t779 } - return _t767 + return _t776 } func (p *Parser) parse_loop() *pb.Loop { p.consumeLiteral("(") p.consumeLiteral("loop") - _t773 := p.parse_init() - init218 := _t773 - _t774 := p.parse_script() - script219 := _t774 + _t782 := p.parse_init() + init218 := _t782 + _t783 := p.parse_script() + script219 := _t783 p.consumeLiteral(")") - _t775 := &pb.Loop{Init: init218, Body: script219} - return _t775 + _t784 := &pb.Loop{Init: init218, Body: script219} + return _t784 } func (p *Parser) parse_init() []*pb.Instruction { @@ -3121,8 +3132,8 @@ func (p *Parser) parse_init() []*pb.Instruction { xs220 := []*pb.Instruction{} cond221 := p.matchLookaheadLiteral("(", 0) for cond221 { - _t776 := p.parse_instruction() - item222 := _t776 + _t785 := p.parse_instruction() + item222 := _t785 xs220 = append(xs220, item222) cond221 = p.matchLookaheadLiteral("(", 0) } @@ -3132,350 +3143,350 @@ func (p *Parser) parse_init() []*pb.Instruction { } func (p *Parser) parse_instruction() *pb.Instruction { - var _t777 int64 + var _t786 int64 if p.matchLookaheadLiteral("(", 0) { - var _t778 int64 + var _t787 int64 if p.matchLookaheadLiteral("upsert", 1) { - _t778 = 1 + _t787 = 1 } else { - var _t779 int64 + var _t788 int64 if p.matchLookaheadLiteral("monus", 1) { - _t779 = 4 + _t788 = 4 } else { - var _t780 int64 + var _t789 int64 if p.matchLookaheadLiteral("monoid", 1) { - _t780 = 3 + _t789 = 3 } else { - var _t781 int64 + var _t790 int64 if p.matchLookaheadLiteral("break", 1) { - _t781 = 2 + _t790 = 2 } else { - var _t782 int64 + var _t791 int64 if p.matchLookaheadLiteral("assign", 1) { - _t782 = 0 + _t791 = 0 } else { - _t782 = -1 + _t791 = -1 } - _t781 = _t782 + _t790 = _t791 } - _t780 = _t781 + _t789 = _t790 } - _t779 = _t780 + _t788 = _t789 } - _t778 = _t779 + _t787 = _t788 } - _t777 = _t778 + _t786 = _t787 } else { - _t777 = -1 + _t786 = -1 } - prediction224 := _t777 - var _t783 *pb.Instruction + prediction224 := _t786 + var _t792 *pb.Instruction if prediction224 == 4 { - _t784 := p.parse_monus_def() - monus_def229 := _t784 - _t785 := &pb.Instruction{} - _t785.InstrType = &pb.Instruction_MonusDef{MonusDef: monus_def229} - _t783 = _t785 + _t793 := p.parse_monus_def() + monus_def229 := _t793 + _t794 := &pb.Instruction{} + _t794.InstrType = &pb.Instruction_MonusDef{MonusDef: monus_def229} + _t792 = _t794 } else { - var _t786 *pb.Instruction + var _t795 *pb.Instruction if prediction224 == 3 { - _t787 := p.parse_monoid_def() - monoid_def228 := _t787 - _t788 := &pb.Instruction{} - _t788.InstrType = &pb.Instruction_MonoidDef{MonoidDef: monoid_def228} - _t786 = _t788 + _t796 := p.parse_monoid_def() + monoid_def228 := _t796 + _t797 := &pb.Instruction{} + _t797.InstrType = &pb.Instruction_MonoidDef{MonoidDef: monoid_def228} + _t795 = _t797 } else { - var _t789 *pb.Instruction + var _t798 *pb.Instruction if prediction224 == 2 { - _t790 := p.parse_break() - break227 := _t790 - _t791 := &pb.Instruction{} - _t791.InstrType = &pb.Instruction_Break{Break: break227} - _t789 = _t791 + _t799 := p.parse_break() + break227 := _t799 + _t800 := &pb.Instruction{} + _t800.InstrType = &pb.Instruction_Break{Break: break227} + _t798 = _t800 } else { - var _t792 *pb.Instruction + var _t801 *pb.Instruction if prediction224 == 1 { - _t793 := p.parse_upsert() - upsert226 := _t793 - _t794 := &pb.Instruction{} - _t794.InstrType = &pb.Instruction_Upsert{Upsert: upsert226} - _t792 = _t794 + _t802 := p.parse_upsert() + upsert226 := _t802 + _t803 := &pb.Instruction{} + _t803.InstrType = &pb.Instruction_Upsert{Upsert: upsert226} + _t801 = _t803 } else { - var _t795 *pb.Instruction + var _t804 *pb.Instruction if prediction224 == 0 { - _t796 := p.parse_assign() - assign225 := _t796 - _t797 := &pb.Instruction{} - _t797.InstrType = &pb.Instruction_Assign{Assign: assign225} - _t795 = _t797 + _t805 := p.parse_assign() + assign225 := _t805 + _t806 := &pb.Instruction{} + _t806.InstrType = &pb.Instruction_Assign{Assign: assign225} + _t804 = _t806 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in instruction", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t792 = _t795 + _t801 = _t804 } - _t789 = _t792 + _t798 = _t801 } - _t786 = _t789 + _t795 = _t798 } - _t783 = _t786 + _t792 = _t795 } - return _t783 + return _t792 } func (p *Parser) parse_assign() *pb.Assign { p.consumeLiteral("(") p.consumeLiteral("assign") - _t798 := p.parse_relation_id() - relation_id230 := _t798 - _t799 := p.parse_abstraction() - abstraction231 := _t799 - var _t800 []*pb.Attribute + _t807 := p.parse_relation_id() + relation_id230 := _t807 + _t808 := p.parse_abstraction() + abstraction231 := _t808 + var _t809 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t801 := p.parse_attrs() - _t800 = _t801 + _t810 := p.parse_attrs() + _t809 = _t810 } - attrs232 := _t800 + attrs232 := _t809 p.consumeLiteral(")") - _t802 := attrs232 + _t811 := attrs232 if attrs232 == nil { - _t802 = []*pb.Attribute{} + _t811 = []*pb.Attribute{} } - _t803 := &pb.Assign{Name: relation_id230, Body: abstraction231, Attrs: _t802} - return _t803 + _t812 := &pb.Assign{Name: relation_id230, Body: abstraction231, Attrs: _t811} + return _t812 } func (p *Parser) parse_upsert() *pb.Upsert { p.consumeLiteral("(") p.consumeLiteral("upsert") - _t804 := p.parse_relation_id() - relation_id233 := _t804 - _t805 := p.parse_abstraction_with_arity() - abstraction_with_arity234 := _t805 - var _t806 []*pb.Attribute + _t813 := p.parse_relation_id() + relation_id233 := _t813 + _t814 := p.parse_abstraction_with_arity() + abstraction_with_arity234 := _t814 + var _t815 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t807 := p.parse_attrs() - _t806 = _t807 + _t816 := p.parse_attrs() + _t815 = _t816 } - attrs235 := _t806 + attrs235 := _t815 p.consumeLiteral(")") - _t808 := attrs235 + _t817 := attrs235 if attrs235 == nil { - _t808 = []*pb.Attribute{} + _t817 = []*pb.Attribute{} } - _t809 := &pb.Upsert{Name: relation_id233, Body: abstraction_with_arity234[0].(*pb.Abstraction), Attrs: _t808, ValueArity: abstraction_with_arity234[1].(int64)} - return _t809 + _t818 := &pb.Upsert{Name: relation_id233, Body: abstraction_with_arity234[0].(*pb.Abstraction), Attrs: _t817, ValueArity: abstraction_with_arity234[1].(int64)} + return _t818 } func (p *Parser) parse_abstraction_with_arity() []interface{} { p.consumeLiteral("(") - _t810 := p.parse_bindings() - bindings236 := _t810 - _t811 := p.parse_formula() - formula237 := _t811 + _t819 := p.parse_bindings() + bindings236 := _t819 + _t820 := p.parse_formula() + formula237 := _t820 p.consumeLiteral(")") - _t812 := &pb.Abstraction{Vars: listConcat(bindings236[0].([]*pb.Binding), bindings236[1].([]*pb.Binding)), Value: formula237} - return []interface{}{_t812, int64(len(bindings236[1].([]*pb.Binding)))} + _t821 := &pb.Abstraction{Vars: listConcat(bindings236[0].([]*pb.Binding), bindings236[1].([]*pb.Binding)), Value: formula237} + return []interface{}{_t821, int64(len(bindings236[1].([]*pb.Binding)))} } func (p *Parser) parse_break() *pb.Break { p.consumeLiteral("(") p.consumeLiteral("break") - _t813 := p.parse_relation_id() - relation_id238 := _t813 - _t814 := p.parse_abstraction() - abstraction239 := _t814 - var _t815 []*pb.Attribute + _t822 := p.parse_relation_id() + relation_id238 := _t822 + _t823 := p.parse_abstraction() + abstraction239 := _t823 + var _t824 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t816 := p.parse_attrs() - _t815 = _t816 + _t825 := p.parse_attrs() + _t824 = _t825 } - attrs240 := _t815 + attrs240 := _t824 p.consumeLiteral(")") - _t817 := attrs240 + _t826 := attrs240 if attrs240 == nil { - _t817 = []*pb.Attribute{} + _t826 = []*pb.Attribute{} } - _t818 := &pb.Break{Name: relation_id238, Body: abstraction239, Attrs: _t817} - return _t818 + _t827 := &pb.Break{Name: relation_id238, Body: abstraction239, Attrs: _t826} + return _t827 } func (p *Parser) parse_monoid_def() *pb.MonoidDef { p.consumeLiteral("(") p.consumeLiteral("monoid") - _t819 := p.parse_monoid() - monoid241 := _t819 - _t820 := p.parse_relation_id() - relation_id242 := _t820 - _t821 := p.parse_abstraction_with_arity() - abstraction_with_arity243 := _t821 - var _t822 []*pb.Attribute + _t828 := p.parse_monoid() + monoid241 := _t828 + _t829 := p.parse_relation_id() + relation_id242 := _t829 + _t830 := p.parse_abstraction_with_arity() + abstraction_with_arity243 := _t830 + var _t831 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t823 := p.parse_attrs() - _t822 = _t823 + _t832 := p.parse_attrs() + _t831 = _t832 } - attrs244 := _t822 + attrs244 := _t831 p.consumeLiteral(")") - _t824 := attrs244 + _t833 := attrs244 if attrs244 == nil { - _t824 = []*pb.Attribute{} + _t833 = []*pb.Attribute{} } - _t825 := &pb.MonoidDef{Monoid: monoid241, Name: relation_id242, Body: abstraction_with_arity243[0].(*pb.Abstraction), Attrs: _t824, ValueArity: abstraction_with_arity243[1].(int64)} - return _t825 + _t834 := &pb.MonoidDef{Monoid: monoid241, Name: relation_id242, Body: abstraction_with_arity243[0].(*pb.Abstraction), Attrs: _t833, ValueArity: abstraction_with_arity243[1].(int64)} + return _t834 } func (p *Parser) parse_monoid() *pb.Monoid { - var _t826 int64 + var _t835 int64 if p.matchLookaheadLiteral("(", 0) { - var _t827 int64 + var _t836 int64 if p.matchLookaheadLiteral("sum", 1) { - _t827 = 3 + _t836 = 3 } else { - var _t828 int64 + var _t837 int64 if p.matchLookaheadLiteral("or", 1) { - _t828 = 0 + _t837 = 0 } else { - var _t829 int64 + var _t838 int64 if p.matchLookaheadLiteral("min", 1) { - _t829 = 1 + _t838 = 1 } else { - var _t830 int64 + var _t839 int64 if p.matchLookaheadLiteral("max", 1) { - _t830 = 2 + _t839 = 2 } else { - _t830 = -1 + _t839 = -1 } - _t829 = _t830 + _t838 = _t839 } - _t828 = _t829 + _t837 = _t838 } - _t827 = _t828 + _t836 = _t837 } - _t826 = _t827 + _t835 = _t836 } else { - _t826 = -1 + _t835 = -1 } - prediction245 := _t826 - var _t831 *pb.Monoid + prediction245 := _t835 + var _t840 *pb.Monoid if prediction245 == 3 { - _t832 := p.parse_sum_monoid() - sum_monoid249 := _t832 - _t833 := &pb.Monoid{} - _t833.Value = &pb.Monoid_SumMonoid{SumMonoid: sum_monoid249} - _t831 = _t833 + _t841 := p.parse_sum_monoid() + sum_monoid249 := _t841 + _t842 := &pb.Monoid{} + _t842.Value = &pb.Monoid_SumMonoid{SumMonoid: sum_monoid249} + _t840 = _t842 } else { - var _t834 *pb.Monoid + var _t843 *pb.Monoid if prediction245 == 2 { - _t835 := p.parse_max_monoid() - max_monoid248 := _t835 - _t836 := &pb.Monoid{} - _t836.Value = &pb.Monoid_MaxMonoid{MaxMonoid: max_monoid248} - _t834 = _t836 + _t844 := p.parse_max_monoid() + max_monoid248 := _t844 + _t845 := &pb.Monoid{} + _t845.Value = &pb.Monoid_MaxMonoid{MaxMonoid: max_monoid248} + _t843 = _t845 } else { - var _t837 *pb.Monoid + var _t846 *pb.Monoid if prediction245 == 1 { - _t838 := p.parse_min_monoid() - min_monoid247 := _t838 - _t839 := &pb.Monoid{} - _t839.Value = &pb.Monoid_MinMonoid{MinMonoid: min_monoid247} - _t837 = _t839 + _t847 := p.parse_min_monoid() + min_monoid247 := _t847 + _t848 := &pb.Monoid{} + _t848.Value = &pb.Monoid_MinMonoid{MinMonoid: min_monoid247} + _t846 = _t848 } else { - var _t840 *pb.Monoid + var _t849 *pb.Monoid if prediction245 == 0 { - _t841 := p.parse_or_monoid() - or_monoid246 := _t841 - _t842 := &pb.Monoid{} - _t842.Value = &pb.Monoid_OrMonoid{OrMonoid: or_monoid246} - _t840 = _t842 + _t850 := p.parse_or_monoid() + or_monoid246 := _t850 + _t851 := &pb.Monoid{} + _t851.Value = &pb.Monoid_OrMonoid{OrMonoid: or_monoid246} + _t849 = _t851 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in monoid", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t837 = _t840 + _t846 = _t849 } - _t834 = _t837 + _t843 = _t846 } - _t831 = _t834 + _t840 = _t843 } - return _t831 + return _t840 } func (p *Parser) parse_or_monoid() *pb.OrMonoid { p.consumeLiteral("(") p.consumeLiteral("or") p.consumeLiteral(")") - _t843 := &pb.OrMonoid{} - return _t843 + _t852 := &pb.OrMonoid{} + return _t852 } func (p *Parser) parse_min_monoid() *pb.MinMonoid { p.consumeLiteral("(") p.consumeLiteral("min") - _t844 := p.parse_type() - type250 := _t844 + _t853 := p.parse_type() + type250 := _t853 p.consumeLiteral(")") - _t845 := &pb.MinMonoid{Type: type250} - return _t845 + _t854 := &pb.MinMonoid{Type: type250} + return _t854 } func (p *Parser) parse_max_monoid() *pb.MaxMonoid { p.consumeLiteral("(") p.consumeLiteral("max") - _t846 := p.parse_type() - type251 := _t846 + _t855 := p.parse_type() + type251 := _t855 p.consumeLiteral(")") - _t847 := &pb.MaxMonoid{Type: type251} - return _t847 + _t856 := &pb.MaxMonoid{Type: type251} + return _t856 } func (p *Parser) parse_sum_monoid() *pb.SumMonoid { p.consumeLiteral("(") p.consumeLiteral("sum") - _t848 := p.parse_type() - type252 := _t848 + _t857 := p.parse_type() + type252 := _t857 p.consumeLiteral(")") - _t849 := &pb.SumMonoid{Type: type252} - return _t849 + _t858 := &pb.SumMonoid{Type: type252} + return _t858 } func (p *Parser) parse_monus_def() *pb.MonusDef { p.consumeLiteral("(") p.consumeLiteral("monus") - _t850 := p.parse_monoid() - monoid253 := _t850 - _t851 := p.parse_relation_id() - relation_id254 := _t851 - _t852 := p.parse_abstraction_with_arity() - abstraction_with_arity255 := _t852 - var _t853 []*pb.Attribute + _t859 := p.parse_monoid() + monoid253 := _t859 + _t860 := p.parse_relation_id() + relation_id254 := _t860 + _t861 := p.parse_abstraction_with_arity() + abstraction_with_arity255 := _t861 + var _t862 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t854 := p.parse_attrs() - _t853 = _t854 + _t863 := p.parse_attrs() + _t862 = _t863 } - attrs256 := _t853 + attrs256 := _t862 p.consumeLiteral(")") - _t855 := attrs256 + _t864 := attrs256 if attrs256 == nil { - _t855 = []*pb.Attribute{} + _t864 = []*pb.Attribute{} } - _t856 := &pb.MonusDef{Monoid: monoid253, Name: relation_id254, Body: abstraction_with_arity255[0].(*pb.Abstraction), Attrs: _t855, ValueArity: abstraction_with_arity255[1].(int64)} - return _t856 + _t865 := &pb.MonusDef{Monoid: monoid253, Name: relation_id254, Body: abstraction_with_arity255[0].(*pb.Abstraction), Attrs: _t864, ValueArity: abstraction_with_arity255[1].(int64)} + return _t865 } func (p *Parser) parse_constraint() *pb.Constraint { p.consumeLiteral("(") p.consumeLiteral("functional_dependency") - _t857 := p.parse_relation_id() - relation_id257 := _t857 - _t858 := p.parse_abstraction() - abstraction258 := _t858 - _t859 := p.parse_functional_dependency_keys() - functional_dependency_keys259 := _t859 - _t860 := p.parse_functional_dependency_values() - functional_dependency_values260 := _t860 + _t866 := p.parse_relation_id() + relation_id257 := _t866 + _t867 := p.parse_abstraction() + abstraction258 := _t867 + _t868 := p.parse_functional_dependency_keys() + functional_dependency_keys259 := _t868 + _t869 := p.parse_functional_dependency_values() + functional_dependency_values260 := _t869 p.consumeLiteral(")") - _t861 := &pb.FunctionalDependency{Guard: abstraction258, Keys: functional_dependency_keys259, Values: functional_dependency_values260} - _t862 := &pb.Constraint{Name: relation_id257} - _t862.ConstraintType = &pb.Constraint_FunctionalDependency{FunctionalDependency: _t861} - return _t862 + _t870 := &pb.FunctionalDependency{Guard: abstraction258, Keys: functional_dependency_keys259, Values: functional_dependency_values260} + _t871 := &pb.Constraint{Name: relation_id257} + _t871.ConstraintType = &pb.Constraint_FunctionalDependency{FunctionalDependency: _t870} + return _t871 } func (p *Parser) parse_functional_dependency_keys() []*pb.Var { @@ -3484,8 +3495,8 @@ func (p *Parser) parse_functional_dependency_keys() []*pb.Var { xs261 := []*pb.Var{} cond262 := p.matchLookaheadTerminal("SYMBOL", 0) for cond262 { - _t863 := p.parse_var() - item263 := _t863 + _t872 := p.parse_var() + item263 := _t872 xs261 = append(xs261, item263) cond262 = p.matchLookaheadTerminal("SYMBOL", 0) } @@ -3500,8 +3511,8 @@ func (p *Parser) parse_functional_dependency_values() []*pb.Var { xs265 := []*pb.Var{} cond266 := p.matchLookaheadTerminal("SYMBOL", 0) for cond266 { - _t864 := p.parse_var() - item267 := _t864 + _t873 := p.parse_var() + item267 := _t873 xs265 = append(xs265, item267) cond266 = p.matchLookaheadTerminal("SYMBOL", 0) } @@ -3511,76 +3522,76 @@ func (p *Parser) parse_functional_dependency_values() []*pb.Var { } func (p *Parser) parse_data() *pb.Data { - var _t865 int64 + var _t874 int64 if p.matchLookaheadLiteral("(", 0) { - var _t866 int64 + var _t875 int64 if p.matchLookaheadLiteral("rel_edb", 1) { - _t866 = 0 + _t875 = 0 } else { - var _t867 int64 + var _t876 int64 if p.matchLookaheadLiteral("csv_data", 1) { - _t867 = 2 + _t876 = 2 } else { - var _t868 int64 + var _t877 int64 if p.matchLookaheadLiteral("betree_relation", 1) { - _t868 = 1 + _t877 = 1 } else { - _t868 = -1 + _t877 = -1 } - _t867 = _t868 + _t876 = _t877 } - _t866 = _t867 + _t875 = _t876 } - _t865 = _t866 + _t874 = _t875 } else { - _t865 = -1 + _t874 = -1 } - prediction269 := _t865 - var _t869 *pb.Data + prediction269 := _t874 + var _t878 *pb.Data if prediction269 == 2 { - _t870 := p.parse_csv_data() - csv_data272 := _t870 - _t871 := &pb.Data{} - _t871.DataType = &pb.Data_CsvData{CsvData: csv_data272} - _t869 = _t871 + _t879 := p.parse_csv_data() + csv_data272 := _t879 + _t880 := &pb.Data{} + _t880.DataType = &pb.Data_CsvData{CsvData: csv_data272} + _t878 = _t880 } else { - var _t872 *pb.Data + var _t881 *pb.Data if prediction269 == 1 { - _t873 := p.parse_betree_relation() - betree_relation271 := _t873 - _t874 := &pb.Data{} - _t874.DataType = &pb.Data_BetreeRelation{BetreeRelation: betree_relation271} - _t872 = _t874 + _t882 := p.parse_betree_relation() + betree_relation271 := _t882 + _t883 := &pb.Data{} + _t883.DataType = &pb.Data_BetreeRelation{BetreeRelation: betree_relation271} + _t881 = _t883 } else { - var _t875 *pb.Data + var _t884 *pb.Data if prediction269 == 0 { - _t876 := p.parse_rel_edb() - rel_edb270 := _t876 - _t877 := &pb.Data{} - _t877.DataType = &pb.Data_RelEdb{RelEdb: rel_edb270} - _t875 = _t877 + _t885 := p.parse_rel_edb() + rel_edb270 := _t885 + _t886 := &pb.Data{} + _t886.DataType = &pb.Data_RelEdb{RelEdb: rel_edb270} + _t884 = _t886 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in data", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t872 = _t875 + _t881 = _t884 } - _t869 = _t872 + _t878 = _t881 } - return _t869 + return _t878 } func (p *Parser) parse_rel_edb() *pb.RelEDB { p.consumeLiteral("(") p.consumeLiteral("rel_edb") - _t878 := p.parse_relation_id() - relation_id273 := _t878 - _t879 := p.parse_rel_edb_path() - rel_edb_path274 := _t879 - _t880 := p.parse_rel_edb_types() - rel_edb_types275 := _t880 + _t887 := p.parse_relation_id() + relation_id273 := _t887 + _t888 := p.parse_rel_edb_path() + rel_edb_path274 := _t888 + _t889 := p.parse_rel_edb_types() + rel_edb_types275 := _t889 p.consumeLiteral(")") - _t881 := &pb.RelEDB{TargetId: relation_id273, Path: rel_edb_path274, Types: rel_edb_types275} - return _t881 + _t890 := &pb.RelEDB{TargetId: relation_id273, Path: rel_edb_path274, Types: rel_edb_types275} + return _t890 } func (p *Parser) parse_rel_edb_path() []string { @@ -3602,8 +3613,8 @@ func (p *Parser) parse_rel_edb_types() []*pb.Type { xs280 := []*pb.Type{} cond281 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond281 { - _t882 := p.parse_type() - item282 := _t882 + _t891 := p.parse_type() + item282 := _t891 xs280 = append(xs280, item282) cond281 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } @@ -3615,27 +3626,27 @@ func (p *Parser) parse_rel_edb_types() []*pb.Type { func (p *Parser) parse_betree_relation() *pb.BeTreeRelation { p.consumeLiteral("(") p.consumeLiteral("betree_relation") - _t883 := p.parse_relation_id() - relation_id284 := _t883 - _t884 := p.parse_betree_info() - betree_info285 := _t884 + _t892 := p.parse_relation_id() + relation_id284 := _t892 + _t893 := p.parse_betree_info() + betree_info285 := _t893 p.consumeLiteral(")") - _t885 := &pb.BeTreeRelation{Name: relation_id284, RelationInfo: betree_info285} - return _t885 + _t894 := &pb.BeTreeRelation{Name: relation_id284, RelationInfo: betree_info285} + return _t894 } func (p *Parser) parse_betree_info() *pb.BeTreeInfo { p.consumeLiteral("(") p.consumeLiteral("betree_info") - _t886 := p.parse_betree_info_key_types() - betree_info_key_types286 := _t886 - _t887 := p.parse_betree_info_value_types() - betree_info_value_types287 := _t887 - _t888 := p.parse_config_dict() - config_dict288 := _t888 + _t895 := p.parse_betree_info_key_types() + betree_info_key_types286 := _t895 + _t896 := p.parse_betree_info_value_types() + betree_info_value_types287 := _t896 + _t897 := p.parse_config_dict() + config_dict288 := _t897 p.consumeLiteral(")") - _t889 := p.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) - return _t889 + _t898 := p.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) + return _t898 } func (p *Parser) parse_betree_info_key_types() []*pb.Type { @@ -3644,8 +3655,8 @@ func (p *Parser) parse_betree_info_key_types() []*pb.Type { xs289 := []*pb.Type{} cond290 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond290 { - _t890 := p.parse_type() - item291 := _t890 + _t899 := p.parse_type() + item291 := _t899 xs289 = append(xs289, item291) cond290 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } @@ -3660,8 +3671,8 @@ func (p *Parser) parse_betree_info_value_types() []*pb.Type { xs293 := []*pb.Type{} cond294 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond294 { - _t891 := p.parse_type() - item295 := _t891 + _t900 := p.parse_type() + item295 := _t900 xs293 = append(xs293, item295) cond294 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } @@ -3673,41 +3684,41 @@ func (p *Parser) parse_betree_info_value_types() []*pb.Type { func (p *Parser) parse_csv_data() *pb.CSVData { p.consumeLiteral("(") p.consumeLiteral("csv_data") - _t892 := p.parse_csvlocator() - csvlocator297 := _t892 - _t893 := p.parse_csv_config() - csv_config298 := _t893 - _t894 := p.parse_csv_columns() - csv_columns299 := _t894 - _t895 := p.parse_csv_asof() - csv_asof300 := _t895 + _t901 := p.parse_csvlocator() + csvlocator297 := _t901 + _t902 := p.parse_csv_config() + csv_config298 := _t902 + _t903 := p.parse_csv_columns() + csv_columns299 := _t903 + _t904 := p.parse_csv_asof() + csv_asof300 := _t904 p.consumeLiteral(")") - _t896 := &pb.CSVData{Locator: csvlocator297, Config: csv_config298, Columns: csv_columns299, Asof: csv_asof300} - return _t896 + _t905 := &pb.CSVData{Locator: csvlocator297, Config: csv_config298, Columns: csv_columns299, Asof: csv_asof300} + return _t905 } func (p *Parser) parse_csvlocator() *pb.CSVLocator { p.consumeLiteral("(") p.consumeLiteral("csv_locator") - var _t897 []string + var _t906 []string if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("paths", 1)) { - _t898 := p.parse_csv_locator_paths() - _t897 = _t898 + _t907 := p.parse_csv_locator_paths() + _t906 = _t907 } - csv_locator_paths301 := _t897 - var _t899 *string + csv_locator_paths301 := _t906 + var _t908 *string if p.matchLookaheadLiteral("(", 0) { - _t900 := p.parse_csv_locator_inline_data() - _t899 = ptr(_t900) + _t909 := p.parse_csv_locator_inline_data() + _t908 = ptr(_t909) } - csv_locator_inline_data302 := _t899 + csv_locator_inline_data302 := _t908 p.consumeLiteral(")") - _t901 := csv_locator_paths301 + _t910 := csv_locator_paths301 if csv_locator_paths301 == nil { - _t901 = []string{} + _t910 = []string{} } - _t902 := &pb.CSVLocator{Paths: _t901, InlineData: []byte(deref(csv_locator_inline_data302, ""))} - return _t902 + _t911 := &pb.CSVLocator{Paths: _t910, InlineData: []byte(deref(csv_locator_inline_data302, ""))} + return _t911 } func (p *Parser) parse_csv_locator_paths() []string { @@ -3736,11 +3747,11 @@ func (p *Parser) parse_csv_locator_inline_data() string { func (p *Parser) parse_csv_config() *pb.CSVConfig { p.consumeLiteral("(") p.consumeLiteral("csv_config") - _t903 := p.parse_config_dict() - config_dict308 := _t903 + _t912 := p.parse_config_dict() + config_dict308 := _t912 p.consumeLiteral(")") - _t904 := p.construct_csv_config(config_dict308) - return _t904 + _t913 := p.construct_csv_config(config_dict308) + return _t913 } func (p *Parser) parse_csv_columns() []*pb.CSVColumn { @@ -3749,8 +3760,8 @@ func (p *Parser) parse_csv_columns() []*pb.CSVColumn { xs309 := []*pb.CSVColumn{} cond310 := p.matchLookaheadLiteral("(", 0) for cond310 { - _t905 := p.parse_csv_column() - item311 := _t905 + _t914 := p.parse_csv_column() + item311 := _t914 xs309 = append(xs309, item311) cond310 = p.matchLookaheadLiteral("(", 0) } @@ -3763,22 +3774,22 @@ func (p *Parser) parse_csv_column() *pb.CSVColumn { p.consumeLiteral("(") p.consumeLiteral("column") string313 := p.consumeTerminal("STRING").Value.AsString() - _t906 := p.parse_relation_id() - relation_id314 := _t906 + _t915 := p.parse_relation_id() + relation_id314 := _t915 p.consumeLiteral("[") xs315 := []*pb.Type{} cond316 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond316 { - _t907 := p.parse_type() - item317 := _t907 + _t916 := p.parse_type() + item317 := _t916 xs315 = append(xs315, item317) cond316 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } types318 := xs315 p.consumeLiteral("]") p.consumeLiteral(")") - _t908 := &pb.CSVColumn{ColumnName: string313, TargetId: relation_id314, Types: types318} - return _t908 + _t917 := &pb.CSVColumn{ColumnName: string313, TargetId: relation_id314, Types: types318} + return _t917 } func (p *Parser) parse_csv_asof() string { @@ -3792,11 +3803,11 @@ func (p *Parser) parse_csv_asof() string { func (p *Parser) parse_undefine() *pb.Undefine { p.consumeLiteral("(") p.consumeLiteral("undefine") - _t909 := p.parse_fragment_id() - fragment_id320 := _t909 + _t918 := p.parse_fragment_id() + fragment_id320 := _t918 p.consumeLiteral(")") - _t910 := &pb.Undefine{FragmentId: fragment_id320} - return _t910 + _t919 := &pb.Undefine{FragmentId: fragment_id320} + return _t919 } func (p *Parser) parse_context() *pb.Context { @@ -3805,15 +3816,15 @@ func (p *Parser) parse_context() *pb.Context { xs321 := []*pb.RelationId{} cond322 := (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) for cond322 { - _t911 := p.parse_relation_id() - item323 := _t911 + _t920 := p.parse_relation_id() + item323 := _t920 xs321 = append(xs321, item323) cond322 = (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) } relation_ids324 := xs321 p.consumeLiteral(")") - _t912 := &pb.Context{Relations: relation_ids324} - return _t912 + _t921 := &pb.Context{Relations: relation_ids324} + return _t921 } func (p *Parser) parse_epoch_reads() []*pb.Read { @@ -3822,8 +3833,8 @@ func (p *Parser) parse_epoch_reads() []*pb.Read { xs325 := []*pb.Read{} cond326 := p.matchLookaheadLiteral("(", 0) for cond326 { - _t913 := p.parse_read() - item327 := _t913 + _t922 := p.parse_read() + item327 := _t922 xs325 = append(xs325, item327) cond326 = p.matchLookaheadLiteral("(", 0) } @@ -3833,204 +3844,296 @@ func (p *Parser) parse_epoch_reads() []*pb.Read { } func (p *Parser) parse_read() *pb.Read { - var _t914 int64 + var _t923 int64 if p.matchLookaheadLiteral("(", 0) { - var _t915 int64 + var _t924 int64 if p.matchLookaheadLiteral("what_if", 1) { - _t915 = 2 + _t924 = 2 } else { - var _t916 int64 + var _t925 int64 if p.matchLookaheadLiteral("output", 1) { - _t916 = 1 + _t925 = 1 } else { - var _t917 int64 + var _t926 int64 if p.matchLookaheadLiteral("export", 1) { - _t917 = 4 + _t926 = 4 } else { - var _t918 int64 + var _t927 int64 if p.matchLookaheadLiteral("demand", 1) { - _t918 = 0 + _t927 = 0 } else { - var _t919 int64 + var _t928 int64 if p.matchLookaheadLiteral("abort", 1) { - _t919 = 3 + _t928 = 3 } else { - _t919 = -1 + _t928 = -1 } - _t918 = _t919 + _t927 = _t928 } - _t917 = _t918 + _t926 = _t927 } - _t916 = _t917 + _t925 = _t926 } - _t915 = _t916 + _t924 = _t925 } - _t914 = _t915 + _t923 = _t924 } else { - _t914 = -1 + _t923 = -1 } - prediction329 := _t914 - var _t920 *pb.Read + prediction329 := _t923 + var _t929 *pb.Read if prediction329 == 4 { - _t921 := p.parse_export() - export334 := _t921 - _t922 := &pb.Read{} - _t922.ReadType = &pb.Read_Export{Export: export334} - _t920 = _t922 + _t930 := p.parse_export() + export334 := _t930 + _t931 := &pb.Read{} + _t931.ReadType = &pb.Read_Export{Export: export334} + _t929 = _t931 } else { - var _t923 *pb.Read + var _t932 *pb.Read if prediction329 == 3 { - _t924 := p.parse_abort() - abort333 := _t924 - _t925 := &pb.Read{} - _t925.ReadType = &pb.Read_Abort{Abort: abort333} - _t923 = _t925 + _t933 := p.parse_abort() + abort333 := _t933 + _t934 := &pb.Read{} + _t934.ReadType = &pb.Read_Abort{Abort: abort333} + _t932 = _t934 } else { - var _t926 *pb.Read + var _t935 *pb.Read if prediction329 == 2 { - _t927 := p.parse_what_if() - what_if332 := _t927 - _t928 := &pb.Read{} - _t928.ReadType = &pb.Read_WhatIf{WhatIf: what_if332} - _t926 = _t928 + _t936 := p.parse_what_if() + what_if332 := _t936 + _t937 := &pb.Read{} + _t937.ReadType = &pb.Read_WhatIf{WhatIf: what_if332} + _t935 = _t937 } else { - var _t929 *pb.Read + var _t938 *pb.Read if prediction329 == 1 { - _t930 := p.parse_output() - output331 := _t930 - _t931 := &pb.Read{} - _t931.ReadType = &pb.Read_Output{Output: output331} - _t929 = _t931 + _t939 := p.parse_output() + output331 := _t939 + _t940 := &pb.Read{} + _t940.ReadType = &pb.Read_Output{Output: output331} + _t938 = _t940 } else { - var _t932 *pb.Read + var _t941 *pb.Read if prediction329 == 0 { - _t933 := p.parse_demand() - demand330 := _t933 - _t934 := &pb.Read{} - _t934.ReadType = &pb.Read_Demand{Demand: demand330} - _t932 = _t934 + _t942 := p.parse_demand() + demand330 := _t942 + _t943 := &pb.Read{} + _t943.ReadType = &pb.Read_Demand{Demand: demand330} + _t941 = _t943 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in read", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t929 = _t932 + _t938 = _t941 } - _t926 = _t929 + _t935 = _t938 } - _t923 = _t926 + _t932 = _t935 } - _t920 = _t923 + _t929 = _t932 } - return _t920 + return _t929 } func (p *Parser) parse_demand() *pb.Demand { p.consumeLiteral("(") p.consumeLiteral("demand") - _t935 := p.parse_relation_id() - relation_id335 := _t935 + _t944 := p.parse_relation_id() + relation_id335 := _t944 p.consumeLiteral(")") - _t936 := &pb.Demand{RelationId: relation_id335} - return _t936 + _t945 := &pb.Demand{RelationId: relation_id335} + return _t945 } func (p *Parser) parse_output() *pb.Output { p.consumeLiteral("(") p.consumeLiteral("output") - _t937 := p.parse_name() - name336 := _t937 - _t938 := p.parse_relation_id() - relation_id337 := _t938 + _t946 := p.parse_name() + name336 := _t946 + _t947 := p.parse_relation_id() + relation_id337 := _t947 p.consumeLiteral(")") - _t939 := &pb.Output{Name: name336, RelationId: relation_id337} - return _t939 + _t948 := &pb.Output{Name: name336, RelationId: relation_id337} + return _t948 } func (p *Parser) parse_what_if() *pb.WhatIf { p.consumeLiteral("(") p.consumeLiteral("what_if") - _t940 := p.parse_name() - name338 := _t940 - _t941 := p.parse_epoch() - epoch339 := _t941 + _t949 := p.parse_name() + name338 := _t949 + _t950 := p.parse_epoch() + epoch339 := _t950 p.consumeLiteral(")") - _t942 := &pb.WhatIf{Branch: name338, Epoch: epoch339} - return _t942 + _t951 := &pb.WhatIf{Branch: name338, Epoch: epoch339} + return _t951 } func (p *Parser) parse_abort() *pb.Abort { p.consumeLiteral("(") p.consumeLiteral("abort") - var _t943 *string + var _t952 *string if (p.matchLookaheadLiteral(":", 0) && p.matchLookaheadTerminal("SYMBOL", 1)) { - _t944 := p.parse_name() - _t943 = ptr(_t944) + _t953 := p.parse_name() + _t952 = ptr(_t953) } - name340 := _t943 - _t945 := p.parse_relation_id() - relation_id341 := _t945 + name340 := _t952 + _t954 := p.parse_relation_id() + relation_id341 := _t954 p.consumeLiteral(")") - _t946 := &pb.Abort{Name: deref(name340, "abort"), RelationId: relation_id341} - return _t946 + _t955 := &pb.Abort{Name: deref(name340, "abort"), RelationId: relation_id341} + return _t955 } func (p *Parser) parse_export() *pb.Export { p.consumeLiteral("(") p.consumeLiteral("export") - _t947 := p.parse_export_csv_config() - export_csv_config342 := _t947 + _t956 := p.parse_export_csv_config() + export_csv_config342 := _t956 p.consumeLiteral(")") - _t948 := &pb.Export{} - _t948.ExportConfig = &pb.Export_CsvConfig{CsvConfig: export_csv_config342} - return _t948 + _t957 := &pb.Export{} + _t957.ExportConfig = &pb.Export_CsvConfig{CsvConfig: export_csv_config342} + return _t957 } func (p *Parser) parse_export_csv_config() *pb.ExportCSVConfig { - p.consumeLiteral("(") - p.consumeLiteral("export_csv_config") - _t949 := p.parse_export_csv_path() - export_csv_path343 := _t949 - _t950 := p.parse_export_csv_columns() - export_csv_columns344 := _t950 - _t951 := p.parse_config_dict() - config_dict345 := _t951 - p.consumeLiteral(")") - _t952 := p.export_csv_config(export_csv_path343, export_csv_columns344, config_dict345) - return _t952 + var _t958 int64 + if p.matchLookaheadLiteral("(", 0) { + var _t959 int64 + if p.matchLookaheadLiteral("export_csv_config_v2", 1) { + _t959 = 0 + } else { + var _t960 int64 + if p.matchLookaheadLiteral("export_csv_config", 1) { + _t960 = 1 + } else { + _t960 = -1 + } + _t959 = _t960 + } + _t958 = _t959 + } else { + _t958 = -1 + } + prediction343 := _t958 + var _t961 *pb.ExportCSVConfig + if prediction343 == 1 { + p.consumeLiteral("(") + p.consumeLiteral("export_csv_config") + _t962 := p.parse_export_csv_path() + export_csv_path347 := _t962 + p.consumeLiteral("(") + p.consumeLiteral("columns") + xs348 := []*pb.ExportCSVColumn{} + cond349 := p.matchLookaheadLiteral("(", 0) + for cond349 { + _t963 := p.parse_export_csv_column() + item350 := _t963 + xs348 = append(xs348, item350) + cond349 = p.matchLookaheadLiteral("(", 0) + } + export_csv_columns351 := xs348 + p.consumeLiteral(")") + _t964 := p.parse_config_dict() + config_dict352 := _t964 + p.consumeLiteral(")") + _t965 := p.construct_export_csv_config(export_csv_path347, export_csv_columns351, config_dict352) + _t961 = _t965 + } else { + var _t966 *pb.ExportCSVConfig + if prediction343 == 0 { + p.consumeLiteral("(") + p.consumeLiteral("export_csv_config_v2") + _t967 := p.parse_export_csv_path() + export_csv_path344 := _t967 + _t968 := p.parse_export_csv_source() + export_csv_source345 := _t968 + _t969 := p.parse_csv_config() + csv_config346 := _t969 + p.consumeLiteral(")") + _t970 := p.construct_export_csv_config_with_source(export_csv_path344, export_csv_source345, csv_config346) + _t966 = _t970 + } else { + panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in export_csv_config", p.lookahead(0).Type, p.lookahead(0).Value)}) + } + _t961 = _t966 + } + return _t961 } func (p *Parser) parse_export_csv_path() string { p.consumeLiteral("(") p.consumeLiteral("path") - string346 := p.consumeTerminal("STRING").Value.AsString() + string353 := p.consumeTerminal("STRING").Value.AsString() p.consumeLiteral(")") - return string346 + return string353 } -func (p *Parser) parse_export_csv_columns() []*pb.ExportCSVColumn { - p.consumeLiteral("(") - p.consumeLiteral("columns") - xs347 := []*pb.ExportCSVColumn{} - cond348 := p.matchLookaheadLiteral("(", 0) - for cond348 { - _t953 := p.parse_export_csv_column() - item349 := _t953 - xs347 = append(xs347, item349) - cond348 = p.matchLookaheadLiteral("(", 0) +func (p *Parser) parse_export_csv_source() *pb.ExportCSVSource { + var _t971 int64 + if p.matchLookaheadLiteral("(", 0) { + var _t972 int64 + if p.matchLookaheadLiteral("table_def", 1) { + _t972 = 1 + } else { + var _t973 int64 + if p.matchLookaheadLiteral("gnf_columns", 1) { + _t973 = 0 + } else { + _t973 = -1 + } + _t972 = _t973 + } + _t971 = _t972 + } else { + _t971 = -1 } - export_csv_columns350 := xs347 - p.consumeLiteral(")") - return export_csv_columns350 + prediction354 := _t971 + var _t974 *pb.ExportCSVSource + if prediction354 == 1 { + p.consumeLiteral("(") + p.consumeLiteral("table_def") + _t975 := p.parse_relation_id() + relation_id359 := _t975 + p.consumeLiteral(")") + _t976 := &pb.ExportCSVSource{} + _t976.CsvSource = &pb.ExportCSVSource_TableDef{TableDef: relation_id359} + _t974 = _t976 + } else { + var _t977 *pb.ExportCSVSource + if prediction354 == 0 { + p.consumeLiteral("(") + p.consumeLiteral("gnf_columns") + xs355 := []*pb.ExportCSVColumn{} + cond356 := p.matchLookaheadLiteral("(", 0) + for cond356 { + _t978 := p.parse_export_csv_column() + item357 := _t978 + xs355 = append(xs355, item357) + cond356 = p.matchLookaheadLiteral("(", 0) + } + export_csv_columns358 := xs355 + p.consumeLiteral(")") + _t979 := &pb.ExportCSVColumns{Columns: export_csv_columns358} + _t980 := &pb.ExportCSVSource{} + _t980.CsvSource = &pb.ExportCSVSource_GnfColumns{GnfColumns: _t979} + _t977 = _t980 + } else { + panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in export_csv_source", p.lookahead(0).Type, p.lookahead(0).Value)}) + } + _t974 = _t977 + } + return _t974 } func (p *Parser) parse_export_csv_column() *pb.ExportCSVColumn { p.consumeLiteral("(") p.consumeLiteral("column") - string351 := p.consumeTerminal("STRING").Value.AsString() - _t954 := p.parse_relation_id() - relation_id352 := _t954 + string360 := p.consumeTerminal("STRING").Value.AsString() + _t981 := p.parse_relation_id() + relation_id361 := _t981 p.consumeLiteral(")") - _t955 := &pb.ExportCSVColumn{ColumnName: string351, ColumnData: relation_id352} - return _t955 + _t982 := &pb.ExportCSVColumn{ColumnName: string360, ColumnData: relation_id361} + return _t982 } diff --git a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl index 0f5ec3a7..d4957b03 100644 --- a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl +++ b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl @@ -1,4 +1,4 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T12:11:07.999 +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T16:46:40.108 # original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/fragments.proto (proto3 syntax) import ProtoBuf as PB diff --git a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl index 987d75e4..43a8a3ad 100644 --- a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl +++ b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl @@ -1,4 +1,4 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T12:11:07.599 +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T16:46:39.694 # original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/logic.proto (proto3 syntax) import ProtoBuf as PB @@ -522,10 +522,11 @@ struct CSVConfig decimal_separator::String encoding::String compression::String + partition_size::Int64 end -CSVConfig(;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "") = CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings, decimal_separator, encoding, compression) -PB.default_values(::Type{CSVConfig}) = (;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "") -PB.field_numbers(::Type{CSVConfig}) = (;header_row = 1, skip = 2, new_line = 3, delimiter = 4, quotechar = 5, escapechar = 6, comment = 7, missing_strings = 8, decimal_separator = 9, encoding = 10, compression = 11) +CSVConfig(;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "", partition_size = zero(Int64)) = CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings, decimal_separator, encoding, compression, partition_size) +PB.default_values(::Type{CSVConfig}) = (;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "", partition_size = zero(Int64)) +PB.field_numbers(::Type{CSVConfig}) = (;header_row = 1, skip = 2, new_line = 3, delimiter = 4, quotechar = 5, escapechar = 6, comment = 7, missing_strings = 8, decimal_separator = 9, encoding = 10, compression = 11, partition_size = 12) function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:CSVConfig}) header_row = zero(Int32) @@ -539,6 +540,7 @@ function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:CSVConfig}) decimal_separator = "" encoding = "" compression = "" + partition_size = zero(Int64) while !PB.message_done(d) field_number, wire_type = PB.decode_tag(d) if field_number == 1 @@ -563,11 +565,13 @@ function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:CSVConfig}) encoding = PB.decode(d, String) elseif field_number == 11 compression = PB.decode(d, String) + elseif field_number == 12 + partition_size = PB.decode(d, Int64) else Base.skip(d, wire_type) end end - return CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings[], decimal_separator, encoding, compression) + return CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings[], decimal_separator, encoding, compression, partition_size) end function PB.encode(e::PB.AbstractProtoEncoder, x::CSVConfig) @@ -583,6 +587,7 @@ function PB.encode(e::PB.AbstractProtoEncoder, x::CSVConfig) !isempty(x.decimal_separator) && PB.encode(e, 9, x.decimal_separator) !isempty(x.encoding) && PB.encode(e, 10, x.encoding) !isempty(x.compression) && PB.encode(e, 11, x.compression) + x.partition_size != zero(Int64) && PB.encode(e, 12, x.partition_size) return position(e.io) - initpos end function PB._encoded_size(x::CSVConfig) @@ -598,6 +603,7 @@ function PB._encoded_size(x::CSVConfig) !isempty(x.decimal_separator) && (encoded_size += PB._encoded_size(x.decimal_separator, 9)) !isempty(x.encoding) && (encoded_size += PB._encoded_size(x.encoding, 10)) !isempty(x.compression) && (encoded_size += PB._encoded_size(x.compression, 11)) + x.partition_size != zero(Int64) && (encoded_size += PB._encoded_size(x.partition_size, 12)) return encoded_size end diff --git a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl index d1013bfc..92ac7b0e 100644 --- a/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl +++ b/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl @@ -1,4 +1,4 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T12:11:08 +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T16:46:40.108 # original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/transactions.proto (proto3 syntax) import ProtoBuf as PB diff --git a/julia/LogicalQueryProtocol/src/parser.jl b/julia/LogicalQueryProtocol/src/parser.jl index bdf40d77..b200b5b9 100644 --- a/julia/LogicalQueryProtocol/src/parser.jl +++ b/julia/LogicalQueryProtocol/src/parser.jl @@ -425,63 +425,65 @@ end function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.CSVConfig config = Dict(config_dict) - _t945 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) - header_row = _t945 - _t946 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) - skip = _t946 - _t947 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") - new_line = _t947 - _t948 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") - delimiter = _t948 - _t949 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") - quotechar = _t949 - _t950 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") - escapechar = _t950 - _t951 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") - comment = _t951 - _t952 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) - missing_strings = _t952 - _t953 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") - decimal_separator = _t953 - _t954 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") - encoding = _t954 - _t955 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") - compression = _t955 - _t956 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression) - return _t956 + _t972 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) + header_row = _t972 + _t973 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) + skip = _t973 + _t974 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") + new_line = _t974 + _t975 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") + delimiter = _t975 + _t976 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") + quotechar = _t976 + _t977 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") + escapechar = _t977 + _t978 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") + comment = _t978 + _t979 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) + missing_strings = _t979 + _t980 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") + decimal_separator = _t980 + _t981 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") + encoding = _t981 + _t982 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") + compression = _t982 + _t983 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) + partition_size = _t983 + _t984 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size=partition_size) + return _t984 end function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo config = Dict(config_dict) - _t957 = _try_extract_value_float64(parser, get(config, "betree_config_epsilon", nothing)) - epsilon = _t957 - _t958 = _try_extract_value_int64(parser, get(config, "betree_config_max_pivots", nothing)) - max_pivots = _t958 - _t959 = _try_extract_value_int64(parser, get(config, "betree_config_max_deltas", nothing)) - max_deltas = _t959 - _t960 = _try_extract_value_int64(parser, get(config, "betree_config_max_leaf", nothing)) - max_leaf = _t960 - _t961 = Proto.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t961 - _t962 = _try_extract_value_uint128(parser, get(config, "betree_locator_root_pageid", nothing)) - root_pageid = _t962 - _t963 = _try_extract_value_bytes(parser, get(config, "betree_locator_inline_data", nothing)) - inline_data = _t963 - _t964 = _try_extract_value_int64(parser, get(config, "betree_locator_element_count", nothing)) - element_count = _t964 - _t965 = _try_extract_value_int64(parser, get(config, "betree_locator_tree_height", nothing)) - tree_height = _t965 - _t966 = Proto.BeTreeLocator(location=(!isnothing(root_pageid) ? OneOf(:root_pageid, root_pageid) : (!isnothing(inline_data) ? OneOf(:inline_data, inline_data) : nothing)), element_count=element_count, tree_height=tree_height) - relation_locator = _t966 - _t967 = Proto.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t967 + _t985 = _try_extract_value_float64(parser, get(config, "betree_config_epsilon", nothing)) + epsilon = _t985 + _t986 = _try_extract_value_int64(parser, get(config, "betree_config_max_pivots", nothing)) + max_pivots = _t986 + _t987 = _try_extract_value_int64(parser, get(config, "betree_config_max_deltas", nothing)) + max_deltas = _t987 + _t988 = _try_extract_value_int64(parser, get(config, "betree_config_max_leaf", nothing)) + max_leaf = _t988 + _t989 = Proto.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t989 + _t990 = _try_extract_value_uint128(parser, get(config, "betree_locator_root_pageid", nothing)) + root_pageid = _t990 + _t991 = _try_extract_value_bytes(parser, get(config, "betree_locator_inline_data", nothing)) + inline_data = _t991 + _t992 = _try_extract_value_int64(parser, get(config, "betree_locator_element_count", nothing)) + element_count = _t992 + _t993 = _try_extract_value_int64(parser, get(config, "betree_locator_tree_height", nothing)) + tree_height = _t993 + _t994 = Proto.BeTreeLocator(location=(!isnothing(root_pageid) ? OneOf(:root_pageid, root_pageid) : (!isnothing(inline_data) ? OneOf(:inline_data, inline_data) : nothing)), element_count=element_count, tree_height=tree_height) + relation_locator = _t994 + _t995 = Proto.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) + return _t995 end function default_configure(parser::Parser)::Proto.Configure - _t968 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t968 - _t969 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) - return _t969 + _t996 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t996 + _t997 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) + return _t997 end function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.Configure @@ -503,62 +505,67 @@ function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, P end end end - _t970 = Proto.IVMConfig(level=maintenance_level) - ivm_config = _t970 - _t971 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) - semantics_version = _t971 - _t972 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t972 + _t998 = Proto.IVMConfig(level=maintenance_level) + ivm_config = _t998 + _t999 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) + semantics_version = _t999 + _t1000 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t1000 end -function export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig +function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig config = Dict(config_dict) - _t973 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) - partition_size = _t973 - _t974 = _extract_value_string(parser, get(config, "compression", nothing), "") - compression = _t974 - _t975 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) - syntax_header_row = _t975 - _t976 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") - syntax_missing_string = _t976 - _t977 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") - syntax_delim = _t977 - _t978 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") - syntax_quotechar = _t978 - _t979 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") - syntax_escapechar = _t979 - _t980 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t980 + _t1001 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) + partition_size = _t1001 + _t1002 = _extract_value_string(parser, get(config, "compression", nothing), "") + compression = _t1002 + _t1003 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) + syntax_header_row = _t1003 + _t1004 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") + syntax_missing_string = _t1004 + _t1005 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") + syntax_delim = _t1005 + _t1006 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") + syntax_quotechar = _t1006 + _t1007 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") + syntax_escapechar = _t1007 + _t1008 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t1008 +end + +function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Any, csv_config::Union{Nothing, Proto.CSVConfig})::Proto.ExportCSVConfig + _t1009 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t1009 end function _make_value_int32(parser::Parser, v::Int32)::Proto.Value - _t981 = Proto.Value(value=OneOf(:int_value, Int64(v))) - return _t981 + _t1010 = Proto.Value(value=OneOf(:int_value, Int64(v))) + return _t1010 end function _make_value_int64(parser::Parser, v::Int64)::Proto.Value - _t982 = Proto.Value(value=OneOf(:int_value, v)) - return _t982 + _t1011 = Proto.Value(value=OneOf(:int_value, v)) + return _t1011 end function _make_value_float64(parser::Parser, v::Float64)::Proto.Value - _t983 = Proto.Value(value=OneOf(:float_value, v)) - return _t983 + _t1012 = Proto.Value(value=OneOf(:float_value, v)) + return _t1012 end function _make_value_string(parser::Parser, v::String)::Proto.Value - _t984 = Proto.Value(value=OneOf(:string_value, v)) - return _t984 + _t1013 = Proto.Value(value=OneOf(:string_value, v)) + return _t1013 end function _make_value_boolean(parser::Parser, v::Bool)::Proto.Value - _t985 = Proto.Value(value=OneOf(:boolean_value, v)) - return _t985 + _t1014 = Proto.Value(value=OneOf(:boolean_value, v)) + return _t1014 end function _make_value_uint128(parser::Parser, v::Proto.UInt128Value)::Proto.Value - _t986 = Proto.Value(value=OneOf(:uint128_value, v)) - return _t986 + _t1015 = Proto.Value(value=OneOf(:uint128_value, v)) + return _t1015 end function is_default_configure(parser::Parser, cfg::Proto.Configure)::Bool @@ -574,115 +581,119 @@ end function deconstruct_configure(parser::Parser, msg::Proto.Configure)::Vector{Tuple{String, Proto.Value}} result = Tuple{String, Proto.Value}[] if msg.ivm_config.level == Proto.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO - _t987 = _make_value_string(parser, "auto") - push!(result, ("ivm.maintenance_level", _t987,)) + _t1016 = _make_value_string(parser, "auto") + push!(result, ("ivm.maintenance_level", _t1016,)) else if msg.ivm_config.level == Proto.MaintenanceLevel.MAINTENANCE_LEVEL_ALL - _t988 = _make_value_string(parser, "all") - push!(result, ("ivm.maintenance_level", _t988,)) + _t1017 = _make_value_string(parser, "all") + push!(result, ("ivm.maintenance_level", _t1017,)) else if msg.ivm_config.level == Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - _t989 = _make_value_string(parser, "off") - push!(result, ("ivm.maintenance_level", _t989,)) + _t1018 = _make_value_string(parser, "off") + push!(result, ("ivm.maintenance_level", _t1018,)) end end end - _t990 = _make_value_int64(parser, msg.semantics_version) - push!(result, ("semantics_version", _t990,)) + _t1019 = _make_value_int64(parser, msg.semantics_version) + push!(result, ("semantics_version", _t1019,)) return sort(result) end function deconstruct_csv_config(parser::Parser, msg::Proto.CSVConfig)::Vector{Tuple{String, Proto.Value}} result = Tuple{String, Proto.Value}[] - _t991 = _make_value_int32(parser, msg.header_row) - push!(result, ("csv_header_row", _t991,)) - _t992 = _make_value_int64(parser, msg.skip) - push!(result, ("csv_skip", _t992,)) + _t1020 = _make_value_int32(parser, msg.header_row) + push!(result, ("csv_header_row", _t1020,)) + _t1021 = _make_value_int64(parser, msg.skip) + push!(result, ("csv_skip", _t1021,)) if msg.new_line != "" - _t993 = _make_value_string(parser, msg.new_line) - push!(result, ("csv_new_line", _t993,)) - end - _t994 = _make_value_string(parser, msg.delimiter) - push!(result, ("csv_delimiter", _t994,)) - _t995 = _make_value_string(parser, msg.quotechar) - push!(result, ("csv_quotechar", _t995,)) - _t996 = _make_value_string(parser, msg.escapechar) - push!(result, ("csv_escapechar", _t996,)) + _t1022 = _make_value_string(parser, msg.new_line) + push!(result, ("csv_new_line", _t1022,)) + end + _t1023 = _make_value_string(parser, msg.delimiter) + push!(result, ("csv_delimiter", _t1023,)) + _t1024 = _make_value_string(parser, msg.quotechar) + push!(result, ("csv_quotechar", _t1024,)) + _t1025 = _make_value_string(parser, msg.escapechar) + push!(result, ("csv_escapechar", _t1025,)) if msg.comment != "" - _t997 = _make_value_string(parser, msg.comment) - push!(result, ("csv_comment", _t997,)) + _t1026 = _make_value_string(parser, msg.comment) + push!(result, ("csv_comment", _t1026,)) end for missing_string in msg.missing_strings - _t998 = _make_value_string(parser, missing_string) - push!(result, ("csv_missing_strings", _t998,)) - end - _t999 = _make_value_string(parser, msg.decimal_separator) - push!(result, ("csv_decimal_separator", _t999,)) - _t1000 = _make_value_string(parser, msg.encoding) - push!(result, ("csv_encoding", _t1000,)) - _t1001 = _make_value_string(parser, msg.compression) - push!(result, ("csv_compression", _t1001,)) + _t1027 = _make_value_string(parser, missing_string) + push!(result, ("csv_missing_strings", _t1027,)) + end + _t1028 = _make_value_string(parser, msg.decimal_separator) + push!(result, ("csv_decimal_separator", _t1028,)) + _t1029 = _make_value_string(parser, msg.encoding) + push!(result, ("csv_encoding", _t1029,)) + _t1030 = _make_value_string(parser, msg.compression) + push!(result, ("csv_compression", _t1030,)) + if msg.partition_size != 0 + _t1031 = _make_value_int64(parser, msg.partition_size) + push!(result, ("csv_partition_size", _t1031,)) + end return sort(result) end function deconstruct_betree_info_config(parser::Parser, msg::Proto.BeTreeInfo)::Vector{Tuple{String, Proto.Value}} result = Tuple{String, Proto.Value}[] - _t1002 = _make_value_float64(parser, msg.storage_config.epsilon) - push!(result, ("betree_config_epsilon", _t1002,)) - _t1003 = _make_value_int64(parser, msg.storage_config.max_pivots) - push!(result, ("betree_config_max_pivots", _t1003,)) - _t1004 = _make_value_int64(parser, msg.storage_config.max_deltas) - push!(result, ("betree_config_max_deltas", _t1004,)) - _t1005 = _make_value_int64(parser, msg.storage_config.max_leaf) - push!(result, ("betree_config_max_leaf", _t1005,)) + _t1032 = _make_value_float64(parser, msg.storage_config.epsilon) + push!(result, ("betree_config_epsilon", _t1032,)) + _t1033 = _make_value_int64(parser, msg.storage_config.max_pivots) + push!(result, ("betree_config_max_pivots", _t1033,)) + _t1034 = _make_value_int64(parser, msg.storage_config.max_deltas) + push!(result, ("betree_config_max_deltas", _t1034,)) + _t1035 = _make_value_int64(parser, msg.storage_config.max_leaf) + push!(result, ("betree_config_max_leaf", _t1035,)) if _has_proto_field(msg.relation_locator, Symbol("root_pageid")) if !isnothing(_get_oneof_field(msg.relation_locator, :root_pageid)) - _t1006 = _make_value_uint128(parser, _get_oneof_field(msg.relation_locator, :root_pageid)) - push!(result, ("betree_locator_root_pageid", _t1006,)) + _t1036 = _make_value_uint128(parser, _get_oneof_field(msg.relation_locator, :root_pageid)) + push!(result, ("betree_locator_root_pageid", _t1036,)) end end if _has_proto_field(msg.relation_locator, Symbol("inline_data")) if !isnothing(_get_oneof_field(msg.relation_locator, :inline_data)) - _t1007 = _make_value_string(parser, String(_get_oneof_field(msg.relation_locator, :inline_data))) - push!(result, ("betree_locator_inline_data", _t1007,)) + _t1037 = _make_value_string(parser, String(_get_oneof_field(msg.relation_locator, :inline_data))) + push!(result, ("betree_locator_inline_data", _t1037,)) end end - _t1008 = _make_value_int64(parser, msg.relation_locator.element_count) - push!(result, ("betree_locator_element_count", _t1008,)) - _t1009 = _make_value_int64(parser, msg.relation_locator.tree_height) - push!(result, ("betree_locator_tree_height", _t1009,)) + _t1038 = _make_value_int64(parser, msg.relation_locator.element_count) + push!(result, ("betree_locator_element_count", _t1038,)) + _t1039 = _make_value_int64(parser, msg.relation_locator.tree_height) + push!(result, ("betree_locator_tree_height", _t1039,)) return sort(result) end function deconstruct_export_csv_config(parser::Parser, msg::Proto.ExportCSVConfig)::Vector{Tuple{String, Proto.Value}} result = Tuple{String, Proto.Value}[] if !isnothing(msg.partition_size) - _t1010 = _make_value_int64(parser, msg.partition_size) - push!(result, ("partition_size", _t1010,)) + _t1040 = _make_value_int64(parser, msg.partition_size) + push!(result, ("partition_size", _t1040,)) end if !isnothing(msg.compression) - _t1011 = _make_value_string(parser, msg.compression) - push!(result, ("compression", _t1011,)) + _t1041 = _make_value_string(parser, msg.compression) + push!(result, ("compression", _t1041,)) end if !isnothing(msg.syntax_header_row) - _t1012 = _make_value_boolean(parser, msg.syntax_header_row) - push!(result, ("syntax_header_row", _t1012,)) + _t1042 = _make_value_boolean(parser, msg.syntax_header_row) + push!(result, ("syntax_header_row", _t1042,)) end if !isnothing(msg.syntax_missing_string) - _t1013 = _make_value_string(parser, msg.syntax_missing_string) - push!(result, ("syntax_missing_string", _t1013,)) + _t1043 = _make_value_string(parser, msg.syntax_missing_string) + push!(result, ("syntax_missing_string", _t1043,)) end if !isnothing(msg.syntax_delim) - _t1014 = _make_value_string(parser, msg.syntax_delim) - push!(result, ("syntax_delim", _t1014,)) + _t1044 = _make_value_string(parser, msg.syntax_delim) + push!(result, ("syntax_delim", _t1044,)) end if !isnothing(msg.syntax_quotechar) - _t1015 = _make_value_string(parser, msg.syntax_quotechar) - push!(result, ("syntax_quotechar", _t1015,)) + _t1045 = _make_value_string(parser, msg.syntax_quotechar) + push!(result, ("syntax_quotechar", _t1045,)) end if !isnothing(msg.syntax_escapechar) - _t1016 = _make_value_string(parser, msg.syntax_escapechar) - push!(result, ("syntax_escapechar", _t1016,)) + _t1046 = _make_value_string(parser, msg.syntax_escapechar) + push!(result, ("syntax_escapechar", _t1046,)) end return sort(result) end @@ -721,43 +732,43 @@ function parse_transaction(parser::Parser)::Proto.Transaction consume_literal!(parser, "transaction") if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "configure", 1)) - _t354 = parse_configure(parser) - _t353 = _t354 + _t363 = parse_configure(parser) + _t362 = _t363 else - _t353 = nothing + _t362 = nothing end - configure0 = _t353 + configure0 = _t362 if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "sync", 1)) - _t356 = parse_sync(parser) - _t355 = _t356 + _t365 = parse_sync(parser) + _t364 = _t365 else - _t355 = nothing + _t364 = nothing end - sync1 = _t355 + sync1 = _t364 xs2 = Proto.Epoch[] cond3 = match_lookahead_literal(parser, "(", 0) while cond3 - _t357 = parse_epoch(parser) - item4 = _t357 + _t366 = parse_epoch(parser) + item4 = _t366 push!(xs2, item4) cond3 = match_lookahead_literal(parser, "(", 0) end epochs5 = xs2 consume_literal!(parser, ")") - _t358 = default_configure(parser) - _t359 = Proto.Transaction(epochs=epochs5, configure=(!isnothing(configure0) ? configure0 : _t358), sync=sync1) - return _t359 + _t367 = default_configure(parser) + _t368 = Proto.Transaction(epochs=epochs5, configure=(!isnothing(configure0) ? configure0 : _t367), sync=sync1) + return _t368 end function parse_configure(parser::Parser)::Proto.Configure consume_literal!(parser, "(") consume_literal!(parser, "configure") - _t360 = parse_config_dict(parser) - config_dict6 = _t360 + _t369 = parse_config_dict(parser) + config_dict6 = _t369 consume_literal!(parser, ")") - _t361 = construct_configure(parser, config_dict6) - return _t361 + _t370 = construct_configure(parser, config_dict6) + return _t370 end function parse_config_dict(parser::Parser)::Vector{Tuple{String, Proto.Value}} @@ -765,8 +776,8 @@ function parse_config_dict(parser::Parser)::Vector{Tuple{String, Proto.Value}} xs7 = Tuple{String, Proto.Value}[] cond8 = match_lookahead_literal(parser, ":", 0) while cond8 - _t362 = parse_config_key_value(parser) - item9 = _t362 + _t371 = parse_config_key_value(parser) + item9 = _t371 push!(xs7, item9) cond8 = match_lookahead_literal(parser, ":", 0) end @@ -778,170 +789,170 @@ end function parse_config_key_value(parser::Parser)::Tuple{String, Proto.Value} consume_literal!(parser, ":") symbol11 = consume_terminal!(parser, "SYMBOL") - _t363 = parse_value(parser) - value12 = _t363 + _t372 = parse_value(parser) + value12 = _t372 return (symbol11, value12,) end function parse_value(parser::Parser)::Proto.Value if match_lookahead_literal(parser, "true", 0) - _t364 = 9 + _t373 = 9 else if match_lookahead_literal(parser, "missing", 0) - _t365 = 8 + _t374 = 8 else if match_lookahead_literal(parser, "false", 0) - _t366 = 9 + _t375 = 9 else if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "datetime", 1) - _t368 = 1 + _t377 = 1 else if match_lookahead_literal(parser, "date", 1) - _t369 = 0 + _t378 = 0 else - _t369 = -1 + _t378 = -1 end - _t368 = _t369 + _t377 = _t378 end - _t367 = _t368 + _t376 = _t377 else if match_lookahead_terminal(parser, "UINT128", 0) - _t370 = 5 + _t379 = 5 else if match_lookahead_terminal(parser, "STRING", 0) - _t371 = 2 + _t380 = 2 else if match_lookahead_terminal(parser, "INT128", 0) - _t372 = 6 + _t381 = 6 else if match_lookahead_terminal(parser, "INT", 0) - _t373 = 3 + _t382 = 3 else if match_lookahead_terminal(parser, "FLOAT", 0) - _t374 = 4 + _t383 = 4 else if match_lookahead_terminal(parser, "DECIMAL", 0) - _t375 = 7 + _t384 = 7 else - _t375 = -1 + _t384 = -1 end - _t374 = _t375 + _t383 = _t384 end - _t373 = _t374 + _t382 = _t383 end - _t372 = _t373 + _t381 = _t382 end - _t371 = _t372 + _t380 = _t381 end - _t370 = _t371 + _t379 = _t380 end - _t367 = _t370 + _t376 = _t379 end - _t366 = _t367 + _t375 = _t376 end - _t365 = _t366 + _t374 = _t375 end - _t364 = _t365 + _t373 = _t374 end - prediction13 = _t364 + prediction13 = _t373 if prediction13 == 9 - _t377 = parse_boolean_value(parser) - boolean_value22 = _t377 - _t378 = Proto.Value(value=OneOf(:boolean_value, boolean_value22)) - _t376 = _t378 + _t386 = parse_boolean_value(parser) + boolean_value22 = _t386 + _t387 = Proto.Value(value=OneOf(:boolean_value, boolean_value22)) + _t385 = _t387 else if prediction13 == 8 consume_literal!(parser, "missing") - _t380 = Proto.MissingValue() - _t381 = Proto.Value(value=OneOf(:missing_value, _t380)) - _t379 = _t381 + _t389 = Proto.MissingValue() + _t390 = Proto.Value(value=OneOf(:missing_value, _t389)) + _t388 = _t390 else if prediction13 == 7 decimal21 = consume_terminal!(parser, "DECIMAL") - _t383 = Proto.Value(value=OneOf(:decimal_value, decimal21)) - _t382 = _t383 + _t392 = Proto.Value(value=OneOf(:decimal_value, decimal21)) + _t391 = _t392 else if prediction13 == 6 int12820 = consume_terminal!(parser, "INT128") - _t385 = Proto.Value(value=OneOf(:int128_value, int12820)) - _t384 = _t385 + _t394 = Proto.Value(value=OneOf(:int128_value, int12820)) + _t393 = _t394 else if prediction13 == 5 uint12819 = consume_terminal!(parser, "UINT128") - _t387 = Proto.Value(value=OneOf(:uint128_value, uint12819)) - _t386 = _t387 + _t396 = Proto.Value(value=OneOf(:uint128_value, uint12819)) + _t395 = _t396 else if prediction13 == 4 float18 = consume_terminal!(parser, "FLOAT") - _t389 = Proto.Value(value=OneOf(:float_value, float18)) - _t388 = _t389 + _t398 = Proto.Value(value=OneOf(:float_value, float18)) + _t397 = _t398 else if prediction13 == 3 int17 = consume_terminal!(parser, "INT") - _t391 = Proto.Value(value=OneOf(:int_value, int17)) - _t390 = _t391 + _t400 = Proto.Value(value=OneOf(:int_value, int17)) + _t399 = _t400 else if prediction13 == 2 string16 = consume_terminal!(parser, "STRING") - _t393 = Proto.Value(value=OneOf(:string_value, string16)) - _t392 = _t393 + _t402 = Proto.Value(value=OneOf(:string_value, string16)) + _t401 = _t402 else if prediction13 == 1 - _t395 = parse_datetime(parser) - datetime15 = _t395 - _t396 = Proto.Value(value=OneOf(:datetime_value, datetime15)) - _t394 = _t396 + _t404 = parse_datetime(parser) + datetime15 = _t404 + _t405 = Proto.Value(value=OneOf(:datetime_value, datetime15)) + _t403 = _t405 else if prediction13 == 0 - _t398 = parse_date(parser) - date14 = _t398 - _t399 = Proto.Value(value=OneOf(:date_value, date14)) - _t397 = _t399 + _t407 = parse_date(parser) + date14 = _t407 + _t408 = Proto.Value(value=OneOf(:date_value, date14)) + _t406 = _t408 else throw(ParseError("Unexpected token in value" * ": " * string(lookahead(parser, 0)))) end - _t394 = _t397 + _t403 = _t406 end - _t392 = _t394 + _t401 = _t403 end - _t390 = _t392 + _t399 = _t401 end - _t388 = _t390 + _t397 = _t399 end - _t386 = _t388 + _t395 = _t397 end - _t384 = _t386 + _t393 = _t395 end - _t382 = _t384 + _t391 = _t393 end - _t379 = _t382 + _t388 = _t391 end - _t376 = _t379 + _t385 = _t388 end - return _t376 + return _t385 end function parse_date(parser::Parser)::Proto.DateValue @@ -951,8 +962,8 @@ function parse_date(parser::Parser)::Proto.DateValue int_324 = consume_terminal!(parser, "INT") int_425 = consume_terminal!(parser, "INT") consume_literal!(parser, ")") - _t400 = Proto.DateValue(year=Int32(int23), month=Int32(int_324), day=Int32(int_425)) - return _t400 + _t409 = Proto.DateValue(year=Int32(int23), month=Int32(int_324), day=Int32(int_425)) + return _t409 end function parse_datetime(parser::Parser)::Proto.DateTimeValue @@ -966,45 +977,45 @@ function parse_datetime(parser::Parser)::Proto.DateTimeValue int_731 = consume_terminal!(parser, "INT") if match_lookahead_terminal(parser, "INT", 0) - _t401 = consume_terminal!(parser, "INT") + _t410 = consume_terminal!(parser, "INT") else - _t401 = nothing + _t410 = nothing end - int_832 = _t401 + int_832 = _t410 consume_literal!(parser, ")") - _t402 = Proto.DateTimeValue(year=Int32(int26), month=Int32(int_327), day=Int32(int_428), hour=Int32(int_529), minute=Int32(int_630), second=Int32(int_731), microsecond=Int32((!isnothing(int_832) ? int_832 : 0))) - return _t402 + _t411 = Proto.DateTimeValue(year=Int32(int26), month=Int32(int_327), day=Int32(int_428), hour=Int32(int_529), minute=Int32(int_630), second=Int32(int_731), microsecond=Int32((!isnothing(int_832) ? int_832 : 0))) + return _t411 end function parse_boolean_value(parser::Parser)::Bool if match_lookahead_literal(parser, "true", 0) - _t403 = 0 + _t412 = 0 else if match_lookahead_literal(parser, "false", 0) - _t404 = 1 + _t413 = 1 else - _t404 = -1 + _t413 = -1 end - _t403 = _t404 + _t412 = _t413 end - prediction33 = _t403 + prediction33 = _t412 if prediction33 == 1 consume_literal!(parser, "false") - _t405 = false + _t414 = false else if prediction33 == 0 consume_literal!(parser, "true") - _t406 = true + _t415 = true else throw(ParseError("Unexpected token in boolean_value" * ": " * string(lookahead(parser, 0)))) end - _t405 = _t406 + _t414 = _t415 end - return _t405 + return _t414 end function parse_sync(parser::Parser)::Proto.Sync @@ -1013,15 +1024,15 @@ function parse_sync(parser::Parser)::Proto.Sync xs34 = Proto.FragmentId[] cond35 = match_lookahead_literal(parser, ":", 0) while cond35 - _t407 = parse_fragment_id(parser) - item36 = _t407 + _t416 = parse_fragment_id(parser) + item36 = _t416 push!(xs34, item36) cond35 = match_lookahead_literal(parser, ":", 0) end fragment_ids37 = xs34 consume_literal!(parser, ")") - _t408 = Proto.Sync(fragments=fragment_ids37) - return _t408 + _t417 = Proto.Sync(fragments=fragment_ids37) + return _t417 end function parse_fragment_id(parser::Parser)::Proto.FragmentId @@ -1035,23 +1046,23 @@ function parse_epoch(parser::Parser)::Proto.Epoch consume_literal!(parser, "epoch") if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "writes", 1)) - _t410 = parse_epoch_writes(parser) - _t409 = _t410 + _t419 = parse_epoch_writes(parser) + _t418 = _t419 else - _t409 = nothing + _t418 = nothing end - epoch_writes39 = _t409 + epoch_writes39 = _t418 if match_lookahead_literal(parser, "(", 0) - _t412 = parse_epoch_reads(parser) - _t411 = _t412 + _t421 = parse_epoch_reads(parser) + _t420 = _t421 else - _t411 = nothing + _t420 = nothing end - epoch_reads40 = _t411 + epoch_reads40 = _t420 consume_literal!(parser, ")") - _t413 = Proto.Epoch(writes=(!isnothing(epoch_writes39) ? epoch_writes39 : Proto.Write[]), reads=(!isnothing(epoch_reads40) ? epoch_reads40 : Proto.Read[])) - return _t413 + _t422 = Proto.Epoch(writes=(!isnothing(epoch_writes39) ? epoch_writes39 : Proto.Write[]), reads=(!isnothing(epoch_reads40) ? epoch_reads40 : Proto.Read[])) + return _t422 end function parse_epoch_writes(parser::Parser)::Vector{Proto.Write} @@ -1060,8 +1071,8 @@ function parse_epoch_writes(parser::Parser)::Vector{Proto.Write} xs41 = Proto.Write[] cond42 = match_lookahead_literal(parser, "(", 0) while cond42 - _t414 = parse_write(parser) - item43 = _t414 + _t423 = parse_write(parser) + item43 = _t423 push!(xs41, item43) cond42 = match_lookahead_literal(parser, "(", 0) end @@ -1075,77 +1086,77 @@ function parse_write(parser::Parser)::Proto.Write if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "undefine", 1) - _t416 = 1 + _t425 = 1 else if match_lookahead_literal(parser, "define", 1) - _t417 = 0 + _t426 = 0 else if match_lookahead_literal(parser, "context", 1) - _t418 = 2 + _t427 = 2 else - _t418 = -1 + _t427 = -1 end - _t417 = _t418 + _t426 = _t427 end - _t416 = _t417 + _t425 = _t426 end - _t415 = _t416 + _t424 = _t425 else - _t415 = -1 + _t424 = -1 end - prediction45 = _t415 + prediction45 = _t424 if prediction45 == 2 - _t420 = parse_context(parser) - context48 = _t420 - _t421 = Proto.Write(write_type=OneOf(:context, context48)) - _t419 = _t421 + _t429 = parse_context(parser) + context48 = _t429 + _t430 = Proto.Write(write_type=OneOf(:context, context48)) + _t428 = _t430 else if prediction45 == 1 - _t423 = parse_undefine(parser) - undefine47 = _t423 - _t424 = Proto.Write(write_type=OneOf(:undefine, undefine47)) - _t422 = _t424 + _t432 = parse_undefine(parser) + undefine47 = _t432 + _t433 = Proto.Write(write_type=OneOf(:undefine, undefine47)) + _t431 = _t433 else if prediction45 == 0 - _t426 = parse_define(parser) - define46 = _t426 - _t427 = Proto.Write(write_type=OneOf(:define, define46)) - _t425 = _t427 + _t435 = parse_define(parser) + define46 = _t435 + _t436 = Proto.Write(write_type=OneOf(:define, define46)) + _t434 = _t436 else throw(ParseError("Unexpected token in write" * ": " * string(lookahead(parser, 0)))) end - _t422 = _t425 + _t431 = _t434 end - _t419 = _t422 + _t428 = _t431 end - return _t419 + return _t428 end function parse_define(parser::Parser)::Proto.Define consume_literal!(parser, "(") consume_literal!(parser, "define") - _t428 = parse_fragment(parser) - fragment49 = _t428 + _t437 = parse_fragment(parser) + fragment49 = _t437 consume_literal!(parser, ")") - _t429 = Proto.Define(fragment=fragment49) - return _t429 + _t438 = Proto.Define(fragment=fragment49) + return _t438 end function parse_fragment(parser::Parser)::Proto.Fragment consume_literal!(parser, "(") consume_literal!(parser, "fragment") - _t430 = parse_new_fragment_id(parser) - new_fragment_id50 = _t430 + _t439 = parse_new_fragment_id(parser) + new_fragment_id50 = _t439 xs51 = Proto.Declaration[] cond52 = match_lookahead_literal(parser, "(", 0) while cond52 - _t431 = parse_declaration(parser) - item53 = _t431 + _t440 = parse_declaration(parser) + item53 = _t440 push!(xs51, item53) cond52 = match_lookahead_literal(parser, "(", 0) end @@ -1155,8 +1166,8 @@ function parse_fragment(parser::Parser)::Proto.Fragment end function parse_new_fragment_id(parser::Parser)::Proto.FragmentId - _t432 = parse_fragment_id(parser) - fragment_id55 = _t432 + _t441 = parse_fragment_id(parser) + fragment_id55 = _t441 start_fragment!(parser, fragment_id55) return fragment_id55 end @@ -1166,145 +1177,145 @@ function parse_declaration(parser::Parser)::Proto.Declaration if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "rel_edb", 1) - _t434 = 3 + _t443 = 3 else if match_lookahead_literal(parser, "functional_dependency", 1) - _t435 = 2 + _t444 = 2 else if match_lookahead_literal(parser, "def", 1) - _t436 = 0 + _t445 = 0 else if match_lookahead_literal(parser, "csv_data", 1) - _t437 = 3 + _t446 = 3 else if match_lookahead_literal(parser, "betree_relation", 1) - _t438 = 3 + _t447 = 3 else if match_lookahead_literal(parser, "algorithm", 1) - _t439 = 1 + _t448 = 1 else - _t439 = -1 + _t448 = -1 end - _t438 = _t439 + _t447 = _t448 end - _t437 = _t438 + _t446 = _t447 end - _t436 = _t437 + _t445 = _t446 end - _t435 = _t436 + _t444 = _t445 end - _t434 = _t435 + _t443 = _t444 end - _t433 = _t434 + _t442 = _t443 else - _t433 = -1 + _t442 = -1 end - prediction56 = _t433 + prediction56 = _t442 if prediction56 == 3 - _t441 = parse_data(parser) - data60 = _t441 - _t442 = Proto.Declaration(declaration_type=OneOf(:data, data60)) - _t440 = _t442 + _t450 = parse_data(parser) + data60 = _t450 + _t451 = Proto.Declaration(declaration_type=OneOf(:data, data60)) + _t449 = _t451 else if prediction56 == 2 - _t444 = parse_constraint(parser) - constraint59 = _t444 - _t445 = Proto.Declaration(declaration_type=OneOf(:constraint, constraint59)) - _t443 = _t445 + _t453 = parse_constraint(parser) + constraint59 = _t453 + _t454 = Proto.Declaration(declaration_type=OneOf(:constraint, constraint59)) + _t452 = _t454 else if prediction56 == 1 - _t447 = parse_algorithm(parser) - algorithm58 = _t447 - _t448 = Proto.Declaration(declaration_type=OneOf(:algorithm, algorithm58)) - _t446 = _t448 + _t456 = parse_algorithm(parser) + algorithm58 = _t456 + _t457 = Proto.Declaration(declaration_type=OneOf(:algorithm, algorithm58)) + _t455 = _t457 else if prediction56 == 0 - _t450 = parse_def(parser) - def57 = _t450 - _t451 = Proto.Declaration(declaration_type=OneOf(:def, def57)) - _t449 = _t451 + _t459 = parse_def(parser) + def57 = _t459 + _t460 = Proto.Declaration(declaration_type=OneOf(:def, def57)) + _t458 = _t460 else throw(ParseError("Unexpected token in declaration" * ": " * string(lookahead(parser, 0)))) end - _t446 = _t449 + _t455 = _t458 end - _t443 = _t446 + _t452 = _t455 end - _t440 = _t443 + _t449 = _t452 end - return _t440 + return _t449 end function parse_def(parser::Parser)::Proto.Def consume_literal!(parser, "(") consume_literal!(parser, "def") - _t452 = parse_relation_id(parser) - relation_id61 = _t452 - _t453 = parse_abstraction(parser) - abstraction62 = _t453 + _t461 = parse_relation_id(parser) + relation_id61 = _t461 + _t462 = parse_abstraction(parser) + abstraction62 = _t462 if match_lookahead_literal(parser, "(", 0) - _t455 = parse_attrs(parser) - _t454 = _t455 + _t464 = parse_attrs(parser) + _t463 = _t464 else - _t454 = nothing + _t463 = nothing end - attrs63 = _t454 + attrs63 = _t463 consume_literal!(parser, ")") - _t456 = Proto.Def(name=relation_id61, body=abstraction62, attrs=(!isnothing(attrs63) ? attrs63 : Proto.Attribute[])) - return _t456 + _t465 = Proto.Def(name=relation_id61, body=abstraction62, attrs=(!isnothing(attrs63) ? attrs63 : Proto.Attribute[])) + return _t465 end function parse_relation_id(parser::Parser)::Proto.RelationId if match_lookahead_literal(parser, ":", 0) - _t457 = 0 + _t466 = 0 else if match_lookahead_terminal(parser, "UINT128", 0) - _t458 = 1 + _t467 = 1 else - _t458 = -1 + _t467 = -1 end - _t457 = _t458 + _t466 = _t467 end - prediction64 = _t457 + prediction64 = _t466 if prediction64 == 1 uint12866 = consume_terminal!(parser, "UINT128") - _t459 = Proto.RelationId(uint12866.low, uint12866.high) + _t468 = Proto.RelationId(uint12866.low, uint12866.high) else if prediction64 == 0 consume_literal!(parser, ":") symbol65 = consume_terminal!(parser, "SYMBOL") - _t460 = relation_id_from_string(parser, symbol65) + _t469 = relation_id_from_string(parser, symbol65) else throw(ParseError("Unexpected token in relation_id" * ": " * string(lookahead(parser, 0)))) end - _t459 = _t460 + _t468 = _t469 end - return _t459 + return _t468 end function parse_abstraction(parser::Parser)::Proto.Abstraction consume_literal!(parser, "(") - _t461 = parse_bindings(parser) - bindings67 = _t461 - _t462 = parse_formula(parser) - formula68 = _t462 + _t470 = parse_bindings(parser) + bindings67 = _t470 + _t471 = parse_formula(parser) + formula68 = _t471 consume_literal!(parser, ")") - _t463 = Proto.Abstraction(vars=vcat(bindings67[1], !isnothing(bindings67[2]) ? bindings67[2] : []), value=formula68) - return _t463 + _t472 = Proto.Abstraction(vars=vcat(bindings67[1], !isnothing(bindings67[2]) ? bindings67[2] : []), value=formula68) + return _t472 end function parse_bindings(parser::Parser)::Tuple{Vector{Proto.Binding}, Vector{Proto.Binding}} @@ -1312,20 +1323,20 @@ function parse_bindings(parser::Parser)::Tuple{Vector{Proto.Binding}, Vector{Pro xs69 = Proto.Binding[] cond70 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond70 - _t464 = parse_binding(parser) - item71 = _t464 + _t473 = parse_binding(parser) + item71 = _t473 push!(xs69, item71) cond70 = match_lookahead_terminal(parser, "SYMBOL", 0) end bindings72 = xs69 if match_lookahead_literal(parser, "|", 0) - _t466 = parse_value_bindings(parser) - _t465 = _t466 + _t475 = parse_value_bindings(parser) + _t474 = _t475 else - _t465 = nothing + _t474 = nothing end - value_bindings73 = _t465 + value_bindings73 = _t474 consume_literal!(parser, "]") return (bindings72, (!isnothing(value_bindings73) ? value_bindings73 : Proto.Binding[]),) end @@ -1333,235 +1344,235 @@ end function parse_binding(parser::Parser)::Proto.Binding symbol74 = consume_terminal!(parser, "SYMBOL") consume_literal!(parser, "::") - _t467 = parse_type(parser) - type75 = _t467 - _t468 = Proto.Var(name=symbol74) - _t469 = Proto.Binding(var=_t468, var"#type"=type75) - return _t469 + _t476 = parse_type(parser) + type75 = _t476 + _t477 = Proto.Var(name=symbol74) + _t478 = Proto.Binding(var=_t477, var"#type"=type75) + return _t478 end function parse_type(parser::Parser)::Proto.var"#Type" if match_lookahead_literal(parser, "UNKNOWN", 0) - _t470 = 0 + _t479 = 0 else if match_lookahead_literal(parser, "UINT128", 0) - _t471 = 4 + _t480 = 4 else if match_lookahead_literal(parser, "STRING", 0) - _t472 = 1 + _t481 = 1 else if match_lookahead_literal(parser, "MISSING", 0) - _t473 = 8 + _t482 = 8 else if match_lookahead_literal(parser, "INT128", 0) - _t474 = 5 + _t483 = 5 else if match_lookahead_literal(parser, "INT", 0) - _t475 = 2 + _t484 = 2 else if match_lookahead_literal(parser, "FLOAT", 0) - _t476 = 3 + _t485 = 3 else if match_lookahead_literal(parser, "DATETIME", 0) - _t477 = 7 + _t486 = 7 else if match_lookahead_literal(parser, "DATE", 0) - _t478 = 6 + _t487 = 6 else if match_lookahead_literal(parser, "BOOLEAN", 0) - _t479 = 10 + _t488 = 10 else if match_lookahead_literal(parser, "(", 0) - _t480 = 9 + _t489 = 9 else - _t480 = -1 + _t489 = -1 end - _t479 = _t480 + _t488 = _t489 end - _t478 = _t479 + _t487 = _t488 end - _t477 = _t478 + _t486 = _t487 end - _t476 = _t477 + _t485 = _t486 end - _t475 = _t476 + _t484 = _t485 end - _t474 = _t475 + _t483 = _t484 end - _t473 = _t474 + _t482 = _t483 end - _t472 = _t473 + _t481 = _t482 end - _t471 = _t472 + _t480 = _t481 end - _t470 = _t471 + _t479 = _t480 end - prediction76 = _t470 + prediction76 = _t479 if prediction76 == 10 - _t482 = parse_boolean_type(parser) - boolean_type87 = _t482 - _t483 = Proto.var"#Type"(var"#type"=OneOf(:boolean_type, boolean_type87)) - _t481 = _t483 + _t491 = parse_boolean_type(parser) + boolean_type87 = _t491 + _t492 = Proto.var"#Type"(var"#type"=OneOf(:boolean_type, boolean_type87)) + _t490 = _t492 else if prediction76 == 9 - _t485 = parse_decimal_type(parser) - decimal_type86 = _t485 - _t486 = Proto.var"#Type"(var"#type"=OneOf(:decimal_type, decimal_type86)) - _t484 = _t486 + _t494 = parse_decimal_type(parser) + decimal_type86 = _t494 + _t495 = Proto.var"#Type"(var"#type"=OneOf(:decimal_type, decimal_type86)) + _t493 = _t495 else if prediction76 == 8 - _t488 = parse_missing_type(parser) - missing_type85 = _t488 - _t489 = Proto.var"#Type"(var"#type"=OneOf(:missing_type, missing_type85)) - _t487 = _t489 + _t497 = parse_missing_type(parser) + missing_type85 = _t497 + _t498 = Proto.var"#Type"(var"#type"=OneOf(:missing_type, missing_type85)) + _t496 = _t498 else if prediction76 == 7 - _t491 = parse_datetime_type(parser) - datetime_type84 = _t491 - _t492 = Proto.var"#Type"(var"#type"=OneOf(:datetime_type, datetime_type84)) - _t490 = _t492 + _t500 = parse_datetime_type(parser) + datetime_type84 = _t500 + _t501 = Proto.var"#Type"(var"#type"=OneOf(:datetime_type, datetime_type84)) + _t499 = _t501 else if prediction76 == 6 - _t494 = parse_date_type(parser) - date_type83 = _t494 - _t495 = Proto.var"#Type"(var"#type"=OneOf(:date_type, date_type83)) - _t493 = _t495 + _t503 = parse_date_type(parser) + date_type83 = _t503 + _t504 = Proto.var"#Type"(var"#type"=OneOf(:date_type, date_type83)) + _t502 = _t504 else if prediction76 == 5 - _t497 = parse_int128_type(parser) - int128_type82 = _t497 - _t498 = Proto.var"#Type"(var"#type"=OneOf(:int128_type, int128_type82)) - _t496 = _t498 + _t506 = parse_int128_type(parser) + int128_type82 = _t506 + _t507 = Proto.var"#Type"(var"#type"=OneOf(:int128_type, int128_type82)) + _t505 = _t507 else if prediction76 == 4 - _t500 = parse_uint128_type(parser) - uint128_type81 = _t500 - _t501 = Proto.var"#Type"(var"#type"=OneOf(:uint128_type, uint128_type81)) - _t499 = _t501 + _t509 = parse_uint128_type(parser) + uint128_type81 = _t509 + _t510 = Proto.var"#Type"(var"#type"=OneOf(:uint128_type, uint128_type81)) + _t508 = _t510 else if prediction76 == 3 - _t503 = parse_float_type(parser) - float_type80 = _t503 - _t504 = Proto.var"#Type"(var"#type"=OneOf(:float_type, float_type80)) - _t502 = _t504 + _t512 = parse_float_type(parser) + float_type80 = _t512 + _t513 = Proto.var"#Type"(var"#type"=OneOf(:float_type, float_type80)) + _t511 = _t513 else if prediction76 == 2 - _t506 = parse_int_type(parser) - int_type79 = _t506 - _t507 = Proto.var"#Type"(var"#type"=OneOf(:int_type, int_type79)) - _t505 = _t507 + _t515 = parse_int_type(parser) + int_type79 = _t515 + _t516 = Proto.var"#Type"(var"#type"=OneOf(:int_type, int_type79)) + _t514 = _t516 else if prediction76 == 1 - _t509 = parse_string_type(parser) - string_type78 = _t509 - _t510 = Proto.var"#Type"(var"#type"=OneOf(:string_type, string_type78)) - _t508 = _t510 + _t518 = parse_string_type(parser) + string_type78 = _t518 + _t519 = Proto.var"#Type"(var"#type"=OneOf(:string_type, string_type78)) + _t517 = _t519 else if prediction76 == 0 - _t512 = parse_unspecified_type(parser) - unspecified_type77 = _t512 - _t513 = Proto.var"#Type"(var"#type"=OneOf(:unspecified_type, unspecified_type77)) - _t511 = _t513 + _t521 = parse_unspecified_type(parser) + unspecified_type77 = _t521 + _t522 = Proto.var"#Type"(var"#type"=OneOf(:unspecified_type, unspecified_type77)) + _t520 = _t522 else throw(ParseError("Unexpected token in type" * ": " * string(lookahead(parser, 0)))) end - _t508 = _t511 + _t517 = _t520 end - _t505 = _t508 + _t514 = _t517 end - _t502 = _t505 + _t511 = _t514 end - _t499 = _t502 + _t508 = _t511 end - _t496 = _t499 + _t505 = _t508 end - _t493 = _t496 + _t502 = _t505 end - _t490 = _t493 + _t499 = _t502 end - _t487 = _t490 + _t496 = _t499 end - _t484 = _t487 + _t493 = _t496 end - _t481 = _t484 + _t490 = _t493 end - return _t481 + return _t490 end function parse_unspecified_type(parser::Parser)::Proto.UnspecifiedType consume_literal!(parser, "UNKNOWN") - _t514 = Proto.UnspecifiedType() - return _t514 + _t523 = Proto.UnspecifiedType() + return _t523 end function parse_string_type(parser::Parser)::Proto.StringType consume_literal!(parser, "STRING") - _t515 = Proto.StringType() - return _t515 + _t524 = Proto.StringType() + return _t524 end function parse_int_type(parser::Parser)::Proto.IntType consume_literal!(parser, "INT") - _t516 = Proto.IntType() - return _t516 + _t525 = Proto.IntType() + return _t525 end function parse_float_type(parser::Parser)::Proto.FloatType consume_literal!(parser, "FLOAT") - _t517 = Proto.FloatType() - return _t517 + _t526 = Proto.FloatType() + return _t526 end function parse_uint128_type(parser::Parser)::Proto.UInt128Type consume_literal!(parser, "UINT128") - _t518 = Proto.UInt128Type() - return _t518 + _t527 = Proto.UInt128Type() + return _t527 end function parse_int128_type(parser::Parser)::Proto.Int128Type consume_literal!(parser, "INT128") - _t519 = Proto.Int128Type() - return _t519 + _t528 = Proto.Int128Type() + return _t528 end function parse_date_type(parser::Parser)::Proto.DateType consume_literal!(parser, "DATE") - _t520 = Proto.DateType() - return _t520 + _t529 = Proto.DateType() + return _t529 end function parse_datetime_type(parser::Parser)::Proto.DateTimeType consume_literal!(parser, "DATETIME") - _t521 = Proto.DateTimeType() - return _t521 + _t530 = Proto.DateTimeType() + return _t530 end function parse_missing_type(parser::Parser)::Proto.MissingType consume_literal!(parser, "MISSING") - _t522 = Proto.MissingType() - return _t522 + _t531 = Proto.MissingType() + return _t531 end function parse_decimal_type(parser::Parser)::Proto.DecimalType @@ -1570,14 +1581,14 @@ function parse_decimal_type(parser::Parser)::Proto.DecimalType int88 = consume_terminal!(parser, "INT") int_389 = consume_terminal!(parser, "INT") consume_literal!(parser, ")") - _t523 = Proto.DecimalType(precision=Int32(int88), scale=Int32(int_389)) - return _t523 + _t532 = Proto.DecimalType(precision=Int32(int88), scale=Int32(int_389)) + return _t532 end function parse_boolean_type(parser::Parser)::Proto.BooleanType consume_literal!(parser, "BOOLEAN") - _t524 = Proto.BooleanType() - return _t524 + _t533 = Proto.BooleanType() + return _t533 end function parse_value_bindings(parser::Parser)::Vector{Proto.Binding} @@ -1585,8 +1596,8 @@ function parse_value_bindings(parser::Parser)::Vector{Proto.Binding} xs90 = Proto.Binding[] cond91 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond91 - _t525 = parse_binding(parser) - item92 = _t525 + _t534 = parse_binding(parser) + item92 = _t534 push!(xs90, item92) cond91 = match_lookahead_terminal(parser, "SYMBOL", 0) end @@ -1599,302 +1610,302 @@ function parse_formula(parser::Parser)::Proto.Formula if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "true", 1) - _t527 = 0 + _t536 = 0 else if match_lookahead_literal(parser, "relatom", 1) - _t528 = 11 + _t537 = 11 else if match_lookahead_literal(parser, "reduce", 1) - _t529 = 3 + _t538 = 3 else if match_lookahead_literal(parser, "primitive", 1) - _t530 = 10 + _t539 = 10 else if match_lookahead_literal(parser, "pragma", 1) - _t531 = 9 + _t540 = 9 else if match_lookahead_literal(parser, "or", 1) - _t532 = 5 + _t541 = 5 else if match_lookahead_literal(parser, "not", 1) - _t533 = 6 + _t542 = 6 else if match_lookahead_literal(parser, "ffi", 1) - _t534 = 7 + _t543 = 7 else if match_lookahead_literal(parser, "false", 1) - _t535 = 1 + _t544 = 1 else if match_lookahead_literal(parser, "exists", 1) - _t536 = 2 + _t545 = 2 else if match_lookahead_literal(parser, "cast", 1) - _t537 = 12 + _t546 = 12 else if match_lookahead_literal(parser, "atom", 1) - _t538 = 8 + _t547 = 8 else if match_lookahead_literal(parser, "and", 1) - _t539 = 4 + _t548 = 4 else if match_lookahead_literal(parser, ">=", 1) - _t540 = 10 + _t549 = 10 else if match_lookahead_literal(parser, ">", 1) - _t541 = 10 + _t550 = 10 else if match_lookahead_literal(parser, "=", 1) - _t542 = 10 + _t551 = 10 else if match_lookahead_literal(parser, "<=", 1) - _t543 = 10 + _t552 = 10 else if match_lookahead_literal(parser, "<", 1) - _t544 = 10 + _t553 = 10 else if match_lookahead_literal(parser, "/", 1) - _t545 = 10 + _t554 = 10 else if match_lookahead_literal(parser, "-", 1) - _t546 = 10 + _t555 = 10 else if match_lookahead_literal(parser, "+", 1) - _t547 = 10 + _t556 = 10 else if match_lookahead_literal(parser, "*", 1) - _t548 = 10 + _t557 = 10 else - _t548 = -1 + _t557 = -1 end - _t547 = _t548 + _t556 = _t557 end - _t546 = _t547 + _t555 = _t556 end - _t545 = _t546 + _t554 = _t555 end - _t544 = _t545 + _t553 = _t554 end - _t543 = _t544 + _t552 = _t553 end - _t542 = _t543 + _t551 = _t552 end - _t541 = _t542 + _t550 = _t551 end - _t540 = _t541 + _t549 = _t550 end - _t539 = _t540 + _t548 = _t549 end - _t538 = _t539 + _t547 = _t548 end - _t537 = _t538 + _t546 = _t547 end - _t536 = _t537 + _t545 = _t546 end - _t535 = _t536 + _t544 = _t545 end - _t534 = _t535 + _t543 = _t544 end - _t533 = _t534 + _t542 = _t543 end - _t532 = _t533 + _t541 = _t542 end - _t531 = _t532 + _t540 = _t541 end - _t530 = _t531 + _t539 = _t540 end - _t529 = _t530 + _t538 = _t539 end - _t528 = _t529 + _t537 = _t538 end - _t527 = _t528 + _t536 = _t537 end - _t526 = _t527 + _t535 = _t536 else - _t526 = -1 + _t535 = -1 end - prediction94 = _t526 + prediction94 = _t535 if prediction94 == 12 - _t550 = parse_cast(parser) - cast107 = _t550 - _t551 = Proto.Formula(formula_type=OneOf(:cast, cast107)) - _t549 = _t551 + _t559 = parse_cast(parser) + cast107 = _t559 + _t560 = Proto.Formula(formula_type=OneOf(:cast, cast107)) + _t558 = _t560 else if prediction94 == 11 - _t553 = parse_rel_atom(parser) - rel_atom106 = _t553 - _t554 = Proto.Formula(formula_type=OneOf(:rel_atom, rel_atom106)) - _t552 = _t554 + _t562 = parse_rel_atom(parser) + rel_atom106 = _t562 + _t563 = Proto.Formula(formula_type=OneOf(:rel_atom, rel_atom106)) + _t561 = _t563 else if prediction94 == 10 - _t556 = parse_primitive(parser) - primitive105 = _t556 - _t557 = Proto.Formula(formula_type=OneOf(:primitive, primitive105)) - _t555 = _t557 + _t565 = parse_primitive(parser) + primitive105 = _t565 + _t566 = Proto.Formula(formula_type=OneOf(:primitive, primitive105)) + _t564 = _t566 else if prediction94 == 9 - _t559 = parse_pragma(parser) - pragma104 = _t559 - _t560 = Proto.Formula(formula_type=OneOf(:pragma, pragma104)) - _t558 = _t560 + _t568 = parse_pragma(parser) + pragma104 = _t568 + _t569 = Proto.Formula(formula_type=OneOf(:pragma, pragma104)) + _t567 = _t569 else if prediction94 == 8 - _t562 = parse_atom(parser) - atom103 = _t562 - _t563 = Proto.Formula(formula_type=OneOf(:atom, atom103)) - _t561 = _t563 + _t571 = parse_atom(parser) + atom103 = _t571 + _t572 = Proto.Formula(formula_type=OneOf(:atom, atom103)) + _t570 = _t572 else if prediction94 == 7 - _t565 = parse_ffi(parser) - ffi102 = _t565 - _t566 = Proto.Formula(formula_type=OneOf(:ffi, ffi102)) - _t564 = _t566 + _t574 = parse_ffi(parser) + ffi102 = _t574 + _t575 = Proto.Formula(formula_type=OneOf(:ffi, ffi102)) + _t573 = _t575 else if prediction94 == 6 - _t568 = parse_not(parser) - not101 = _t568 - _t569 = Proto.Formula(formula_type=OneOf(:not, not101)) - _t567 = _t569 + _t577 = parse_not(parser) + not101 = _t577 + _t578 = Proto.Formula(formula_type=OneOf(:not, not101)) + _t576 = _t578 else if prediction94 == 5 - _t571 = parse_disjunction(parser) - disjunction100 = _t571 - _t572 = Proto.Formula(formula_type=OneOf(:disjunction, disjunction100)) - _t570 = _t572 + _t580 = parse_disjunction(parser) + disjunction100 = _t580 + _t581 = Proto.Formula(formula_type=OneOf(:disjunction, disjunction100)) + _t579 = _t581 else if prediction94 == 4 - _t574 = parse_conjunction(parser) - conjunction99 = _t574 - _t575 = Proto.Formula(formula_type=OneOf(:conjunction, conjunction99)) - _t573 = _t575 + _t583 = parse_conjunction(parser) + conjunction99 = _t583 + _t584 = Proto.Formula(formula_type=OneOf(:conjunction, conjunction99)) + _t582 = _t584 else if prediction94 == 3 - _t577 = parse_reduce(parser) - reduce98 = _t577 - _t578 = Proto.Formula(formula_type=OneOf(:reduce, reduce98)) - _t576 = _t578 + _t586 = parse_reduce(parser) + reduce98 = _t586 + _t587 = Proto.Formula(formula_type=OneOf(:reduce, reduce98)) + _t585 = _t587 else if prediction94 == 2 - _t580 = parse_exists(parser) - exists97 = _t580 - _t581 = Proto.Formula(formula_type=OneOf(:exists, exists97)) - _t579 = _t581 + _t589 = parse_exists(parser) + exists97 = _t589 + _t590 = Proto.Formula(formula_type=OneOf(:exists, exists97)) + _t588 = _t590 else if prediction94 == 1 - _t583 = parse_false(parser) - false96 = _t583 - _t584 = Proto.Formula(formula_type=OneOf(:disjunction, false96)) - _t582 = _t584 + _t592 = parse_false(parser) + false96 = _t592 + _t593 = Proto.Formula(formula_type=OneOf(:disjunction, false96)) + _t591 = _t593 else if prediction94 == 0 - _t586 = parse_true(parser) - true95 = _t586 - _t587 = Proto.Formula(formula_type=OneOf(:conjunction, true95)) - _t585 = _t587 + _t595 = parse_true(parser) + true95 = _t595 + _t596 = Proto.Formula(formula_type=OneOf(:conjunction, true95)) + _t594 = _t596 else throw(ParseError("Unexpected token in formula" * ": " * string(lookahead(parser, 0)))) end - _t582 = _t585 + _t591 = _t594 end - _t579 = _t582 + _t588 = _t591 end - _t576 = _t579 + _t585 = _t588 end - _t573 = _t576 + _t582 = _t585 end - _t570 = _t573 + _t579 = _t582 end - _t567 = _t570 + _t576 = _t579 end - _t564 = _t567 + _t573 = _t576 end - _t561 = _t564 + _t570 = _t573 end - _t558 = _t561 + _t567 = _t570 end - _t555 = _t558 + _t564 = _t567 end - _t552 = _t555 + _t561 = _t564 end - _t549 = _t552 + _t558 = _t561 end - return _t549 + return _t558 end function parse_true(parser::Parser)::Proto.Conjunction consume_literal!(parser, "(") consume_literal!(parser, "true") consume_literal!(parser, ")") - _t588 = Proto.Conjunction(args=Proto.Formula[]) - return _t588 + _t597 = Proto.Conjunction(args=Proto.Formula[]) + return _t597 end function parse_false(parser::Parser)::Proto.Disjunction consume_literal!(parser, "(") consume_literal!(parser, "false") consume_literal!(parser, ")") - _t589 = Proto.Disjunction(args=Proto.Formula[]) - return _t589 + _t598 = Proto.Disjunction(args=Proto.Formula[]) + return _t598 end function parse_exists(parser::Parser)::Proto.Exists consume_literal!(parser, "(") consume_literal!(parser, "exists") - _t590 = parse_bindings(parser) - bindings108 = _t590 - _t591 = parse_formula(parser) - formula109 = _t591 + _t599 = parse_bindings(parser) + bindings108 = _t599 + _t600 = parse_formula(parser) + formula109 = _t600 consume_literal!(parser, ")") - _t592 = Proto.Abstraction(vars=vcat(bindings108[1], !isnothing(bindings108[2]) ? bindings108[2] : []), value=formula109) - _t593 = Proto.Exists(body=_t592) - return _t593 + _t601 = Proto.Abstraction(vars=vcat(bindings108[1], !isnothing(bindings108[2]) ? bindings108[2] : []), value=formula109) + _t602 = Proto.Exists(body=_t601) + return _t602 end function parse_reduce(parser::Parser)::Proto.Reduce consume_literal!(parser, "(") consume_literal!(parser, "reduce") - _t594 = parse_abstraction(parser) - abstraction110 = _t594 - _t595 = parse_abstraction(parser) - abstraction_3111 = _t595 - _t596 = parse_terms(parser) - terms112 = _t596 - consume_literal!(parser, ")") - _t597 = Proto.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) - return _t597 + _t603 = parse_abstraction(parser) + abstraction110 = _t603 + _t604 = parse_abstraction(parser) + abstraction_3111 = _t604 + _t605 = parse_terms(parser) + terms112 = _t605 + consume_literal!(parser, ")") + _t606 = Proto.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) + return _t606 end function parse_terms(parser::Parser)::Vector{Proto.Term} @@ -1903,8 +1914,8 @@ function parse_terms(parser::Parser)::Vector{Proto.Term} xs113 = Proto.Term[] cond114 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond114 - _t598 = parse_term(parser) - item115 = _t598 + _t607 = parse_term(parser) + item115 = _t607 push!(xs113, item115) cond114 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end @@ -1916,101 +1927,101 @@ end function parse_term(parser::Parser)::Proto.Term if match_lookahead_literal(parser, "true", 0) - _t599 = 1 + _t608 = 1 else if match_lookahead_literal(parser, "missing", 0) - _t600 = 1 + _t609 = 1 else if match_lookahead_literal(parser, "false", 0) - _t601 = 1 + _t610 = 1 else if match_lookahead_literal(parser, "(", 0) - _t602 = 1 + _t611 = 1 else if match_lookahead_terminal(parser, "UINT128", 0) - _t603 = 1 + _t612 = 1 else if match_lookahead_terminal(parser, "SYMBOL", 0) - _t604 = 0 + _t613 = 0 else if match_lookahead_terminal(parser, "STRING", 0) - _t605 = 1 + _t614 = 1 else if match_lookahead_terminal(parser, "INT128", 0) - _t606 = 1 + _t615 = 1 else if match_lookahead_terminal(parser, "INT", 0) - _t607 = 1 + _t616 = 1 else if match_lookahead_terminal(parser, "FLOAT", 0) - _t608 = 1 + _t617 = 1 else if match_lookahead_terminal(parser, "DECIMAL", 0) - _t609 = 1 + _t618 = 1 else - _t609 = -1 + _t618 = -1 end - _t608 = _t609 + _t617 = _t618 end - _t607 = _t608 + _t616 = _t617 end - _t606 = _t607 + _t615 = _t616 end - _t605 = _t606 + _t614 = _t615 end - _t604 = _t605 + _t613 = _t614 end - _t603 = _t604 + _t612 = _t613 end - _t602 = _t603 + _t611 = _t612 end - _t601 = _t602 + _t610 = _t611 end - _t600 = _t601 + _t609 = _t610 end - _t599 = _t600 + _t608 = _t609 end - prediction117 = _t599 + prediction117 = _t608 if prediction117 == 1 - _t611 = parse_constant(parser) - constant119 = _t611 - _t612 = Proto.Term(term_type=OneOf(:constant, constant119)) - _t610 = _t612 + _t620 = parse_constant(parser) + constant119 = _t620 + _t621 = Proto.Term(term_type=OneOf(:constant, constant119)) + _t619 = _t621 else if prediction117 == 0 - _t614 = parse_var(parser) - var118 = _t614 - _t615 = Proto.Term(term_type=OneOf(:var, var118)) - _t613 = _t615 + _t623 = parse_var(parser) + var118 = _t623 + _t624 = Proto.Term(term_type=OneOf(:var, var118)) + _t622 = _t624 else throw(ParseError("Unexpected token in term" * ": " * string(lookahead(parser, 0)))) end - _t610 = _t613 + _t619 = _t622 end - return _t610 + return _t619 end function parse_var(parser::Parser)::Proto.Var symbol120 = consume_terminal!(parser, "SYMBOL") - _t616 = Proto.Var(name=symbol120) - return _t616 + _t625 = Proto.Var(name=symbol120) + return _t625 end function parse_constant(parser::Parser)::Proto.Value - _t617 = parse_value(parser) - value121 = _t617 + _t626 = parse_value(parser) + value121 = _t626 return value121 end @@ -2020,15 +2031,15 @@ function parse_conjunction(parser::Parser)::Proto.Conjunction xs122 = Proto.Formula[] cond123 = match_lookahead_literal(parser, "(", 0) while cond123 - _t618 = parse_formula(parser) - item124 = _t618 + _t627 = parse_formula(parser) + item124 = _t627 push!(xs122, item124) cond123 = match_lookahead_literal(parser, "(", 0) end formulas125 = xs122 consume_literal!(parser, ")") - _t619 = Proto.Conjunction(args=formulas125) - return _t619 + _t628 = Proto.Conjunction(args=formulas125) + return _t628 end function parse_disjunction(parser::Parser)::Proto.Disjunction @@ -2037,39 +2048,39 @@ function parse_disjunction(parser::Parser)::Proto.Disjunction xs126 = Proto.Formula[] cond127 = match_lookahead_literal(parser, "(", 0) while cond127 - _t620 = parse_formula(parser) - item128 = _t620 + _t629 = parse_formula(parser) + item128 = _t629 push!(xs126, item128) cond127 = match_lookahead_literal(parser, "(", 0) end formulas129 = xs126 consume_literal!(parser, ")") - _t621 = Proto.Disjunction(args=formulas129) - return _t621 + _t630 = Proto.Disjunction(args=formulas129) + return _t630 end function parse_not(parser::Parser)::Proto.Not consume_literal!(parser, "(") consume_literal!(parser, "not") - _t622 = parse_formula(parser) - formula130 = _t622 + _t631 = parse_formula(parser) + formula130 = _t631 consume_literal!(parser, ")") - _t623 = Proto.Not(arg=formula130) - return _t623 + _t632 = Proto.Not(arg=formula130) + return _t632 end function parse_ffi(parser::Parser)::Proto.FFI consume_literal!(parser, "(") consume_literal!(parser, "ffi") - _t624 = parse_name(parser) - name131 = _t624 - _t625 = parse_ffi_args(parser) - ffi_args132 = _t625 - _t626 = parse_terms(parser) - terms133 = _t626 + _t633 = parse_name(parser) + name131 = _t633 + _t634 = parse_ffi_args(parser) + ffi_args132 = _t634 + _t635 = parse_terms(parser) + terms133 = _t635 consume_literal!(parser, ")") - _t627 = Proto.FFI(name=name131, args=ffi_args132, terms=terms133) - return _t627 + _t636 = Proto.FFI(name=name131, args=ffi_args132, terms=terms133) + return _t636 end function parse_name(parser::Parser)::String @@ -2084,8 +2095,8 @@ function parse_ffi_args(parser::Parser)::Vector{Proto.Abstraction} xs135 = Proto.Abstraction[] cond136 = match_lookahead_literal(parser, "(", 0) while cond136 - _t628 = parse_abstraction(parser) - item137 = _t628 + _t637 = parse_abstraction(parser) + item137 = _t637 push!(xs135, item137) cond136 = match_lookahead_literal(parser, "(", 0) end @@ -2097,39 +2108,39 @@ end function parse_atom(parser::Parser)::Proto.Atom consume_literal!(parser, "(") consume_literal!(parser, "atom") - _t629 = parse_relation_id(parser) - relation_id139 = _t629 + _t638 = parse_relation_id(parser) + relation_id139 = _t638 xs140 = Proto.Term[] cond141 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond141 - _t630 = parse_term(parser) - item142 = _t630 + _t639 = parse_term(parser) + item142 = _t639 push!(xs140, item142) cond141 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end terms143 = xs140 consume_literal!(parser, ")") - _t631 = Proto.Atom(name=relation_id139, terms=terms143) - return _t631 + _t640 = Proto.Atom(name=relation_id139, terms=terms143) + return _t640 end function parse_pragma(parser::Parser)::Proto.Pragma consume_literal!(parser, "(") consume_literal!(parser, "pragma") - _t632 = parse_name(parser) - name144 = _t632 + _t641 = parse_name(parser) + name144 = _t641 xs145 = Proto.Term[] cond146 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond146 - _t633 = parse_term(parser) - item147 = _t633 + _t642 = parse_term(parser) + item147 = _t642 push!(xs145, item147) cond146 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end terms148 = xs145 consume_literal!(parser, ")") - _t634 = Proto.Pragma(name=name144, terms=terms148) - return _t634 + _t643 = Proto.Pragma(name=name144, terms=terms148) + return _t643 end function parse_primitive(parser::Parser)::Proto.Primitive @@ -2137,434 +2148,434 @@ function parse_primitive(parser::Parser)::Proto.Primitive if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "primitive", 1) - _t636 = 9 + _t645 = 9 else if match_lookahead_literal(parser, ">=", 1) - _t637 = 4 + _t646 = 4 else if match_lookahead_literal(parser, ">", 1) - _t638 = 3 + _t647 = 3 else if match_lookahead_literal(parser, "=", 1) - _t639 = 0 + _t648 = 0 else if match_lookahead_literal(parser, "<=", 1) - _t640 = 2 + _t649 = 2 else if match_lookahead_literal(parser, "<", 1) - _t641 = 1 + _t650 = 1 else if match_lookahead_literal(parser, "/", 1) - _t642 = 8 + _t651 = 8 else if match_lookahead_literal(parser, "-", 1) - _t643 = 6 + _t652 = 6 else if match_lookahead_literal(parser, "+", 1) - _t644 = 5 + _t653 = 5 else if match_lookahead_literal(parser, "*", 1) - _t645 = 7 + _t654 = 7 else - _t645 = -1 + _t654 = -1 end - _t644 = _t645 + _t653 = _t654 end - _t643 = _t644 + _t652 = _t653 end - _t642 = _t643 + _t651 = _t652 end - _t641 = _t642 + _t650 = _t651 end - _t640 = _t641 + _t649 = _t650 end - _t639 = _t640 + _t648 = _t649 end - _t638 = _t639 + _t647 = _t648 end - _t637 = _t638 + _t646 = _t647 end - _t636 = _t637 + _t645 = _t646 end - _t635 = _t636 + _t644 = _t645 else - _t635 = -1 + _t644 = -1 end - prediction149 = _t635 + prediction149 = _t644 if prediction149 == 9 consume_literal!(parser, "(") consume_literal!(parser, "primitive") - _t647 = parse_name(parser) - name159 = _t647 + _t656 = parse_name(parser) + name159 = _t656 xs160 = Proto.RelTerm[] cond161 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond161 - _t648 = parse_rel_term(parser) - item162 = _t648 + _t657 = parse_rel_term(parser) + item162 = _t657 push!(xs160, item162) cond161 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end rel_terms163 = xs160 consume_literal!(parser, ")") - _t649 = Proto.Primitive(name=name159, terms=rel_terms163) - _t646 = _t649 + _t658 = Proto.Primitive(name=name159, terms=rel_terms163) + _t655 = _t658 else if prediction149 == 8 - _t651 = parse_divide(parser) - divide158 = _t651 - _t650 = divide158 + _t660 = parse_divide(parser) + divide158 = _t660 + _t659 = divide158 else if prediction149 == 7 - _t653 = parse_multiply(parser) - multiply157 = _t653 - _t652 = multiply157 + _t662 = parse_multiply(parser) + multiply157 = _t662 + _t661 = multiply157 else if prediction149 == 6 - _t655 = parse_minus(parser) - minus156 = _t655 - _t654 = minus156 + _t664 = parse_minus(parser) + minus156 = _t664 + _t663 = minus156 else if prediction149 == 5 - _t657 = parse_add(parser) - add155 = _t657 - _t656 = add155 + _t666 = parse_add(parser) + add155 = _t666 + _t665 = add155 else if prediction149 == 4 - _t659 = parse_gt_eq(parser) - gt_eq154 = _t659 - _t658 = gt_eq154 + _t668 = parse_gt_eq(parser) + gt_eq154 = _t668 + _t667 = gt_eq154 else if prediction149 == 3 - _t661 = parse_gt(parser) - gt153 = _t661 - _t660 = gt153 + _t670 = parse_gt(parser) + gt153 = _t670 + _t669 = gt153 else if prediction149 == 2 - _t663 = parse_lt_eq(parser) - lt_eq152 = _t663 - _t662 = lt_eq152 + _t672 = parse_lt_eq(parser) + lt_eq152 = _t672 + _t671 = lt_eq152 else if prediction149 == 1 - _t665 = parse_lt(parser) - lt151 = _t665 - _t664 = lt151 + _t674 = parse_lt(parser) + lt151 = _t674 + _t673 = lt151 else if prediction149 == 0 - _t667 = parse_eq(parser) - eq150 = _t667 - _t666 = eq150 + _t676 = parse_eq(parser) + eq150 = _t676 + _t675 = eq150 else throw(ParseError("Unexpected token in primitive" * ": " * string(lookahead(parser, 0)))) end - _t664 = _t666 + _t673 = _t675 end - _t662 = _t664 + _t671 = _t673 end - _t660 = _t662 + _t669 = _t671 end - _t658 = _t660 + _t667 = _t669 end - _t656 = _t658 + _t665 = _t667 end - _t654 = _t656 + _t663 = _t665 end - _t652 = _t654 + _t661 = _t663 end - _t650 = _t652 + _t659 = _t661 end - _t646 = _t650 + _t655 = _t659 end - return _t646 + return _t655 end function parse_eq(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "=") - _t668 = parse_term(parser) - term164 = _t668 - _t669 = parse_term(parser) - term_3165 = _t669 + _t677 = parse_term(parser) + term164 = _t677 + _t678 = parse_term(parser) + term_3165 = _t678 consume_literal!(parser, ")") - _t670 = Proto.RelTerm(rel_term_type=OneOf(:term, term164)) - _t671 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3165)) - _t672 = Proto.Primitive(name="rel_primitive_eq", terms=Proto.RelTerm[_t670, _t671]) - return _t672 + _t679 = Proto.RelTerm(rel_term_type=OneOf(:term, term164)) + _t680 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3165)) + _t681 = Proto.Primitive(name="rel_primitive_eq", terms=Proto.RelTerm[_t679, _t680]) + return _t681 end function parse_lt(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "<") - _t673 = parse_term(parser) - term166 = _t673 - _t674 = parse_term(parser) - term_3167 = _t674 + _t682 = parse_term(parser) + term166 = _t682 + _t683 = parse_term(parser) + term_3167 = _t683 consume_literal!(parser, ")") - _t675 = Proto.RelTerm(rel_term_type=OneOf(:term, term166)) - _t676 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3167)) - _t677 = Proto.Primitive(name="rel_primitive_lt_monotype", terms=Proto.RelTerm[_t675, _t676]) - return _t677 + _t684 = Proto.RelTerm(rel_term_type=OneOf(:term, term166)) + _t685 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3167)) + _t686 = Proto.Primitive(name="rel_primitive_lt_monotype", terms=Proto.RelTerm[_t684, _t685]) + return _t686 end function parse_lt_eq(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "<=") - _t678 = parse_term(parser) - term168 = _t678 - _t679 = parse_term(parser) - term_3169 = _t679 + _t687 = parse_term(parser) + term168 = _t687 + _t688 = parse_term(parser) + term_3169 = _t688 consume_literal!(parser, ")") - _t680 = Proto.RelTerm(rel_term_type=OneOf(:term, term168)) - _t681 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3169)) - _t682 = Proto.Primitive(name="rel_primitive_lt_eq_monotype", terms=Proto.RelTerm[_t680, _t681]) - return _t682 + _t689 = Proto.RelTerm(rel_term_type=OneOf(:term, term168)) + _t690 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3169)) + _t691 = Proto.Primitive(name="rel_primitive_lt_eq_monotype", terms=Proto.RelTerm[_t689, _t690]) + return _t691 end function parse_gt(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, ">") - _t683 = parse_term(parser) - term170 = _t683 - _t684 = parse_term(parser) - term_3171 = _t684 + _t692 = parse_term(parser) + term170 = _t692 + _t693 = parse_term(parser) + term_3171 = _t693 consume_literal!(parser, ")") - _t685 = Proto.RelTerm(rel_term_type=OneOf(:term, term170)) - _t686 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3171)) - _t687 = Proto.Primitive(name="rel_primitive_gt_monotype", terms=Proto.RelTerm[_t685, _t686]) - return _t687 + _t694 = Proto.RelTerm(rel_term_type=OneOf(:term, term170)) + _t695 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3171)) + _t696 = Proto.Primitive(name="rel_primitive_gt_monotype", terms=Proto.RelTerm[_t694, _t695]) + return _t696 end function parse_gt_eq(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, ">=") - _t688 = parse_term(parser) - term172 = _t688 - _t689 = parse_term(parser) - term_3173 = _t689 + _t697 = parse_term(parser) + term172 = _t697 + _t698 = parse_term(parser) + term_3173 = _t698 consume_literal!(parser, ")") - _t690 = Proto.RelTerm(rel_term_type=OneOf(:term, term172)) - _t691 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3173)) - _t692 = Proto.Primitive(name="rel_primitive_gt_eq_monotype", terms=Proto.RelTerm[_t690, _t691]) - return _t692 + _t699 = Proto.RelTerm(rel_term_type=OneOf(:term, term172)) + _t700 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3173)) + _t701 = Proto.Primitive(name="rel_primitive_gt_eq_monotype", terms=Proto.RelTerm[_t699, _t700]) + return _t701 end function parse_add(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "+") - _t693 = parse_term(parser) - term174 = _t693 - _t694 = parse_term(parser) - term_3175 = _t694 - _t695 = parse_term(parser) - term_4176 = _t695 + _t702 = parse_term(parser) + term174 = _t702 + _t703 = parse_term(parser) + term_3175 = _t703 + _t704 = parse_term(parser) + term_4176 = _t704 consume_literal!(parser, ")") - _t696 = Proto.RelTerm(rel_term_type=OneOf(:term, term174)) - _t697 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3175)) - _t698 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4176)) - _t699 = Proto.Primitive(name="rel_primitive_add_monotype", terms=Proto.RelTerm[_t696, _t697, _t698]) - return _t699 + _t705 = Proto.RelTerm(rel_term_type=OneOf(:term, term174)) + _t706 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3175)) + _t707 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4176)) + _t708 = Proto.Primitive(name="rel_primitive_add_monotype", terms=Proto.RelTerm[_t705, _t706, _t707]) + return _t708 end function parse_minus(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "-") - _t700 = parse_term(parser) - term177 = _t700 - _t701 = parse_term(parser) - term_3178 = _t701 - _t702 = parse_term(parser) - term_4179 = _t702 + _t709 = parse_term(parser) + term177 = _t709 + _t710 = parse_term(parser) + term_3178 = _t710 + _t711 = parse_term(parser) + term_4179 = _t711 consume_literal!(parser, ")") - _t703 = Proto.RelTerm(rel_term_type=OneOf(:term, term177)) - _t704 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3178)) - _t705 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4179)) - _t706 = Proto.Primitive(name="rel_primitive_subtract_monotype", terms=Proto.RelTerm[_t703, _t704, _t705]) - return _t706 + _t712 = Proto.RelTerm(rel_term_type=OneOf(:term, term177)) + _t713 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3178)) + _t714 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4179)) + _t715 = Proto.Primitive(name="rel_primitive_subtract_monotype", terms=Proto.RelTerm[_t712, _t713, _t714]) + return _t715 end function parse_multiply(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "*") - _t707 = parse_term(parser) - term180 = _t707 - _t708 = parse_term(parser) - term_3181 = _t708 - _t709 = parse_term(parser) - term_4182 = _t709 + _t716 = parse_term(parser) + term180 = _t716 + _t717 = parse_term(parser) + term_3181 = _t717 + _t718 = parse_term(parser) + term_4182 = _t718 consume_literal!(parser, ")") - _t710 = Proto.RelTerm(rel_term_type=OneOf(:term, term180)) - _t711 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3181)) - _t712 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4182)) - _t713 = Proto.Primitive(name="rel_primitive_multiply_monotype", terms=Proto.RelTerm[_t710, _t711, _t712]) - return _t713 + _t719 = Proto.RelTerm(rel_term_type=OneOf(:term, term180)) + _t720 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3181)) + _t721 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4182)) + _t722 = Proto.Primitive(name="rel_primitive_multiply_monotype", terms=Proto.RelTerm[_t719, _t720, _t721]) + return _t722 end function parse_divide(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "/") - _t714 = parse_term(parser) - term183 = _t714 - _t715 = parse_term(parser) - term_3184 = _t715 - _t716 = parse_term(parser) - term_4185 = _t716 + _t723 = parse_term(parser) + term183 = _t723 + _t724 = parse_term(parser) + term_3184 = _t724 + _t725 = parse_term(parser) + term_4185 = _t725 consume_literal!(parser, ")") - _t717 = Proto.RelTerm(rel_term_type=OneOf(:term, term183)) - _t718 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3184)) - _t719 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4185)) - _t720 = Proto.Primitive(name="rel_primitive_divide_monotype", terms=Proto.RelTerm[_t717, _t718, _t719]) - return _t720 + _t726 = Proto.RelTerm(rel_term_type=OneOf(:term, term183)) + _t727 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3184)) + _t728 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4185)) + _t729 = Proto.Primitive(name="rel_primitive_divide_monotype", terms=Proto.RelTerm[_t726, _t727, _t728]) + return _t729 end function parse_rel_term(parser::Parser)::Proto.RelTerm if match_lookahead_literal(parser, "true", 0) - _t721 = 1 + _t730 = 1 else if match_lookahead_literal(parser, "missing", 0) - _t722 = 1 + _t731 = 1 else if match_lookahead_literal(parser, "false", 0) - _t723 = 1 + _t732 = 1 else if match_lookahead_literal(parser, "(", 0) - _t724 = 1 + _t733 = 1 else if match_lookahead_literal(parser, "#", 0) - _t725 = 0 + _t734 = 0 else if match_lookahead_terminal(parser, "UINT128", 0) - _t726 = 1 + _t735 = 1 else if match_lookahead_terminal(parser, "SYMBOL", 0) - _t727 = 1 + _t736 = 1 else if match_lookahead_terminal(parser, "STRING", 0) - _t728 = 1 + _t737 = 1 else if match_lookahead_terminal(parser, "INT128", 0) - _t729 = 1 + _t738 = 1 else if match_lookahead_terminal(parser, "INT", 0) - _t730 = 1 + _t739 = 1 else if match_lookahead_terminal(parser, "FLOAT", 0) - _t731 = 1 + _t740 = 1 else if match_lookahead_terminal(parser, "DECIMAL", 0) - _t732 = 1 + _t741 = 1 else - _t732 = -1 + _t741 = -1 end - _t731 = _t732 + _t740 = _t741 end - _t730 = _t731 + _t739 = _t740 end - _t729 = _t730 + _t738 = _t739 end - _t728 = _t729 + _t737 = _t738 end - _t727 = _t728 + _t736 = _t737 end - _t726 = _t727 + _t735 = _t736 end - _t725 = _t726 + _t734 = _t735 end - _t724 = _t725 + _t733 = _t734 end - _t723 = _t724 + _t732 = _t733 end - _t722 = _t723 + _t731 = _t732 end - _t721 = _t722 + _t730 = _t731 end - prediction186 = _t721 + prediction186 = _t730 if prediction186 == 1 - _t734 = parse_term(parser) - term188 = _t734 - _t735 = Proto.RelTerm(rel_term_type=OneOf(:term, term188)) - _t733 = _t735 + _t743 = parse_term(parser) + term188 = _t743 + _t744 = Proto.RelTerm(rel_term_type=OneOf(:term, term188)) + _t742 = _t744 else if prediction186 == 0 - _t737 = parse_specialized_value(parser) - specialized_value187 = _t737 - _t738 = Proto.RelTerm(rel_term_type=OneOf(:specialized_value, specialized_value187)) - _t736 = _t738 + _t746 = parse_specialized_value(parser) + specialized_value187 = _t746 + _t747 = Proto.RelTerm(rel_term_type=OneOf(:specialized_value, specialized_value187)) + _t745 = _t747 else throw(ParseError("Unexpected token in rel_term" * ": " * string(lookahead(parser, 0)))) end - _t733 = _t736 + _t742 = _t745 end - return _t733 + return _t742 end function parse_specialized_value(parser::Parser)::Proto.Value consume_literal!(parser, "#") - _t739 = parse_value(parser) - value189 = _t739 + _t748 = parse_value(parser) + value189 = _t748 return value189 end function parse_rel_atom(parser::Parser)::Proto.RelAtom consume_literal!(parser, "(") consume_literal!(parser, "relatom") - _t740 = parse_name(parser) - name190 = _t740 + _t749 = parse_name(parser) + name190 = _t749 xs191 = Proto.RelTerm[] cond192 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond192 - _t741 = parse_rel_term(parser) - item193 = _t741 + _t750 = parse_rel_term(parser) + item193 = _t750 push!(xs191, item193) cond192 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end rel_terms194 = xs191 consume_literal!(parser, ")") - _t742 = Proto.RelAtom(name=name190, terms=rel_terms194) - return _t742 + _t751 = Proto.RelAtom(name=name190, terms=rel_terms194) + return _t751 end function parse_cast(parser::Parser)::Proto.Cast consume_literal!(parser, "(") consume_literal!(parser, "cast") - _t743 = parse_term(parser) - term195 = _t743 - _t744 = parse_term(parser) - term_3196 = _t744 + _t752 = parse_term(parser) + term195 = _t752 + _t753 = parse_term(parser) + term_3196 = _t753 consume_literal!(parser, ")") - _t745 = Proto.Cast(input=term195, result=term_3196) - return _t745 + _t754 = Proto.Cast(input=term195, result=term_3196) + return _t754 end function parse_attrs(parser::Parser)::Vector{Proto.Attribute} @@ -2573,8 +2584,8 @@ function parse_attrs(parser::Parser)::Vector{Proto.Attribute} xs197 = Proto.Attribute[] cond198 = match_lookahead_literal(parser, "(", 0) while cond198 - _t746 = parse_attribute(parser) - item199 = _t746 + _t755 = parse_attribute(parser) + item199 = _t755 push!(xs197, item199) cond198 = match_lookahead_literal(parser, "(", 0) end @@ -2586,20 +2597,20 @@ end function parse_attribute(parser::Parser)::Proto.Attribute consume_literal!(parser, "(") consume_literal!(parser, "attribute") - _t747 = parse_name(parser) - name201 = _t747 + _t756 = parse_name(parser) + name201 = _t756 xs202 = Proto.Value[] cond203 = (((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond203 - _t748 = parse_value(parser) - item204 = _t748 + _t757 = parse_value(parser) + item204 = _t757 push!(xs202, item204) cond203 = (((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end values205 = xs202 consume_literal!(parser, ")") - _t749 = Proto.Attribute(name=name201, args=values205) - return _t749 + _t758 = Proto.Attribute(name=name201, args=values205) + return _t758 end function parse_algorithm(parser::Parser)::Proto.Algorithm @@ -2608,17 +2619,17 @@ function parse_algorithm(parser::Parser)::Proto.Algorithm xs206 = Proto.RelationId[] cond207 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) while cond207 - _t750 = parse_relation_id(parser) - item208 = _t750 + _t759 = parse_relation_id(parser) + item208 = _t759 push!(xs206, item208) cond207 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) end relation_ids209 = xs206 - _t751 = parse_script(parser) - script210 = _t751 + _t760 = parse_script(parser) + script210 = _t760 consume_literal!(parser, ")") - _t752 = Proto.Algorithm(var"#global"=relation_ids209, body=script210) - return _t752 + _t761 = Proto.Algorithm(var"#global"=relation_ids209, body=script210) + return _t761 end function parse_script(parser::Parser)::Proto.Script @@ -2627,15 +2638,15 @@ function parse_script(parser::Parser)::Proto.Script xs211 = Proto.Construct[] cond212 = match_lookahead_literal(parser, "(", 0) while cond212 - _t753 = parse_construct(parser) - item213 = _t753 + _t762 = parse_construct(parser) + item213 = _t762 push!(xs211, item213) cond212 = match_lookahead_literal(parser, "(", 0) end constructs214 = xs211 consume_literal!(parser, ")") - _t754 = Proto.Script(constructs=constructs214) - return _t754 + _t763 = Proto.Script(constructs=constructs214) + return _t763 end function parse_construct(parser::Parser)::Proto.Construct @@ -2643,76 +2654,76 @@ function parse_construct(parser::Parser)::Proto.Construct if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "upsert", 1) - _t756 = 1 + _t765 = 1 else if match_lookahead_literal(parser, "monus", 1) - _t757 = 1 + _t766 = 1 else if match_lookahead_literal(parser, "monoid", 1) - _t758 = 1 + _t767 = 1 else if match_lookahead_literal(parser, "loop", 1) - _t759 = 0 + _t768 = 0 else if match_lookahead_literal(parser, "break", 1) - _t760 = 1 + _t769 = 1 else if match_lookahead_literal(parser, "assign", 1) - _t761 = 1 + _t770 = 1 else - _t761 = -1 + _t770 = -1 end - _t760 = _t761 + _t769 = _t770 end - _t759 = _t760 + _t768 = _t769 end - _t758 = _t759 + _t767 = _t768 end - _t757 = _t758 + _t766 = _t767 end - _t756 = _t757 + _t765 = _t766 end - _t755 = _t756 + _t764 = _t765 else - _t755 = -1 + _t764 = -1 end - prediction215 = _t755 + prediction215 = _t764 if prediction215 == 1 - _t763 = parse_instruction(parser) - instruction217 = _t763 - _t764 = Proto.Construct(construct_type=OneOf(:instruction, instruction217)) - _t762 = _t764 + _t772 = parse_instruction(parser) + instruction217 = _t772 + _t773 = Proto.Construct(construct_type=OneOf(:instruction, instruction217)) + _t771 = _t773 else if prediction215 == 0 - _t766 = parse_loop(parser) - loop216 = _t766 - _t767 = Proto.Construct(construct_type=OneOf(:loop, loop216)) - _t765 = _t767 + _t775 = parse_loop(parser) + loop216 = _t775 + _t776 = Proto.Construct(construct_type=OneOf(:loop, loop216)) + _t774 = _t776 else throw(ParseError("Unexpected token in construct" * ": " * string(lookahead(parser, 0)))) end - _t762 = _t765 + _t771 = _t774 end - return _t762 + return _t771 end function parse_loop(parser::Parser)::Proto.Loop consume_literal!(parser, "(") consume_literal!(parser, "loop") - _t768 = parse_init(parser) - init218 = _t768 - _t769 = parse_script(parser) - script219 = _t769 + _t777 = parse_init(parser) + init218 = _t777 + _t778 = parse_script(parser) + script219 = _t778 consume_literal!(parser, ")") - _t770 = Proto.Loop(init=init218, body=script219) - return _t770 + _t779 = Proto.Loop(init=init218, body=script219) + return _t779 end function parse_init(parser::Parser)::Vector{Proto.Instruction} @@ -2721,8 +2732,8 @@ function parse_init(parser::Parser)::Vector{Proto.Instruction} xs220 = Proto.Instruction[] cond221 = match_lookahead_literal(parser, "(", 0) while cond221 - _t771 = parse_instruction(parser) - item222 = _t771 + _t780 = parse_instruction(parser) + item222 = _t780 push!(xs220, item222) cond221 = match_lookahead_literal(parser, "(", 0) end @@ -2736,178 +2747,178 @@ function parse_instruction(parser::Parser)::Proto.Instruction if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "upsert", 1) - _t773 = 1 + _t782 = 1 else if match_lookahead_literal(parser, "monus", 1) - _t774 = 4 + _t783 = 4 else if match_lookahead_literal(parser, "monoid", 1) - _t775 = 3 + _t784 = 3 else if match_lookahead_literal(parser, "break", 1) - _t776 = 2 + _t785 = 2 else if match_lookahead_literal(parser, "assign", 1) - _t777 = 0 + _t786 = 0 else - _t777 = -1 + _t786 = -1 end - _t776 = _t777 + _t785 = _t786 end - _t775 = _t776 + _t784 = _t785 end - _t774 = _t775 + _t783 = _t784 end - _t773 = _t774 + _t782 = _t783 end - _t772 = _t773 + _t781 = _t782 else - _t772 = -1 + _t781 = -1 end - prediction224 = _t772 + prediction224 = _t781 if prediction224 == 4 - _t779 = parse_monus_def(parser) - monus_def229 = _t779 - _t780 = Proto.Instruction(instr_type=OneOf(:monus_def, monus_def229)) - _t778 = _t780 + _t788 = parse_monus_def(parser) + monus_def229 = _t788 + _t789 = Proto.Instruction(instr_type=OneOf(:monus_def, monus_def229)) + _t787 = _t789 else if prediction224 == 3 - _t782 = parse_monoid_def(parser) - monoid_def228 = _t782 - _t783 = Proto.Instruction(instr_type=OneOf(:monoid_def, monoid_def228)) - _t781 = _t783 + _t791 = parse_monoid_def(parser) + monoid_def228 = _t791 + _t792 = Proto.Instruction(instr_type=OneOf(:monoid_def, monoid_def228)) + _t790 = _t792 else if prediction224 == 2 - _t785 = parse_break(parser) - break227 = _t785 - _t786 = Proto.Instruction(instr_type=OneOf(:var"#break", break227)) - _t784 = _t786 + _t794 = parse_break(parser) + break227 = _t794 + _t795 = Proto.Instruction(instr_type=OneOf(:var"#break", break227)) + _t793 = _t795 else if prediction224 == 1 - _t788 = parse_upsert(parser) - upsert226 = _t788 - _t789 = Proto.Instruction(instr_type=OneOf(:upsert, upsert226)) - _t787 = _t789 + _t797 = parse_upsert(parser) + upsert226 = _t797 + _t798 = Proto.Instruction(instr_type=OneOf(:upsert, upsert226)) + _t796 = _t798 else if prediction224 == 0 - _t791 = parse_assign(parser) - assign225 = _t791 - _t792 = Proto.Instruction(instr_type=OneOf(:assign, assign225)) - _t790 = _t792 + _t800 = parse_assign(parser) + assign225 = _t800 + _t801 = Proto.Instruction(instr_type=OneOf(:assign, assign225)) + _t799 = _t801 else throw(ParseError("Unexpected token in instruction" * ": " * string(lookahead(parser, 0)))) end - _t787 = _t790 + _t796 = _t799 end - _t784 = _t787 + _t793 = _t796 end - _t781 = _t784 + _t790 = _t793 end - _t778 = _t781 + _t787 = _t790 end - return _t778 + return _t787 end function parse_assign(parser::Parser)::Proto.Assign consume_literal!(parser, "(") consume_literal!(parser, "assign") - _t793 = parse_relation_id(parser) - relation_id230 = _t793 - _t794 = parse_abstraction(parser) - abstraction231 = _t794 + _t802 = parse_relation_id(parser) + relation_id230 = _t802 + _t803 = parse_abstraction(parser) + abstraction231 = _t803 if match_lookahead_literal(parser, "(", 0) - _t796 = parse_attrs(parser) - _t795 = _t796 + _t805 = parse_attrs(parser) + _t804 = _t805 else - _t795 = nothing + _t804 = nothing end - attrs232 = _t795 + attrs232 = _t804 consume_literal!(parser, ")") - _t797 = Proto.Assign(name=relation_id230, body=abstraction231, attrs=(!isnothing(attrs232) ? attrs232 : Proto.Attribute[])) - return _t797 + _t806 = Proto.Assign(name=relation_id230, body=abstraction231, attrs=(!isnothing(attrs232) ? attrs232 : Proto.Attribute[])) + return _t806 end function parse_upsert(parser::Parser)::Proto.Upsert consume_literal!(parser, "(") consume_literal!(parser, "upsert") - _t798 = parse_relation_id(parser) - relation_id233 = _t798 - _t799 = parse_abstraction_with_arity(parser) - abstraction_with_arity234 = _t799 + _t807 = parse_relation_id(parser) + relation_id233 = _t807 + _t808 = parse_abstraction_with_arity(parser) + abstraction_with_arity234 = _t808 if match_lookahead_literal(parser, "(", 0) - _t801 = parse_attrs(parser) - _t800 = _t801 + _t810 = parse_attrs(parser) + _t809 = _t810 else - _t800 = nothing + _t809 = nothing end - attrs235 = _t800 + attrs235 = _t809 consume_literal!(parser, ")") - _t802 = Proto.Upsert(name=relation_id233, body=abstraction_with_arity234[1], attrs=(!isnothing(attrs235) ? attrs235 : Proto.Attribute[]), value_arity=abstraction_with_arity234[2]) - return _t802 + _t811 = Proto.Upsert(name=relation_id233, body=abstraction_with_arity234[1], attrs=(!isnothing(attrs235) ? attrs235 : Proto.Attribute[]), value_arity=abstraction_with_arity234[2]) + return _t811 end function parse_abstraction_with_arity(parser::Parser)::Tuple{Proto.Abstraction, Int64} consume_literal!(parser, "(") - _t803 = parse_bindings(parser) - bindings236 = _t803 - _t804 = parse_formula(parser) - formula237 = _t804 + _t812 = parse_bindings(parser) + bindings236 = _t812 + _t813 = parse_formula(parser) + formula237 = _t813 consume_literal!(parser, ")") - _t805 = Proto.Abstraction(vars=vcat(bindings236[1], !isnothing(bindings236[2]) ? bindings236[2] : []), value=formula237) - return (_t805, length(bindings236[2]),) + _t814 = Proto.Abstraction(vars=vcat(bindings236[1], !isnothing(bindings236[2]) ? bindings236[2] : []), value=formula237) + return (_t814, length(bindings236[2]),) end function parse_break(parser::Parser)::Proto.Break consume_literal!(parser, "(") consume_literal!(parser, "break") - _t806 = parse_relation_id(parser) - relation_id238 = _t806 - _t807 = parse_abstraction(parser) - abstraction239 = _t807 + _t815 = parse_relation_id(parser) + relation_id238 = _t815 + _t816 = parse_abstraction(parser) + abstraction239 = _t816 if match_lookahead_literal(parser, "(", 0) - _t809 = parse_attrs(parser) - _t808 = _t809 + _t818 = parse_attrs(parser) + _t817 = _t818 else - _t808 = nothing + _t817 = nothing end - attrs240 = _t808 + attrs240 = _t817 consume_literal!(parser, ")") - _t810 = Proto.Break(name=relation_id238, body=abstraction239, attrs=(!isnothing(attrs240) ? attrs240 : Proto.Attribute[])) - return _t810 + _t819 = Proto.Break(name=relation_id238, body=abstraction239, attrs=(!isnothing(attrs240) ? attrs240 : Proto.Attribute[])) + return _t819 end function parse_monoid_def(parser::Parser)::Proto.MonoidDef consume_literal!(parser, "(") consume_literal!(parser, "monoid") - _t811 = parse_monoid(parser) - monoid241 = _t811 - _t812 = parse_relation_id(parser) - relation_id242 = _t812 - _t813 = parse_abstraction_with_arity(parser) - abstraction_with_arity243 = _t813 + _t820 = parse_monoid(parser) + monoid241 = _t820 + _t821 = parse_relation_id(parser) + relation_id242 = _t821 + _t822 = parse_abstraction_with_arity(parser) + abstraction_with_arity243 = _t822 if match_lookahead_literal(parser, "(", 0) - _t815 = parse_attrs(parser) - _t814 = _t815 + _t824 = parse_attrs(parser) + _t823 = _t824 else - _t814 = nothing + _t823 = nothing end - attrs244 = _t814 + attrs244 = _t823 consume_literal!(parser, ")") - _t816 = Proto.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[1], attrs=(!isnothing(attrs244) ? attrs244 : Proto.Attribute[]), value_arity=abstraction_with_arity243[2]) - return _t816 + _t825 = Proto.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[1], attrs=(!isnothing(attrs244) ? attrs244 : Proto.Attribute[]), value_arity=abstraction_with_arity243[2]) + return _t825 end function parse_monoid(parser::Parser)::Proto.Monoid @@ -2915,147 +2926,147 @@ function parse_monoid(parser::Parser)::Proto.Monoid if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "sum", 1) - _t818 = 3 + _t827 = 3 else if match_lookahead_literal(parser, "or", 1) - _t819 = 0 + _t828 = 0 else if match_lookahead_literal(parser, "min", 1) - _t820 = 1 + _t829 = 1 else if match_lookahead_literal(parser, "max", 1) - _t821 = 2 + _t830 = 2 else - _t821 = -1 + _t830 = -1 end - _t820 = _t821 + _t829 = _t830 end - _t819 = _t820 + _t828 = _t829 end - _t818 = _t819 + _t827 = _t828 end - _t817 = _t818 + _t826 = _t827 else - _t817 = -1 + _t826 = -1 end - prediction245 = _t817 + prediction245 = _t826 if prediction245 == 3 - _t823 = parse_sum_monoid(parser) - sum_monoid249 = _t823 - _t824 = Proto.Monoid(value=OneOf(:sum_monoid, sum_monoid249)) - _t822 = _t824 + _t832 = parse_sum_monoid(parser) + sum_monoid249 = _t832 + _t833 = Proto.Monoid(value=OneOf(:sum_monoid, sum_monoid249)) + _t831 = _t833 else if prediction245 == 2 - _t826 = parse_max_monoid(parser) - max_monoid248 = _t826 - _t827 = Proto.Monoid(value=OneOf(:max_monoid, max_monoid248)) - _t825 = _t827 + _t835 = parse_max_monoid(parser) + max_monoid248 = _t835 + _t836 = Proto.Monoid(value=OneOf(:max_monoid, max_monoid248)) + _t834 = _t836 else if prediction245 == 1 - _t829 = parse_min_monoid(parser) - min_monoid247 = _t829 - _t830 = Proto.Monoid(value=OneOf(:min_monoid, min_monoid247)) - _t828 = _t830 + _t838 = parse_min_monoid(parser) + min_monoid247 = _t838 + _t839 = Proto.Monoid(value=OneOf(:min_monoid, min_monoid247)) + _t837 = _t839 else if prediction245 == 0 - _t832 = parse_or_monoid(parser) - or_monoid246 = _t832 - _t833 = Proto.Monoid(value=OneOf(:or_monoid, or_monoid246)) - _t831 = _t833 + _t841 = parse_or_monoid(parser) + or_monoid246 = _t841 + _t842 = Proto.Monoid(value=OneOf(:or_monoid, or_monoid246)) + _t840 = _t842 else throw(ParseError("Unexpected token in monoid" * ": " * string(lookahead(parser, 0)))) end - _t828 = _t831 + _t837 = _t840 end - _t825 = _t828 + _t834 = _t837 end - _t822 = _t825 + _t831 = _t834 end - return _t822 + return _t831 end function parse_or_monoid(parser::Parser)::Proto.OrMonoid consume_literal!(parser, "(") consume_literal!(parser, "or") consume_literal!(parser, ")") - _t834 = Proto.OrMonoid() - return _t834 + _t843 = Proto.OrMonoid() + return _t843 end function parse_min_monoid(parser::Parser)::Proto.MinMonoid consume_literal!(parser, "(") consume_literal!(parser, "min") - _t835 = parse_type(parser) - type250 = _t835 + _t844 = parse_type(parser) + type250 = _t844 consume_literal!(parser, ")") - _t836 = Proto.MinMonoid(var"#type"=type250) - return _t836 + _t845 = Proto.MinMonoid(var"#type"=type250) + return _t845 end function parse_max_monoid(parser::Parser)::Proto.MaxMonoid consume_literal!(parser, "(") consume_literal!(parser, "max") - _t837 = parse_type(parser) - type251 = _t837 + _t846 = parse_type(parser) + type251 = _t846 consume_literal!(parser, ")") - _t838 = Proto.MaxMonoid(var"#type"=type251) - return _t838 + _t847 = Proto.MaxMonoid(var"#type"=type251) + return _t847 end function parse_sum_monoid(parser::Parser)::Proto.SumMonoid consume_literal!(parser, "(") consume_literal!(parser, "sum") - _t839 = parse_type(parser) - type252 = _t839 + _t848 = parse_type(parser) + type252 = _t848 consume_literal!(parser, ")") - _t840 = Proto.SumMonoid(var"#type"=type252) - return _t840 + _t849 = Proto.SumMonoid(var"#type"=type252) + return _t849 end function parse_monus_def(parser::Parser)::Proto.MonusDef consume_literal!(parser, "(") consume_literal!(parser, "monus") - _t841 = parse_monoid(parser) - monoid253 = _t841 - _t842 = parse_relation_id(parser) - relation_id254 = _t842 - _t843 = parse_abstraction_with_arity(parser) - abstraction_with_arity255 = _t843 + _t850 = parse_monoid(parser) + monoid253 = _t850 + _t851 = parse_relation_id(parser) + relation_id254 = _t851 + _t852 = parse_abstraction_with_arity(parser) + abstraction_with_arity255 = _t852 if match_lookahead_literal(parser, "(", 0) - _t845 = parse_attrs(parser) - _t844 = _t845 + _t854 = parse_attrs(parser) + _t853 = _t854 else - _t844 = nothing + _t853 = nothing end - attrs256 = _t844 + attrs256 = _t853 consume_literal!(parser, ")") - _t846 = Proto.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[1], attrs=(!isnothing(attrs256) ? attrs256 : Proto.Attribute[]), value_arity=abstraction_with_arity255[2]) - return _t846 + _t855 = Proto.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[1], attrs=(!isnothing(attrs256) ? attrs256 : Proto.Attribute[]), value_arity=abstraction_with_arity255[2]) + return _t855 end function parse_constraint(parser::Parser)::Proto.Constraint consume_literal!(parser, "(") consume_literal!(parser, "functional_dependency") - _t847 = parse_relation_id(parser) - relation_id257 = _t847 - _t848 = parse_abstraction(parser) - abstraction258 = _t848 - _t849 = parse_functional_dependency_keys(parser) - functional_dependency_keys259 = _t849 - _t850 = parse_functional_dependency_values(parser) - functional_dependency_values260 = _t850 + _t856 = parse_relation_id(parser) + relation_id257 = _t856 + _t857 = parse_abstraction(parser) + abstraction258 = _t857 + _t858 = parse_functional_dependency_keys(parser) + functional_dependency_keys259 = _t858 + _t859 = parse_functional_dependency_values(parser) + functional_dependency_values260 = _t859 consume_literal!(parser, ")") - _t851 = Proto.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) - _t852 = Proto.Constraint(constraint_type=OneOf(:functional_dependency, _t851), name=relation_id257) - return _t852 + _t860 = Proto.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) + _t861 = Proto.Constraint(constraint_type=OneOf(:functional_dependency, _t860), name=relation_id257) + return _t861 end function parse_functional_dependency_keys(parser::Parser)::Vector{Proto.Var} @@ -3064,8 +3075,8 @@ function parse_functional_dependency_keys(parser::Parser)::Vector{Proto.Var} xs261 = Proto.Var[] cond262 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond262 - _t853 = parse_var(parser) - item263 = _t853 + _t862 = parse_var(parser) + item263 = _t862 push!(xs261, item263) cond262 = match_lookahead_terminal(parser, "SYMBOL", 0) end @@ -3080,8 +3091,8 @@ function parse_functional_dependency_values(parser::Parser)::Vector{Proto.Var} xs265 = Proto.Var[] cond266 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond266 - _t854 = parse_var(parser) - item267 = _t854 + _t863 = parse_var(parser) + item267 = _t863 push!(xs265, item267) cond266 = match_lookahead_terminal(parser, "SYMBOL", 0) end @@ -3095,69 +3106,69 @@ function parse_data(parser::Parser)::Proto.Data if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "rel_edb", 1) - _t856 = 0 + _t865 = 0 else if match_lookahead_literal(parser, "csv_data", 1) - _t857 = 2 + _t866 = 2 else if match_lookahead_literal(parser, "betree_relation", 1) - _t858 = 1 + _t867 = 1 else - _t858 = -1 + _t867 = -1 end - _t857 = _t858 + _t866 = _t867 end - _t856 = _t857 + _t865 = _t866 end - _t855 = _t856 + _t864 = _t865 else - _t855 = -1 + _t864 = -1 end - prediction269 = _t855 + prediction269 = _t864 if prediction269 == 2 - _t860 = parse_csv_data(parser) - csv_data272 = _t860 - _t861 = Proto.Data(data_type=OneOf(:csv_data, csv_data272)) - _t859 = _t861 + _t869 = parse_csv_data(parser) + csv_data272 = _t869 + _t870 = Proto.Data(data_type=OneOf(:csv_data, csv_data272)) + _t868 = _t870 else if prediction269 == 1 - _t863 = parse_betree_relation(parser) - betree_relation271 = _t863 - _t864 = Proto.Data(data_type=OneOf(:betree_relation, betree_relation271)) - _t862 = _t864 + _t872 = parse_betree_relation(parser) + betree_relation271 = _t872 + _t873 = Proto.Data(data_type=OneOf(:betree_relation, betree_relation271)) + _t871 = _t873 else if prediction269 == 0 - _t866 = parse_rel_edb(parser) - rel_edb270 = _t866 - _t867 = Proto.Data(data_type=OneOf(:rel_edb, rel_edb270)) - _t865 = _t867 + _t875 = parse_rel_edb(parser) + rel_edb270 = _t875 + _t876 = Proto.Data(data_type=OneOf(:rel_edb, rel_edb270)) + _t874 = _t876 else throw(ParseError("Unexpected token in data" * ": " * string(lookahead(parser, 0)))) end - _t862 = _t865 + _t871 = _t874 end - _t859 = _t862 + _t868 = _t871 end - return _t859 + return _t868 end function parse_rel_edb(parser::Parser)::Proto.RelEDB consume_literal!(parser, "(") consume_literal!(parser, "rel_edb") - _t868 = parse_relation_id(parser) - relation_id273 = _t868 - _t869 = parse_rel_edb_path(parser) - rel_edb_path274 = _t869 - _t870 = parse_rel_edb_types(parser) - rel_edb_types275 = _t870 + _t877 = parse_relation_id(parser) + relation_id273 = _t877 + _t878 = parse_rel_edb_path(parser) + rel_edb_path274 = _t878 + _t879 = parse_rel_edb_types(parser) + rel_edb_types275 = _t879 consume_literal!(parser, ")") - _t871 = Proto.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) - return _t871 + _t880 = Proto.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) + return _t880 end function parse_rel_edb_path(parser::Parser)::Vector{String} @@ -3179,8 +3190,8 @@ function parse_rel_edb_types(parser::Parser)::Vector{Proto.var"#Type"} xs280 = Proto.var"#Type"[] cond281 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond281 - _t872 = parse_type(parser) - item282 = _t872 + _t881 = parse_type(parser) + item282 = _t881 push!(xs280, item282) cond281 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end @@ -3192,27 +3203,27 @@ end function parse_betree_relation(parser::Parser)::Proto.BeTreeRelation consume_literal!(parser, "(") consume_literal!(parser, "betree_relation") - _t873 = parse_relation_id(parser) - relation_id284 = _t873 - _t874 = parse_betree_info(parser) - betree_info285 = _t874 + _t882 = parse_relation_id(parser) + relation_id284 = _t882 + _t883 = parse_betree_info(parser) + betree_info285 = _t883 consume_literal!(parser, ")") - _t875 = Proto.BeTreeRelation(name=relation_id284, relation_info=betree_info285) - return _t875 + _t884 = Proto.BeTreeRelation(name=relation_id284, relation_info=betree_info285) + return _t884 end function parse_betree_info(parser::Parser)::Proto.BeTreeInfo consume_literal!(parser, "(") consume_literal!(parser, "betree_info") - _t876 = parse_betree_info_key_types(parser) - betree_info_key_types286 = _t876 - _t877 = parse_betree_info_value_types(parser) - betree_info_value_types287 = _t877 - _t878 = parse_config_dict(parser) - config_dict288 = _t878 + _t885 = parse_betree_info_key_types(parser) + betree_info_key_types286 = _t885 + _t886 = parse_betree_info_value_types(parser) + betree_info_value_types287 = _t886 + _t887 = parse_config_dict(parser) + config_dict288 = _t887 consume_literal!(parser, ")") - _t879 = construct_betree_info(parser, betree_info_key_types286, betree_info_value_types287, config_dict288) - return _t879 + _t888 = construct_betree_info(parser, betree_info_key_types286, betree_info_value_types287, config_dict288) + return _t888 end function parse_betree_info_key_types(parser::Parser)::Vector{Proto.var"#Type"} @@ -3221,8 +3232,8 @@ function parse_betree_info_key_types(parser::Parser)::Vector{Proto.var"#Type"} xs289 = Proto.var"#Type"[] cond290 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond290 - _t880 = parse_type(parser) - item291 = _t880 + _t889 = parse_type(parser) + item291 = _t889 push!(xs289, item291) cond290 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end @@ -3237,8 +3248,8 @@ function parse_betree_info_value_types(parser::Parser)::Vector{Proto.var"#Type"} xs293 = Proto.var"#Type"[] cond294 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond294 - _t881 = parse_type(parser) - item295 = _t881 + _t890 = parse_type(parser) + item295 = _t890 push!(xs293, item295) cond294 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end @@ -3250,17 +3261,17 @@ end function parse_csv_data(parser::Parser)::Proto.CSVData consume_literal!(parser, "(") consume_literal!(parser, "csv_data") - _t882 = parse_csvlocator(parser) - csvlocator297 = _t882 - _t883 = parse_csv_config(parser) - csv_config298 = _t883 - _t884 = parse_csv_columns(parser) - csv_columns299 = _t884 - _t885 = parse_csv_asof(parser) - csv_asof300 = _t885 + _t891 = parse_csvlocator(parser) + csvlocator297 = _t891 + _t892 = parse_csv_config(parser) + csv_config298 = _t892 + _t893 = parse_csv_columns(parser) + csv_columns299 = _t893 + _t894 = parse_csv_asof(parser) + csv_asof300 = _t894 consume_literal!(parser, ")") - _t886 = Proto.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) - return _t886 + _t895 = Proto.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) + return _t895 end function parse_csvlocator(parser::Parser)::Proto.CSVLocator @@ -3268,23 +3279,23 @@ function parse_csvlocator(parser::Parser)::Proto.CSVLocator consume_literal!(parser, "csv_locator") if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "paths", 1)) - _t888 = parse_csv_locator_paths(parser) - _t887 = _t888 + _t897 = parse_csv_locator_paths(parser) + _t896 = _t897 else - _t887 = nothing + _t896 = nothing end - csv_locator_paths301 = _t887 + csv_locator_paths301 = _t896 if match_lookahead_literal(parser, "(", 0) - _t890 = parse_csv_locator_inline_data(parser) - _t889 = _t890 + _t899 = parse_csv_locator_inline_data(parser) + _t898 = _t899 else - _t889 = nothing + _t898 = nothing end - csv_locator_inline_data302 = _t889 + csv_locator_inline_data302 = _t898 consume_literal!(parser, ")") - _t891 = Proto.CSVLocator(paths=(!isnothing(csv_locator_paths301) ? csv_locator_paths301 : String[]), inline_data=Vector{UInt8}((!isnothing(csv_locator_inline_data302) ? csv_locator_inline_data302 : ""))) - return _t891 + _t900 = Proto.CSVLocator(paths=(!isnothing(csv_locator_paths301) ? csv_locator_paths301 : String[]), inline_data=Vector{UInt8}((!isnothing(csv_locator_inline_data302) ? csv_locator_inline_data302 : ""))) + return _t900 end function parse_csv_locator_paths(parser::Parser)::Vector{String} @@ -3313,11 +3324,11 @@ end function parse_csv_config(parser::Parser)::Proto.CSVConfig consume_literal!(parser, "(") consume_literal!(parser, "csv_config") - _t892 = parse_config_dict(parser) - config_dict308 = _t892 + _t901 = parse_config_dict(parser) + config_dict308 = _t901 consume_literal!(parser, ")") - _t893 = construct_csv_config(parser, config_dict308) - return _t893 + _t902 = construct_csv_config(parser, config_dict308) + return _t902 end function parse_csv_columns(parser::Parser)::Vector{Proto.CSVColumn} @@ -3326,8 +3337,8 @@ function parse_csv_columns(parser::Parser)::Vector{Proto.CSVColumn} xs309 = Proto.CSVColumn[] cond310 = match_lookahead_literal(parser, "(", 0) while cond310 - _t894 = parse_csv_column(parser) - item311 = _t894 + _t903 = parse_csv_column(parser) + item311 = _t903 push!(xs309, item311) cond310 = match_lookahead_literal(parser, "(", 0) end @@ -3340,22 +3351,22 @@ function parse_csv_column(parser::Parser)::Proto.CSVColumn consume_literal!(parser, "(") consume_literal!(parser, "column") string313 = consume_terminal!(parser, "STRING") - _t895 = parse_relation_id(parser) - relation_id314 = _t895 + _t904 = parse_relation_id(parser) + relation_id314 = _t904 consume_literal!(parser, "[") xs315 = Proto.var"#Type"[] cond316 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond316 - _t896 = parse_type(parser) - item317 = _t896 + _t905 = parse_type(parser) + item317 = _t905 push!(xs315, item317) cond316 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end types318 = xs315 consume_literal!(parser, "]") consume_literal!(parser, ")") - _t897 = Proto.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) - return _t897 + _t906 = Proto.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) + return _t906 end function parse_csv_asof(parser::Parser)::String @@ -3369,11 +3380,11 @@ end function parse_undefine(parser::Parser)::Proto.Undefine consume_literal!(parser, "(") consume_literal!(parser, "undefine") - _t898 = parse_fragment_id(parser) - fragment_id320 = _t898 + _t907 = parse_fragment_id(parser) + fragment_id320 = _t907 consume_literal!(parser, ")") - _t899 = Proto.Undefine(fragment_id=fragment_id320) - return _t899 + _t908 = Proto.Undefine(fragment_id=fragment_id320) + return _t908 end function parse_context(parser::Parser)::Proto.Context @@ -3382,15 +3393,15 @@ function parse_context(parser::Parser)::Proto.Context xs321 = Proto.RelationId[] cond322 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) while cond322 - _t900 = parse_relation_id(parser) - item323 = _t900 + _t909 = parse_relation_id(parser) + item323 = _t909 push!(xs321, item323) cond322 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) end relation_ids324 = xs321 consume_literal!(parser, ")") - _t901 = Proto.Context(relations=relation_ids324) - return _t901 + _t910 = Proto.Context(relations=relation_ids324) + return _t910 end function parse_epoch_reads(parser::Parser)::Vector{Proto.Read} @@ -3399,8 +3410,8 @@ function parse_epoch_reads(parser::Parser)::Vector{Proto.Read} xs325 = Proto.Read[] cond326 = match_lookahead_literal(parser, "(", 0) while cond326 - _t902 = parse_read(parser) - item327 = _t902 + _t911 = parse_read(parser) + item327 = _t911 push!(xs325, item327) cond326 = match_lookahead_literal(parser, "(", 0) end @@ -3414,119 +3425,119 @@ function parse_read(parser::Parser)::Proto.Read if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "what_if", 1) - _t904 = 2 + _t913 = 2 else if match_lookahead_literal(parser, "output", 1) - _t905 = 1 + _t914 = 1 else if match_lookahead_literal(parser, "export", 1) - _t906 = 4 + _t915 = 4 else if match_lookahead_literal(parser, "demand", 1) - _t907 = 0 + _t916 = 0 else if match_lookahead_literal(parser, "abort", 1) - _t908 = 3 + _t917 = 3 else - _t908 = -1 + _t917 = -1 end - _t907 = _t908 + _t916 = _t917 end - _t906 = _t907 + _t915 = _t916 end - _t905 = _t906 + _t914 = _t915 end - _t904 = _t905 + _t913 = _t914 end - _t903 = _t904 + _t912 = _t913 else - _t903 = -1 + _t912 = -1 end - prediction329 = _t903 + prediction329 = _t912 if prediction329 == 4 - _t910 = parse_export(parser) - export334 = _t910 - _t911 = Proto.Read(read_type=OneOf(:var"#export", export334)) - _t909 = _t911 + _t919 = parse_export(parser) + export334 = _t919 + _t920 = Proto.Read(read_type=OneOf(:var"#export", export334)) + _t918 = _t920 else if prediction329 == 3 - _t913 = parse_abort(parser) - abort333 = _t913 - _t914 = Proto.Read(read_type=OneOf(:abort, abort333)) - _t912 = _t914 + _t922 = parse_abort(parser) + abort333 = _t922 + _t923 = Proto.Read(read_type=OneOf(:abort, abort333)) + _t921 = _t923 else if prediction329 == 2 - _t916 = parse_what_if(parser) - what_if332 = _t916 - _t917 = Proto.Read(read_type=OneOf(:what_if, what_if332)) - _t915 = _t917 + _t925 = parse_what_if(parser) + what_if332 = _t925 + _t926 = Proto.Read(read_type=OneOf(:what_if, what_if332)) + _t924 = _t926 else if prediction329 == 1 - _t919 = parse_output(parser) - output331 = _t919 - _t920 = Proto.Read(read_type=OneOf(:output, output331)) - _t918 = _t920 + _t928 = parse_output(parser) + output331 = _t928 + _t929 = Proto.Read(read_type=OneOf(:output, output331)) + _t927 = _t929 else if prediction329 == 0 - _t922 = parse_demand(parser) - demand330 = _t922 - _t923 = Proto.Read(read_type=OneOf(:demand, demand330)) - _t921 = _t923 + _t931 = parse_demand(parser) + demand330 = _t931 + _t932 = Proto.Read(read_type=OneOf(:demand, demand330)) + _t930 = _t932 else throw(ParseError("Unexpected token in read" * ": " * string(lookahead(parser, 0)))) end - _t918 = _t921 + _t927 = _t930 end - _t915 = _t918 + _t924 = _t927 end - _t912 = _t915 + _t921 = _t924 end - _t909 = _t912 + _t918 = _t921 end - return _t909 + return _t918 end function parse_demand(parser::Parser)::Proto.Demand consume_literal!(parser, "(") consume_literal!(parser, "demand") - _t924 = parse_relation_id(parser) - relation_id335 = _t924 + _t933 = parse_relation_id(parser) + relation_id335 = _t933 consume_literal!(parser, ")") - _t925 = Proto.Demand(relation_id=relation_id335) - return _t925 + _t934 = Proto.Demand(relation_id=relation_id335) + return _t934 end function parse_output(parser::Parser)::Proto.Output consume_literal!(parser, "(") consume_literal!(parser, "output") - _t926 = parse_name(parser) - name336 = _t926 - _t927 = parse_relation_id(parser) - relation_id337 = _t927 + _t935 = parse_name(parser) + name336 = _t935 + _t936 = parse_relation_id(parser) + relation_id337 = _t936 consume_literal!(parser, ")") - _t928 = Proto.Output(name=name336, relation_id=relation_id337) - return _t928 + _t937 = Proto.Output(name=name336, relation_id=relation_id337) + return _t937 end function parse_what_if(parser::Parser)::Proto.WhatIf consume_literal!(parser, "(") consume_literal!(parser, "what_if") - _t929 = parse_name(parser) - name338 = _t929 - _t930 = parse_epoch(parser) - epoch339 = _t930 + _t938 = parse_name(parser) + name338 = _t938 + _t939 = parse_epoch(parser) + epoch339 = _t939 consume_literal!(parser, ")") - _t931 = Proto.WhatIf(branch=name338, epoch=epoch339) - return _t931 + _t940 = Proto.WhatIf(branch=name338, epoch=epoch339) + return _t940 end function parse_abort(parser::Parser)::Proto.Abort @@ -3534,76 +3545,166 @@ function parse_abort(parser::Parser)::Proto.Abort consume_literal!(parser, "abort") if (match_lookahead_literal(parser, ":", 0) && match_lookahead_terminal(parser, "SYMBOL", 1)) - _t933 = parse_name(parser) - _t932 = _t933 + _t942 = parse_name(parser) + _t941 = _t942 else - _t932 = nothing + _t941 = nothing end - name340 = _t932 - _t934 = parse_relation_id(parser) - relation_id341 = _t934 + name340 = _t941 + _t943 = parse_relation_id(parser) + relation_id341 = _t943 consume_literal!(parser, ")") - _t935 = Proto.Abort(name=(!isnothing(name340) ? name340 : "abort"), relation_id=relation_id341) - return _t935 + _t944 = Proto.Abort(name=(!isnothing(name340) ? name340 : "abort"), relation_id=relation_id341) + return _t944 end function parse_export(parser::Parser)::Proto.Export consume_literal!(parser, "(") consume_literal!(parser, "export") - _t936 = parse_export_csv_config(parser) - export_csv_config342 = _t936 + _t945 = parse_export_csv_config(parser) + export_csv_config342 = _t945 consume_literal!(parser, ")") - _t937 = Proto.Export(export_config=OneOf(:csv_config, export_csv_config342)) - return _t937 + _t946 = Proto.Export(export_config=OneOf(:csv_config, export_csv_config342)) + return _t946 end function parse_export_csv_config(parser::Parser)::Proto.ExportCSVConfig - consume_literal!(parser, "(") - consume_literal!(parser, "export_csv_config") - _t938 = parse_export_csv_path(parser) - export_csv_path343 = _t938 - _t939 = parse_export_csv_columns(parser) - export_csv_columns344 = _t939 - _t940 = parse_config_dict(parser) - config_dict345 = _t940 - consume_literal!(parser, ")") - _t941 = export_csv_config(parser, export_csv_path343, export_csv_columns344, config_dict345) - return _t941 + + if match_lookahead_literal(parser, "(", 0) + + if match_lookahead_literal(parser, "export_csv_config_v2", 1) + _t948 = 0 + else + + if match_lookahead_literal(parser, "export_csv_config", 1) + _t949 = 1 + else + _t949 = -1 + end + _t948 = _t949 + end + _t947 = _t948 + else + _t947 = -1 + end + prediction343 = _t947 + + if prediction343 == 1 + consume_literal!(parser, "(") + consume_literal!(parser, "export_csv_config") + _t951 = parse_export_csv_path(parser) + export_csv_path347 = _t951 + consume_literal!(parser, "(") + consume_literal!(parser, "columns") + xs348 = Proto.ExportCSVColumn[] + cond349 = match_lookahead_literal(parser, "(", 0) + while cond349 + _t952 = parse_export_csv_column(parser) + item350 = _t952 + push!(xs348, item350) + cond349 = match_lookahead_literal(parser, "(", 0) + end + export_csv_columns351 = xs348 + consume_literal!(parser, ")") + _t953 = parse_config_dict(parser) + config_dict352 = _t953 + consume_literal!(parser, ")") + _t954 = construct_export_csv_config(parser, export_csv_path347, export_csv_columns351, config_dict352) + _t950 = _t954 + else + + if prediction343 == 0 + consume_literal!(parser, "(") + consume_literal!(parser, "export_csv_config_v2") + _t956 = parse_export_csv_path(parser) + export_csv_path344 = _t956 + _t957 = parse_export_csv_source(parser) + export_csv_source345 = _t957 + _t958 = parse_csv_config(parser) + csv_config346 = _t958 + consume_literal!(parser, ")") + _t959 = construct_export_csv_config_with_source(parser, export_csv_path344, export_csv_source345, csv_config346) + _t955 = _t959 + else + throw(ParseError("Unexpected token in export_csv_config" * ": " * string(lookahead(parser, 0)))) + end + _t950 = _t955 + end + return _t950 end function parse_export_csv_path(parser::Parser)::String consume_literal!(parser, "(") consume_literal!(parser, "path") - string346 = consume_terminal!(parser, "STRING") + string353 = consume_terminal!(parser, "STRING") consume_literal!(parser, ")") - return string346 + return string353 end -function parse_export_csv_columns(parser::Parser)::Vector{Proto.ExportCSVColumn} - consume_literal!(parser, "(") - consume_literal!(parser, "columns") - xs347 = Proto.ExportCSVColumn[] - cond348 = match_lookahead_literal(parser, "(", 0) - while cond348 - _t942 = parse_export_csv_column(parser) - item349 = _t942 - push!(xs347, item349) - cond348 = match_lookahead_literal(parser, "(", 0) +function parse_export_csv_source(parser::Parser)::Proto.ExportCSVSource + + if match_lookahead_literal(parser, "(", 0) + + if match_lookahead_literal(parser, "table_def", 1) + _t961 = 1 + else + + if match_lookahead_literal(parser, "gnf_columns", 1) + _t962 = 0 + else + _t962 = -1 + end + _t961 = _t962 + end + _t960 = _t961 + else + _t960 = -1 end - export_csv_columns350 = xs347 - consume_literal!(parser, ")") - return export_csv_columns350 + prediction354 = _t960 + + if prediction354 == 1 + consume_literal!(parser, "(") + consume_literal!(parser, "table_def") + _t964 = parse_relation_id(parser) + relation_id359 = _t964 + consume_literal!(parser, ")") + _t965 = Proto.ExportCSVSource(csv_source=OneOf(:table_def, relation_id359)) + _t963 = _t965 + else + + if prediction354 == 0 + consume_literal!(parser, "(") + consume_literal!(parser, "gnf_columns") + xs355 = Proto.ExportCSVColumn[] + cond356 = match_lookahead_literal(parser, "(", 0) + while cond356 + _t967 = parse_export_csv_column(parser) + item357 = _t967 + push!(xs355, item357) + cond356 = match_lookahead_literal(parser, "(", 0) + end + export_csv_columns358 = xs355 + consume_literal!(parser, ")") + _t968 = Proto.ExportCSVColumns(columns=export_csv_columns358) + _t969 = Proto.ExportCSVSource(csv_source=OneOf(:gnf_columns, _t968)) + _t966 = _t969 + else + throw(ParseError("Unexpected token in export_csv_source" * ": " * string(lookahead(parser, 0)))) + end + _t963 = _t966 + end + return _t963 end function parse_export_csv_column(parser::Parser)::Proto.ExportCSVColumn consume_literal!(parser, "(") consume_literal!(parser, "column") - string351 = consume_terminal!(parser, "STRING") - _t943 = parse_relation_id(parser) - relation_id352 = _t943 + string360 = consume_terminal!(parser, "STRING") + _t970 = parse_relation_id(parser) + relation_id361 = _t970 consume_literal!(parser, ")") - _t944 = Proto.ExportCSVColumn(column_name=string351, column_data=relation_id352) - return _t944 + _t971 = Proto.ExportCSVColumn(column_name=string360, column_data=relation_id361) + return _t971 end diff --git a/python-tools/src/lqp/gen/parser.py b/python-tools/src/lqp/gen/parser.py index 76ee605b..0d6b168b 100644 --- a/python-tools/src/lqp/gen/parser.py +++ b/python-tools/src/lqp/gen/parser.py @@ -282,10 +282,10 @@ def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) - if value is not None: assert value is not None - _t945 = value.HasField('int_value') + _t972 = value.HasField('int_value') else: - _t945 = False - if _t945: + _t972 = False + if _t972: assert value is not None return int(value.int_value) return int(default) @@ -294,10 +294,10 @@ def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) - if value is not None: assert value is not None - _t946 = value.HasField('int_value') + _t973 = value.HasField('int_value') else: - _t946 = False - if _t946: + _t973 = False + if _t973: assert value is not None return value.int_value return default @@ -306,10 +306,10 @@ def _extract_value_float64(self, value: Optional[logic_pb2.Value], default: floa if value is not None: assert value is not None - _t947 = value.HasField('float_value') + _t974 = value.HasField('float_value') else: - _t947 = False - if _t947: + _t974 = False + if _t974: assert value is not None return value.float_value return default @@ -318,10 +318,10 @@ def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) if value is not None: assert value is not None - _t948 = value.HasField('string_value') + _t975 = value.HasField('string_value') else: - _t948 = False - if _t948: + _t975 = False + if _t975: assert value is not None return value.string_value return default @@ -330,10 +330,10 @@ def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool if value is not None: assert value is not None - _t949 = value.HasField('boolean_value') + _t976 = value.HasField('boolean_value') else: - _t949 = False - if _t949: + _t976 = False + if _t976: assert value is not None return value.boolean_value return default @@ -342,10 +342,10 @@ def _extract_value_bytes(self, value: Optional[logic_pb2.Value], default: bytes) if value is not None: assert value is not None - _t950 = value.HasField('string_value') + _t977 = value.HasField('string_value') else: - _t950 = False - if _t950: + _t977 = False + if _t977: assert value is not None return value.string_value.encode() return default @@ -354,10 +354,10 @@ def _extract_value_uint128(self, value: Optional[logic_pb2.Value], default: logi if value is not None: assert value is not None - _t951 = value.HasField('uint128_value') + _t978 = value.HasField('uint128_value') else: - _t951 = False - if _t951: + _t978 = False + if _t978: assert value is not None return value.uint128_value return default @@ -366,10 +366,10 @@ def _extract_value_string_list(self, value: Optional[logic_pb2.Value], default: if value is not None: assert value is not None - _t952 = value.HasField('string_value') + _t979 = value.HasField('string_value') else: - _t952 = False - if _t952: + _t979 = False + if _t979: assert value is not None return [value.string_value] return default @@ -378,10 +378,10 @@ def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional if value is not None: assert value is not None - _t953 = value.HasField('int_value') + _t980 = value.HasField('int_value') else: - _t953 = False - if _t953: + _t980 = False + if _t980: assert value is not None return value.int_value return None @@ -390,10 +390,10 @@ def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Option if value is not None: assert value is not None - _t954 = value.HasField('float_value') + _t981 = value.HasField('float_value') else: - _t954 = False - if _t954: + _t981 = False + if _t981: assert value is not None return value.float_value return None @@ -402,10 +402,10 @@ def _try_extract_value_string(self, value: Optional[logic_pb2.Value]) -> Optiona if value is not None: assert value is not None - _t955 = value.HasField('string_value') + _t982 = value.HasField('string_value') else: - _t955 = False - if _t955: + _t982 = False + if _t982: assert value is not None return value.string_value return None @@ -414,10 +414,10 @@ def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional if value is not None: assert value is not None - _t956 = value.HasField('string_value') + _t983 = value.HasField('string_value') else: - _t956 = False - if _t956: + _t983 = False + if _t983: assert value is not None return value.string_value.encode() return None @@ -426,10 +426,10 @@ def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Option if value is not None: assert value is not None - _t957 = value.HasField('uint128_value') + _t984 = value.HasField('uint128_value') else: - _t957 = False - if _t957: + _t984 = False + if _t984: assert value is not None return value.uint128_value return None @@ -438,71 +438,73 @@ def _try_extract_value_string_list(self, value: Optional[logic_pb2.Value]) -> Op if value is not None: assert value is not None - _t958 = value.HasField('string_value') + _t985 = value.HasField('string_value') else: - _t958 = False - if _t958: + _t985 = False + if _t985: assert value is not None return [value.string_value] return None def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: config = dict(config_dict) - _t959 = self._extract_value_int32(config.get('csv_header_row'), 1) - header_row = _t959 - _t960 = self._extract_value_int64(config.get('csv_skip'), 0) - skip = _t960 - _t961 = self._extract_value_string(config.get('csv_new_line'), '') - new_line = _t961 - _t962 = self._extract_value_string(config.get('csv_delimiter'), ',') - delimiter = _t962 - _t963 = self._extract_value_string(config.get('csv_quotechar'), '"') - quotechar = _t963 - _t964 = self._extract_value_string(config.get('csv_escapechar'), '"') - escapechar = _t964 - _t965 = self._extract_value_string(config.get('csv_comment'), '') - comment = _t965 - _t966 = self._extract_value_string_list(config.get('csv_missing_strings'), []) - missing_strings = _t966 - _t967 = self._extract_value_string(config.get('csv_decimal_separator'), '.') - decimal_separator = _t967 - _t968 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') - encoding = _t968 - _t969 = self._extract_value_string(config.get('csv_compression'), 'auto') - compression = _t969 - _t970 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression) - return _t970 + _t986 = self._extract_value_int32(config.get('csv_header_row'), 1) + header_row = _t986 + _t987 = self._extract_value_int64(config.get('csv_skip'), 0) + skip = _t987 + _t988 = self._extract_value_string(config.get('csv_new_line'), '') + new_line = _t988 + _t989 = self._extract_value_string(config.get('csv_delimiter'), ',') + delimiter = _t989 + _t990 = self._extract_value_string(config.get('csv_quotechar'), '"') + quotechar = _t990 + _t991 = self._extract_value_string(config.get('csv_escapechar'), '"') + escapechar = _t991 + _t992 = self._extract_value_string(config.get('csv_comment'), '') + comment = _t992 + _t993 = self._extract_value_string_list(config.get('csv_missing_strings'), []) + missing_strings = _t993 + _t994 = self._extract_value_string(config.get('csv_decimal_separator'), '.') + decimal_separator = _t994 + _t995 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') + encoding = _t995 + _t996 = self._extract_value_string(config.get('csv_compression'), 'auto') + compression = _t996 + _t997 = self._extract_value_int64(config.get('partition_size'), 0) + partition_size = _t997 + _t998 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size=partition_size) + return _t998 def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: config = dict(config_dict) - _t971 = self._try_extract_value_float64(config.get('betree_config_epsilon')) - epsilon = _t971 - _t972 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) - max_pivots = _t972 - _t973 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) - max_deltas = _t973 - _t974 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) - max_leaf = _t974 - _t975 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t975 - _t976 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) - root_pageid = _t976 - _t977 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) - inline_data = _t977 - _t978 = self._try_extract_value_int64(config.get('betree_locator_element_count')) - element_count = _t978 - _t979 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) - tree_height = _t979 - _t980 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) - relation_locator = _t980 - _t981 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t981 + _t999 = self._try_extract_value_float64(config.get('betree_config_epsilon')) + epsilon = _t999 + _t1000 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) + max_pivots = _t1000 + _t1001 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) + max_deltas = _t1001 + _t1002 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) + max_leaf = _t1002 + _t1003 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t1003 + _t1004 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) + root_pageid = _t1004 + _t1005 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) + inline_data = _t1005 + _t1006 = self._try_extract_value_int64(config.get('betree_locator_element_count')) + element_count = _t1006 + _t1007 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) + tree_height = _t1007 + _t1008 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) + relation_locator = _t1008 + _t1009 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) + return _t1009 def default_configure(self) -> transactions_pb2.Configure: - _t982 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t982 - _t983 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) - return _t983 + _t1010 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t1010 + _t1011 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) + return _t1011 def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.Configure: config = dict(config_dict) @@ -519,55 +521,59 @@ def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]] maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL else: maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - _t984 = transactions_pb2.IVMConfig(level=maintenance_level) - ivm_config = _t984 - _t985 = self._extract_value_int64(config.get('semantics_version'), 0) - semantics_version = _t985 - _t986 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t986 - - def export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: + _t1012 = transactions_pb2.IVMConfig(level=maintenance_level) + ivm_config = _t1012 + _t1013 = self._extract_value_int64(config.get('semantics_version'), 0) + semantics_version = _t1013 + _t1014 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t1014 + + def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: config = dict(config_dict) - _t987 = self._extract_value_int64(config.get('partition_size'), 0) - partition_size = _t987 - _t988 = self._extract_value_string(config.get('compression'), '') - compression = _t988 - _t989 = self._extract_value_boolean(config.get('syntax_header_row'), True) - syntax_header_row = _t989 - _t990 = self._extract_value_string(config.get('syntax_missing_string'), '') - syntax_missing_string = _t990 - _t991 = self._extract_value_string(config.get('syntax_delim'), ',') - syntax_delim = _t991 - _t992 = self._extract_value_string(config.get('syntax_quotechar'), '"') - syntax_quotechar = _t992 - _t993 = self._extract_value_string(config.get('syntax_escapechar'), '\\') - syntax_escapechar = _t993 - _t994 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t994 + _t1015 = self._extract_value_int64(config.get('partition_size'), 0) + partition_size = _t1015 + _t1016 = self._extract_value_string(config.get('compression'), '') + compression = _t1016 + _t1017 = self._extract_value_boolean(config.get('syntax_header_row'), True) + syntax_header_row = _t1017 + _t1018 = self._extract_value_string(config.get('syntax_missing_string'), '') + syntax_missing_string = _t1018 + _t1019 = self._extract_value_string(config.get('syntax_delim'), ',') + syntax_delim = _t1019 + _t1020 = self._extract_value_string(config.get('syntax_quotechar'), '"') + syntax_quotechar = _t1020 + _t1021 = self._extract_value_string(config.get('syntax_escapechar'), '\\') + syntax_escapechar = _t1021 + _t1022 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t1022 + + def construct_export_csv_config_with_source(self, path: str, csv_source: Any, csv_config: Optional[logic_pb2.CSVConfig]) -> transactions_pb2.ExportCSVConfig: + _t1023 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t1023 def _make_value_int32(self, v: int) -> logic_pb2.Value: - _t995 = logic_pb2.Value(int_value=int(v)) - return _t995 + _t1024 = logic_pb2.Value(int_value=int(v)) + return _t1024 def _make_value_int64(self, v: int) -> logic_pb2.Value: - _t996 = logic_pb2.Value(int_value=v) - return _t996 + _t1025 = logic_pb2.Value(int_value=v) + return _t1025 def _make_value_float64(self, v: float) -> logic_pb2.Value: - _t997 = logic_pb2.Value(float_value=v) - return _t997 + _t1026 = logic_pb2.Value(float_value=v) + return _t1026 def _make_value_string(self, v: str) -> logic_pb2.Value: - _t998 = logic_pb2.Value(string_value=v) - return _t998 + _t1027 = logic_pb2.Value(string_value=v) + return _t1027 def _make_value_boolean(self, v: bool) -> logic_pb2.Value: - _t999 = logic_pb2.Value(boolean_value=v) - return _t999 + _t1028 = logic_pb2.Value(boolean_value=v) + return _t1028 def _make_value_uint128(self, v: logic_pb2.UInt128Value) -> logic_pb2.Value: - _t1000 = logic_pb2.Value(uint128_value=v) - return _t1000 + _t1029 = logic_pb2.Value(uint128_value=v) + return _t1029 def is_default_configure(self, cfg: transactions_pb2.Configure) -> bool: if cfg.semantics_version != 0: @@ -579,105 +585,108 @@ def is_default_configure(self, cfg: transactions_pb2.Configure) -> bool: def deconstruct_configure(self, msg: transactions_pb2.Configure) -> list[tuple[str, logic_pb2.Value]]: result = [] if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO: - _t1001 = self._make_value_string('auto') - result.append(('ivm.maintenance_level', _t1001,)) + _t1030 = self._make_value_string('auto') + result.append(('ivm.maintenance_level', _t1030,)) else: if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL: - _t1002 = self._make_value_string('all') - result.append(('ivm.maintenance_level', _t1002,)) + _t1031 = self._make_value_string('all') + result.append(('ivm.maintenance_level', _t1031,)) else: if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF: - _t1003 = self._make_value_string('off') - result.append(('ivm.maintenance_level', _t1003,)) - _t1004 = self._make_value_int64(msg.semantics_version) - result.append(('semantics_version', _t1004,)) + _t1032 = self._make_value_string('off') + result.append(('ivm.maintenance_level', _t1032,)) + _t1033 = self._make_value_int64(msg.semantics_version) + result.append(('semantics_version', _t1033,)) return sorted(result) def deconstruct_csv_config(self, msg: logic_pb2.CSVConfig) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1005 = self._make_value_int32(msg.header_row) - result.append(('csv_header_row', _t1005,)) - _t1006 = self._make_value_int64(msg.skip) - result.append(('csv_skip', _t1006,)) + _t1034 = self._make_value_int32(msg.header_row) + result.append(('csv_header_row', _t1034,)) + _t1035 = self._make_value_int64(msg.skip) + result.append(('csv_skip', _t1035,)) if msg.new_line != '': - _t1007 = self._make_value_string(msg.new_line) - result.append(('csv_new_line', _t1007,)) - _t1008 = self._make_value_string(msg.delimiter) - result.append(('csv_delimiter', _t1008,)) - _t1009 = self._make_value_string(msg.quotechar) - result.append(('csv_quotechar', _t1009,)) - _t1010 = self._make_value_string(msg.escapechar) - result.append(('csv_escapechar', _t1010,)) + _t1036 = self._make_value_string(msg.new_line) + result.append(('csv_new_line', _t1036,)) + _t1037 = self._make_value_string(msg.delimiter) + result.append(('csv_delimiter', _t1037,)) + _t1038 = self._make_value_string(msg.quotechar) + result.append(('csv_quotechar', _t1038,)) + _t1039 = self._make_value_string(msg.escapechar) + result.append(('csv_escapechar', _t1039,)) if msg.comment != '': - _t1011 = self._make_value_string(msg.comment) - result.append(('csv_comment', _t1011,)) + _t1040 = self._make_value_string(msg.comment) + result.append(('csv_comment', _t1040,)) for missing_string in msg.missing_strings: - _t1012 = self._make_value_string(missing_string) - result.append(('csv_missing_strings', _t1012,)) - _t1013 = self._make_value_string(msg.decimal_separator) - result.append(('csv_decimal_separator', _t1013,)) - _t1014 = self._make_value_string(msg.encoding) - result.append(('csv_encoding', _t1014,)) - _t1015 = self._make_value_string(msg.compression) - result.append(('csv_compression', _t1015,)) + _t1041 = self._make_value_string(missing_string) + result.append(('csv_missing_strings', _t1041,)) + _t1042 = self._make_value_string(msg.decimal_separator) + result.append(('csv_decimal_separator', _t1042,)) + _t1043 = self._make_value_string(msg.encoding) + result.append(('csv_encoding', _t1043,)) + _t1044 = self._make_value_string(msg.compression) + result.append(('csv_compression', _t1044,)) + if msg.partition_size != 0: + _t1045 = self._make_value_int64(msg.partition_size) + result.append(('csv_partition_size', _t1045,)) return sorted(result) def deconstruct_betree_info_config(self, msg: logic_pb2.BeTreeInfo) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1016 = self._make_value_float64(msg.storage_config.epsilon) - result.append(('betree_config_epsilon', _t1016,)) - _t1017 = self._make_value_int64(msg.storage_config.max_pivots) - result.append(('betree_config_max_pivots', _t1017,)) - _t1018 = self._make_value_int64(msg.storage_config.max_deltas) - result.append(('betree_config_max_deltas', _t1018,)) - _t1019 = self._make_value_int64(msg.storage_config.max_leaf) - result.append(('betree_config_max_leaf', _t1019,)) + _t1046 = self._make_value_float64(msg.storage_config.epsilon) + result.append(('betree_config_epsilon', _t1046,)) + _t1047 = self._make_value_int64(msg.storage_config.max_pivots) + result.append(('betree_config_max_pivots', _t1047,)) + _t1048 = self._make_value_int64(msg.storage_config.max_deltas) + result.append(('betree_config_max_deltas', _t1048,)) + _t1049 = self._make_value_int64(msg.storage_config.max_leaf) + result.append(('betree_config_max_leaf', _t1049,)) if msg.relation_locator.HasField('root_pageid'): if msg.relation_locator.root_pageid is not None: assert msg.relation_locator.root_pageid is not None - _t1020 = self._make_value_uint128(msg.relation_locator.root_pageid) - result.append(('betree_locator_root_pageid', _t1020,)) + _t1050 = self._make_value_uint128(msg.relation_locator.root_pageid) + result.append(('betree_locator_root_pageid', _t1050,)) if msg.relation_locator.HasField('inline_data'): if msg.relation_locator.inline_data is not None: assert msg.relation_locator.inline_data is not None - _t1021 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) - result.append(('betree_locator_inline_data', _t1021,)) - _t1022 = self._make_value_int64(msg.relation_locator.element_count) - result.append(('betree_locator_element_count', _t1022,)) - _t1023 = self._make_value_int64(msg.relation_locator.tree_height) - result.append(('betree_locator_tree_height', _t1023,)) + _t1051 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) + result.append(('betree_locator_inline_data', _t1051,)) + _t1052 = self._make_value_int64(msg.relation_locator.element_count) + result.append(('betree_locator_element_count', _t1052,)) + _t1053 = self._make_value_int64(msg.relation_locator.tree_height) + result.append(('betree_locator_tree_height', _t1053,)) return sorted(result) def deconstruct_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> list[tuple[str, logic_pb2.Value]]: result = [] if msg.partition_size is not None: assert msg.partition_size is not None - _t1024 = self._make_value_int64(msg.partition_size) - result.append(('partition_size', _t1024,)) + _t1054 = self._make_value_int64(msg.partition_size) + result.append(('partition_size', _t1054,)) if msg.compression is not None: assert msg.compression is not None - _t1025 = self._make_value_string(msg.compression) - result.append(('compression', _t1025,)) + _t1055 = self._make_value_string(msg.compression) + result.append(('compression', _t1055,)) if msg.syntax_header_row is not None: assert msg.syntax_header_row is not None - _t1026 = self._make_value_boolean(msg.syntax_header_row) - result.append(('syntax_header_row', _t1026,)) + _t1056 = self._make_value_boolean(msg.syntax_header_row) + result.append(('syntax_header_row', _t1056,)) if msg.syntax_missing_string is not None: assert msg.syntax_missing_string is not None - _t1027 = self._make_value_string(msg.syntax_missing_string) - result.append(('syntax_missing_string', _t1027,)) + _t1057 = self._make_value_string(msg.syntax_missing_string) + result.append(('syntax_missing_string', _t1057,)) if msg.syntax_delim is not None: assert msg.syntax_delim is not None - _t1028 = self._make_value_string(msg.syntax_delim) - result.append(('syntax_delim', _t1028,)) + _t1058 = self._make_value_string(msg.syntax_delim) + result.append(('syntax_delim', _t1058,)) if msg.syntax_quotechar is not None: assert msg.syntax_quotechar is not None - _t1029 = self._make_value_string(msg.syntax_quotechar) - result.append(('syntax_quotechar', _t1029,)) + _t1059 = self._make_value_string(msg.syntax_quotechar) + result.append(('syntax_quotechar', _t1059,)) if msg.syntax_escapechar is not None: assert msg.syntax_escapechar is not None - _t1030 = self._make_value_string(msg.syntax_escapechar) - result.append(('syntax_escapechar', _t1030,)) + _t1060 = self._make_value_string(msg.syntax_escapechar) + result.append(('syntax_escapechar', _t1060,)) return sorted(result) def deconstruct_relation_id_string(self, msg: logic_pb2.RelationId) -> Optional[str]: @@ -708,47 +717,47 @@ def parse_transaction(self) -> transactions_pb2.Transaction: self.consume_literal('transaction') if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('configure', 1)): - _t354 = self.parse_configure() - _t353 = _t354 + _t363 = self.parse_configure() + _t362 = _t363 else: - _t353 = None - configure0 = _t353 + _t362 = None + configure0 = _t362 if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('sync', 1)): - _t356 = self.parse_sync() - _t355 = _t356 + _t365 = self.parse_sync() + _t364 = _t365 else: - _t355 = None - sync1 = _t355 + _t364 = None + sync1 = _t364 xs2 = [] cond3 = self.match_lookahead_literal('(', 0) while cond3: - _t357 = self.parse_epoch() - item4 = _t357 + _t366 = self.parse_epoch() + item4 = _t366 xs2.append(item4) cond3 = self.match_lookahead_literal('(', 0) epochs5 = xs2 self.consume_literal(')') - _t358 = self.default_configure() - _t359 = transactions_pb2.Transaction(epochs=epochs5, configure=(configure0 if configure0 is not None else _t358), sync=sync1) - return _t359 + _t367 = self.default_configure() + _t368 = transactions_pb2.Transaction(epochs=epochs5, configure=(configure0 if configure0 is not None else _t367), sync=sync1) + return _t368 def parse_configure(self) -> transactions_pb2.Configure: self.consume_literal('(') self.consume_literal('configure') - _t360 = self.parse_config_dict() - config_dict6 = _t360 + _t369 = self.parse_config_dict() + config_dict6 = _t369 self.consume_literal(')') - _t361 = self.construct_configure(config_dict6) - return _t361 + _t370 = self.construct_configure(config_dict6) + return _t370 def parse_config_dict(self) -> Sequence[tuple[str, logic_pb2.Value]]: self.consume_literal('{') xs7 = [] cond8 = self.match_lookahead_literal(':', 0) while cond8: - _t362 = self.parse_config_key_value() - item9 = _t362 + _t371 = self.parse_config_key_value() + item9 = _t371 xs7.append(item9) cond8 = self.match_lookahead_literal(':', 0) config_key_values10 = xs7 @@ -758,147 +767,147 @@ def parse_config_dict(self) -> Sequence[tuple[str, logic_pb2.Value]]: def parse_config_key_value(self) -> tuple[str, logic_pb2.Value]: self.consume_literal(':') symbol11 = self.consume_terminal('SYMBOL') - _t363 = self.parse_value() - value12 = _t363 + _t372 = self.parse_value() + value12 = _t372 return (symbol11, value12,) def parse_value(self) -> logic_pb2.Value: if self.match_lookahead_literal('true', 0): - _t364 = 9 + _t373 = 9 else: if self.match_lookahead_literal('missing', 0): - _t365 = 8 + _t374 = 8 else: if self.match_lookahead_literal('false', 0): - _t366 = 9 + _t375 = 9 else: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('datetime', 1): - _t368 = 1 + _t377 = 1 else: if self.match_lookahead_literal('date', 1): - _t369 = 0 + _t378 = 0 else: - _t369 = -1 - _t368 = _t369 - _t367 = _t368 + _t378 = -1 + _t377 = _t378 + _t376 = _t377 else: if self.match_lookahead_terminal('UINT128', 0): - _t370 = 5 + _t379 = 5 else: if self.match_lookahead_terminal('STRING', 0): - _t371 = 2 + _t380 = 2 else: if self.match_lookahead_terminal('INT128', 0): - _t372 = 6 + _t381 = 6 else: if self.match_lookahead_terminal('INT', 0): - _t373 = 3 + _t382 = 3 else: if self.match_lookahead_terminal('FLOAT', 0): - _t374 = 4 + _t383 = 4 else: if self.match_lookahead_terminal('DECIMAL', 0): - _t375 = 7 + _t384 = 7 else: - _t375 = -1 - _t374 = _t375 - _t373 = _t374 - _t372 = _t373 - _t371 = _t372 - _t370 = _t371 - _t367 = _t370 - _t366 = _t367 - _t365 = _t366 - _t364 = _t365 - prediction13 = _t364 + _t384 = -1 + _t383 = _t384 + _t382 = _t383 + _t381 = _t382 + _t380 = _t381 + _t379 = _t380 + _t376 = _t379 + _t375 = _t376 + _t374 = _t375 + _t373 = _t374 + prediction13 = _t373 if prediction13 == 9: - _t377 = self.parse_boolean_value() - boolean_value22 = _t377 - _t378 = logic_pb2.Value(boolean_value=boolean_value22) - _t376 = _t378 + _t386 = self.parse_boolean_value() + boolean_value22 = _t386 + _t387 = logic_pb2.Value(boolean_value=boolean_value22) + _t385 = _t387 else: if prediction13 == 8: self.consume_literal('missing') - _t380 = logic_pb2.MissingValue() - _t381 = logic_pb2.Value(missing_value=_t380) - _t379 = _t381 + _t389 = logic_pb2.MissingValue() + _t390 = logic_pb2.Value(missing_value=_t389) + _t388 = _t390 else: if prediction13 == 7: decimal21 = self.consume_terminal('DECIMAL') - _t383 = logic_pb2.Value(decimal_value=decimal21) - _t382 = _t383 + _t392 = logic_pb2.Value(decimal_value=decimal21) + _t391 = _t392 else: if prediction13 == 6: int12820 = self.consume_terminal('INT128') - _t385 = logic_pb2.Value(int128_value=int12820) - _t384 = _t385 + _t394 = logic_pb2.Value(int128_value=int12820) + _t393 = _t394 else: if prediction13 == 5: uint12819 = self.consume_terminal('UINT128') - _t387 = logic_pb2.Value(uint128_value=uint12819) - _t386 = _t387 + _t396 = logic_pb2.Value(uint128_value=uint12819) + _t395 = _t396 else: if prediction13 == 4: float18 = self.consume_terminal('FLOAT') - _t389 = logic_pb2.Value(float_value=float18) - _t388 = _t389 + _t398 = logic_pb2.Value(float_value=float18) + _t397 = _t398 else: if prediction13 == 3: int17 = self.consume_terminal('INT') - _t391 = logic_pb2.Value(int_value=int17) - _t390 = _t391 + _t400 = logic_pb2.Value(int_value=int17) + _t399 = _t400 else: if prediction13 == 2: string16 = self.consume_terminal('STRING') - _t393 = logic_pb2.Value(string_value=string16) - _t392 = _t393 + _t402 = logic_pb2.Value(string_value=string16) + _t401 = _t402 else: if prediction13 == 1: - _t395 = self.parse_datetime() - datetime15 = _t395 - _t396 = logic_pb2.Value(datetime_value=datetime15) - _t394 = _t396 + _t404 = self.parse_datetime() + datetime15 = _t404 + _t405 = logic_pb2.Value(datetime_value=datetime15) + _t403 = _t405 else: if prediction13 == 0: - _t398 = self.parse_date() - date14 = _t398 - _t399 = logic_pb2.Value(date_value=date14) - _t397 = _t399 + _t407 = self.parse_date() + date14 = _t407 + _t408 = logic_pb2.Value(date_value=date14) + _t406 = _t408 else: raise ParseError(f"{'Unexpected token in value'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t394 = _t397 - _t392 = _t394 - _t390 = _t392 - _t388 = _t390 - _t386 = _t388 - _t384 = _t386 - _t382 = _t384 - _t379 = _t382 - _t376 = _t379 - return _t376 + _t403 = _t406 + _t401 = _t403 + _t399 = _t401 + _t397 = _t399 + _t395 = _t397 + _t393 = _t395 + _t391 = _t393 + _t388 = _t391 + _t385 = _t388 + return _t385 def parse_date(self) -> logic_pb2.DateValue: self.consume_literal('(') @@ -907,8 +916,8 @@ def parse_date(self) -> logic_pb2.DateValue: int_324 = self.consume_terminal('INT') int_425 = self.consume_terminal('INT') self.consume_literal(')') - _t400 = logic_pb2.DateValue(year=int(int23), month=int(int_324), day=int(int_425)) - return _t400 + _t409 = logic_pb2.DateValue(year=int(int23), month=int(int_324), day=int(int_425)) + return _t409 def parse_datetime(self) -> logic_pb2.DateTimeValue: self.consume_literal('(') @@ -921,39 +930,39 @@ def parse_datetime(self) -> logic_pb2.DateTimeValue: int_731 = self.consume_terminal('INT') if self.match_lookahead_terminal('INT', 0): - _t401 = self.consume_terminal('INT') + _t410 = self.consume_terminal('INT') else: - _t401 = None - int_832 = _t401 + _t410 = None + int_832 = _t410 self.consume_literal(')') - _t402 = logic_pb2.DateTimeValue(year=int(int26), month=int(int_327), day=int(int_428), hour=int(int_529), minute=int(int_630), second=int(int_731), microsecond=int((int_832 if int_832 is not None else 0))) - return _t402 + _t411 = logic_pb2.DateTimeValue(year=int(int26), month=int(int_327), day=int(int_428), hour=int(int_529), minute=int(int_630), second=int(int_731), microsecond=int((int_832 if int_832 is not None else 0))) + return _t411 def parse_boolean_value(self) -> bool: if self.match_lookahead_literal('true', 0): - _t403 = 0 + _t412 = 0 else: if self.match_lookahead_literal('false', 0): - _t404 = 1 + _t413 = 1 else: - _t404 = -1 - _t403 = _t404 - prediction33 = _t403 + _t413 = -1 + _t412 = _t413 + prediction33 = _t412 if prediction33 == 1: self.consume_literal('false') - _t405 = False + _t414 = False else: if prediction33 == 0: self.consume_literal('true') - _t406 = True + _t415 = True else: raise ParseError(f"{'Unexpected token in boolean_value'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t405 = _t406 - return _t405 + _t414 = _t415 + return _t414 def parse_sync(self) -> transactions_pb2.Sync: self.consume_literal('(') @@ -961,14 +970,14 @@ def parse_sync(self) -> transactions_pb2.Sync: xs34 = [] cond35 = self.match_lookahead_literal(':', 0) while cond35: - _t407 = self.parse_fragment_id() - item36 = _t407 + _t416 = self.parse_fragment_id() + item36 = _t416 xs34.append(item36) cond35 = self.match_lookahead_literal(':', 0) fragment_ids37 = xs34 self.consume_literal(')') - _t408 = transactions_pb2.Sync(fragments=fragment_ids37) - return _t408 + _t417 = transactions_pb2.Sync(fragments=fragment_ids37) + return _t417 def parse_fragment_id(self) -> fragments_pb2.FragmentId: self.consume_literal(':') @@ -980,21 +989,21 @@ def parse_epoch(self) -> transactions_pb2.Epoch: self.consume_literal('epoch') if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('writes', 1)): - _t410 = self.parse_epoch_writes() - _t409 = _t410 + _t419 = self.parse_epoch_writes() + _t418 = _t419 else: - _t409 = None - epoch_writes39 = _t409 + _t418 = None + epoch_writes39 = _t418 if self.match_lookahead_literal('(', 0): - _t412 = self.parse_epoch_reads() - _t411 = _t412 + _t421 = self.parse_epoch_reads() + _t420 = _t421 else: - _t411 = None - epoch_reads40 = _t411 + _t420 = None + epoch_reads40 = _t420 self.consume_literal(')') - _t413 = transactions_pb2.Epoch(writes=(epoch_writes39 if epoch_writes39 is not None else []), reads=(epoch_reads40 if epoch_reads40 is not None else [])) - return _t413 + _t422 = transactions_pb2.Epoch(writes=(epoch_writes39 if epoch_writes39 is not None else []), reads=(epoch_reads40 if epoch_reads40 is not None else [])) + return _t422 def parse_epoch_writes(self) -> Sequence[transactions_pb2.Write]: self.consume_literal('(') @@ -1002,8 +1011,8 @@ def parse_epoch_writes(self) -> Sequence[transactions_pb2.Write]: xs41 = [] cond42 = self.match_lookahead_literal('(', 0) while cond42: - _t414 = self.parse_write() - item43 = _t414 + _t423 = self.parse_write() + item43 = _t423 xs41.append(item43) cond42 = self.match_lookahead_literal('(', 0) writes44 = xs41 @@ -1015,68 +1024,68 @@ def parse_write(self) -> transactions_pb2.Write: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('undefine', 1): - _t416 = 1 + _t425 = 1 else: if self.match_lookahead_literal('define', 1): - _t417 = 0 + _t426 = 0 else: if self.match_lookahead_literal('context', 1): - _t418 = 2 + _t427 = 2 else: - _t418 = -1 - _t417 = _t418 - _t416 = _t417 - _t415 = _t416 + _t427 = -1 + _t426 = _t427 + _t425 = _t426 + _t424 = _t425 else: - _t415 = -1 - prediction45 = _t415 + _t424 = -1 + prediction45 = _t424 if prediction45 == 2: - _t420 = self.parse_context() - context48 = _t420 - _t421 = transactions_pb2.Write(context=context48) - _t419 = _t421 + _t429 = self.parse_context() + context48 = _t429 + _t430 = transactions_pb2.Write(context=context48) + _t428 = _t430 else: if prediction45 == 1: - _t423 = self.parse_undefine() - undefine47 = _t423 - _t424 = transactions_pb2.Write(undefine=undefine47) - _t422 = _t424 + _t432 = self.parse_undefine() + undefine47 = _t432 + _t433 = transactions_pb2.Write(undefine=undefine47) + _t431 = _t433 else: if prediction45 == 0: - _t426 = self.parse_define() - define46 = _t426 - _t427 = transactions_pb2.Write(define=define46) - _t425 = _t427 + _t435 = self.parse_define() + define46 = _t435 + _t436 = transactions_pb2.Write(define=define46) + _t434 = _t436 else: raise ParseError(f"{'Unexpected token in write'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t422 = _t425 - _t419 = _t422 - return _t419 + _t431 = _t434 + _t428 = _t431 + return _t428 def parse_define(self) -> transactions_pb2.Define: self.consume_literal('(') self.consume_literal('define') - _t428 = self.parse_fragment() - fragment49 = _t428 + _t437 = self.parse_fragment() + fragment49 = _t437 self.consume_literal(')') - _t429 = transactions_pb2.Define(fragment=fragment49) - return _t429 + _t438 = transactions_pb2.Define(fragment=fragment49) + return _t438 def parse_fragment(self) -> fragments_pb2.Fragment: self.consume_literal('(') self.consume_literal('fragment') - _t430 = self.parse_new_fragment_id() - new_fragment_id50 = _t430 + _t439 = self.parse_new_fragment_id() + new_fragment_id50 = _t439 xs51 = [] cond52 = self.match_lookahead_literal('(', 0) while cond52: - _t431 = self.parse_declaration() - item53 = _t431 + _t440 = self.parse_declaration() + item53 = _t440 xs51.append(item53) cond52 = self.match_lookahead_literal('(', 0) declarations54 = xs51 @@ -1084,8 +1093,8 @@ def parse_fragment(self) -> fragments_pb2.Fragment: return self.construct_fragment(new_fragment_id50, declarations54) def parse_new_fragment_id(self) -> fragments_pb2.FragmentId: - _t432 = self.parse_fragment_id() - fragment_id55 = _t432 + _t441 = self.parse_fragment_id() + fragment_id55 = _t441 self.start_fragment(fragment_id55) return fragment_id55 @@ -1094,348 +1103,348 @@ def parse_declaration(self) -> logic_pb2.Declaration: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('rel_edb', 1): - _t434 = 3 + _t443 = 3 else: if self.match_lookahead_literal('functional_dependency', 1): - _t435 = 2 + _t444 = 2 else: if self.match_lookahead_literal('def', 1): - _t436 = 0 + _t445 = 0 else: if self.match_lookahead_literal('csv_data', 1): - _t437 = 3 + _t446 = 3 else: if self.match_lookahead_literal('betree_relation', 1): - _t438 = 3 + _t447 = 3 else: if self.match_lookahead_literal('algorithm', 1): - _t439 = 1 + _t448 = 1 else: - _t439 = -1 - _t438 = _t439 - _t437 = _t438 - _t436 = _t437 - _t435 = _t436 - _t434 = _t435 - _t433 = _t434 - else: - _t433 = -1 - prediction56 = _t433 + _t448 = -1 + _t447 = _t448 + _t446 = _t447 + _t445 = _t446 + _t444 = _t445 + _t443 = _t444 + _t442 = _t443 + else: + _t442 = -1 + prediction56 = _t442 if prediction56 == 3: - _t441 = self.parse_data() - data60 = _t441 - _t442 = logic_pb2.Declaration(data=data60) - _t440 = _t442 + _t450 = self.parse_data() + data60 = _t450 + _t451 = logic_pb2.Declaration(data=data60) + _t449 = _t451 else: if prediction56 == 2: - _t444 = self.parse_constraint() - constraint59 = _t444 - _t445 = logic_pb2.Declaration(constraint=constraint59) - _t443 = _t445 + _t453 = self.parse_constraint() + constraint59 = _t453 + _t454 = logic_pb2.Declaration(constraint=constraint59) + _t452 = _t454 else: if prediction56 == 1: - _t447 = self.parse_algorithm() - algorithm58 = _t447 - _t448 = logic_pb2.Declaration(algorithm=algorithm58) - _t446 = _t448 + _t456 = self.parse_algorithm() + algorithm58 = _t456 + _t457 = logic_pb2.Declaration(algorithm=algorithm58) + _t455 = _t457 else: if prediction56 == 0: - _t450 = self.parse_def() - def57 = _t450 - _t451 = logic_pb2.Declaration() - getattr(_t451, 'def').CopyFrom(def57) - _t449 = _t451 + _t459 = self.parse_def() + def57 = _t459 + _t460 = logic_pb2.Declaration() + getattr(_t460, 'def').CopyFrom(def57) + _t458 = _t460 else: raise ParseError(f"{'Unexpected token in declaration'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t446 = _t449 - _t443 = _t446 - _t440 = _t443 - return _t440 + _t455 = _t458 + _t452 = _t455 + _t449 = _t452 + return _t449 def parse_def(self) -> logic_pb2.Def: self.consume_literal('(') self.consume_literal('def') - _t452 = self.parse_relation_id() - relation_id61 = _t452 - _t453 = self.parse_abstraction() - abstraction62 = _t453 + _t461 = self.parse_relation_id() + relation_id61 = _t461 + _t462 = self.parse_abstraction() + abstraction62 = _t462 if self.match_lookahead_literal('(', 0): - _t455 = self.parse_attrs() - _t454 = _t455 + _t464 = self.parse_attrs() + _t463 = _t464 else: - _t454 = None - attrs63 = _t454 + _t463 = None + attrs63 = _t463 self.consume_literal(')') - _t456 = logic_pb2.Def(name=relation_id61, body=abstraction62, attrs=(attrs63 if attrs63 is not None else [])) - return _t456 + _t465 = logic_pb2.Def(name=relation_id61, body=abstraction62, attrs=(attrs63 if attrs63 is not None else [])) + return _t465 def parse_relation_id(self) -> logic_pb2.RelationId: if self.match_lookahead_literal(':', 0): - _t457 = 0 + _t466 = 0 else: if self.match_lookahead_terminal('UINT128', 0): - _t458 = 1 + _t467 = 1 else: - _t458 = -1 - _t457 = _t458 - prediction64 = _t457 + _t467 = -1 + _t466 = _t467 + prediction64 = _t466 if prediction64 == 1: uint12866 = self.consume_terminal('UINT128') - _t459 = logic_pb2.RelationId(id_low=uint12866.low, id_high=uint12866.high) + _t468 = logic_pb2.RelationId(id_low=uint12866.low, id_high=uint12866.high) else: if prediction64 == 0: self.consume_literal(':') symbol65 = self.consume_terminal('SYMBOL') - _t460 = self.relation_id_from_string(symbol65) + _t469 = self.relation_id_from_string(symbol65) else: raise ParseError(f"{'Unexpected token in relation_id'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t459 = _t460 - return _t459 + _t468 = _t469 + return _t468 def parse_abstraction(self) -> logic_pb2.Abstraction: self.consume_literal('(') - _t461 = self.parse_bindings() - bindings67 = _t461 - _t462 = self.parse_formula() - formula68 = _t462 + _t470 = self.parse_bindings() + bindings67 = _t470 + _t471 = self.parse_formula() + formula68 = _t471 self.consume_literal(')') - _t463 = logic_pb2.Abstraction(vars=(list(bindings67[0]) + list(bindings67[1] if bindings67[1] is not None else [])), value=formula68) - return _t463 + _t472 = logic_pb2.Abstraction(vars=(list(bindings67[0]) + list(bindings67[1] if bindings67[1] is not None else [])), value=formula68) + return _t472 def parse_bindings(self) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: self.consume_literal('[') xs69 = [] cond70 = self.match_lookahead_terminal('SYMBOL', 0) while cond70: - _t464 = self.parse_binding() - item71 = _t464 + _t473 = self.parse_binding() + item71 = _t473 xs69.append(item71) cond70 = self.match_lookahead_terminal('SYMBOL', 0) bindings72 = xs69 if self.match_lookahead_literal('|', 0): - _t466 = self.parse_value_bindings() - _t465 = _t466 + _t475 = self.parse_value_bindings() + _t474 = _t475 else: - _t465 = None - value_bindings73 = _t465 + _t474 = None + value_bindings73 = _t474 self.consume_literal(']') return (bindings72, (value_bindings73 if value_bindings73 is not None else []),) def parse_binding(self) -> logic_pb2.Binding: symbol74 = self.consume_terminal('SYMBOL') self.consume_literal('::') - _t467 = self.parse_type() - type75 = _t467 - _t468 = logic_pb2.Var(name=symbol74) - _t469 = logic_pb2.Binding(var=_t468, type=type75) - return _t469 + _t476 = self.parse_type() + type75 = _t476 + _t477 = logic_pb2.Var(name=symbol74) + _t478 = logic_pb2.Binding(var=_t477, type=type75) + return _t478 def parse_type(self) -> logic_pb2.Type: if self.match_lookahead_literal('UNKNOWN', 0): - _t470 = 0 + _t479 = 0 else: if self.match_lookahead_literal('UINT128', 0): - _t471 = 4 + _t480 = 4 else: if self.match_lookahead_literal('STRING', 0): - _t472 = 1 + _t481 = 1 else: if self.match_lookahead_literal('MISSING', 0): - _t473 = 8 + _t482 = 8 else: if self.match_lookahead_literal('INT128', 0): - _t474 = 5 + _t483 = 5 else: if self.match_lookahead_literal('INT', 0): - _t475 = 2 + _t484 = 2 else: if self.match_lookahead_literal('FLOAT', 0): - _t476 = 3 + _t485 = 3 else: if self.match_lookahead_literal('DATETIME', 0): - _t477 = 7 + _t486 = 7 else: if self.match_lookahead_literal('DATE', 0): - _t478 = 6 + _t487 = 6 else: if self.match_lookahead_literal('BOOLEAN', 0): - _t479 = 10 + _t488 = 10 else: if self.match_lookahead_literal('(', 0): - _t480 = 9 + _t489 = 9 else: - _t480 = -1 - _t479 = _t480 - _t478 = _t479 - _t477 = _t478 - _t476 = _t477 - _t475 = _t476 - _t474 = _t475 - _t473 = _t474 - _t472 = _t473 - _t471 = _t472 - _t470 = _t471 - prediction76 = _t470 + _t489 = -1 + _t488 = _t489 + _t487 = _t488 + _t486 = _t487 + _t485 = _t486 + _t484 = _t485 + _t483 = _t484 + _t482 = _t483 + _t481 = _t482 + _t480 = _t481 + _t479 = _t480 + prediction76 = _t479 if prediction76 == 10: - _t482 = self.parse_boolean_type() - boolean_type87 = _t482 - _t483 = logic_pb2.Type(boolean_type=boolean_type87) - _t481 = _t483 + _t491 = self.parse_boolean_type() + boolean_type87 = _t491 + _t492 = logic_pb2.Type(boolean_type=boolean_type87) + _t490 = _t492 else: if prediction76 == 9: - _t485 = self.parse_decimal_type() - decimal_type86 = _t485 - _t486 = logic_pb2.Type(decimal_type=decimal_type86) - _t484 = _t486 + _t494 = self.parse_decimal_type() + decimal_type86 = _t494 + _t495 = logic_pb2.Type(decimal_type=decimal_type86) + _t493 = _t495 else: if prediction76 == 8: - _t488 = self.parse_missing_type() - missing_type85 = _t488 - _t489 = logic_pb2.Type(missing_type=missing_type85) - _t487 = _t489 + _t497 = self.parse_missing_type() + missing_type85 = _t497 + _t498 = logic_pb2.Type(missing_type=missing_type85) + _t496 = _t498 else: if prediction76 == 7: - _t491 = self.parse_datetime_type() - datetime_type84 = _t491 - _t492 = logic_pb2.Type(datetime_type=datetime_type84) - _t490 = _t492 + _t500 = self.parse_datetime_type() + datetime_type84 = _t500 + _t501 = logic_pb2.Type(datetime_type=datetime_type84) + _t499 = _t501 else: if prediction76 == 6: - _t494 = self.parse_date_type() - date_type83 = _t494 - _t495 = logic_pb2.Type(date_type=date_type83) - _t493 = _t495 + _t503 = self.parse_date_type() + date_type83 = _t503 + _t504 = logic_pb2.Type(date_type=date_type83) + _t502 = _t504 else: if prediction76 == 5: - _t497 = self.parse_int128_type() - int128_type82 = _t497 - _t498 = logic_pb2.Type(int128_type=int128_type82) - _t496 = _t498 + _t506 = self.parse_int128_type() + int128_type82 = _t506 + _t507 = logic_pb2.Type(int128_type=int128_type82) + _t505 = _t507 else: if prediction76 == 4: - _t500 = self.parse_uint128_type() - uint128_type81 = _t500 - _t501 = logic_pb2.Type(uint128_type=uint128_type81) - _t499 = _t501 + _t509 = self.parse_uint128_type() + uint128_type81 = _t509 + _t510 = logic_pb2.Type(uint128_type=uint128_type81) + _t508 = _t510 else: if prediction76 == 3: - _t503 = self.parse_float_type() - float_type80 = _t503 - _t504 = logic_pb2.Type(float_type=float_type80) - _t502 = _t504 + _t512 = self.parse_float_type() + float_type80 = _t512 + _t513 = logic_pb2.Type(float_type=float_type80) + _t511 = _t513 else: if prediction76 == 2: - _t506 = self.parse_int_type() - int_type79 = _t506 - _t507 = logic_pb2.Type(int_type=int_type79) - _t505 = _t507 + _t515 = self.parse_int_type() + int_type79 = _t515 + _t516 = logic_pb2.Type(int_type=int_type79) + _t514 = _t516 else: if prediction76 == 1: - _t509 = self.parse_string_type() - string_type78 = _t509 - _t510 = logic_pb2.Type(string_type=string_type78) - _t508 = _t510 + _t518 = self.parse_string_type() + string_type78 = _t518 + _t519 = logic_pb2.Type(string_type=string_type78) + _t517 = _t519 else: if prediction76 == 0: - _t512 = self.parse_unspecified_type() - unspecified_type77 = _t512 - _t513 = logic_pb2.Type(unspecified_type=unspecified_type77) - _t511 = _t513 + _t521 = self.parse_unspecified_type() + unspecified_type77 = _t521 + _t522 = logic_pb2.Type(unspecified_type=unspecified_type77) + _t520 = _t522 else: raise ParseError(f"{'Unexpected token in type'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t508 = _t511 - _t505 = _t508 - _t502 = _t505 - _t499 = _t502 - _t496 = _t499 - _t493 = _t496 - _t490 = _t493 - _t487 = _t490 - _t484 = _t487 - _t481 = _t484 - return _t481 + _t517 = _t520 + _t514 = _t517 + _t511 = _t514 + _t508 = _t511 + _t505 = _t508 + _t502 = _t505 + _t499 = _t502 + _t496 = _t499 + _t493 = _t496 + _t490 = _t493 + return _t490 def parse_unspecified_type(self) -> logic_pb2.UnspecifiedType: self.consume_literal('UNKNOWN') - _t514 = logic_pb2.UnspecifiedType() - return _t514 + _t523 = logic_pb2.UnspecifiedType() + return _t523 def parse_string_type(self) -> logic_pb2.StringType: self.consume_literal('STRING') - _t515 = logic_pb2.StringType() - return _t515 + _t524 = logic_pb2.StringType() + return _t524 def parse_int_type(self) -> logic_pb2.IntType: self.consume_literal('INT') - _t516 = logic_pb2.IntType() - return _t516 + _t525 = logic_pb2.IntType() + return _t525 def parse_float_type(self) -> logic_pb2.FloatType: self.consume_literal('FLOAT') - _t517 = logic_pb2.FloatType() - return _t517 + _t526 = logic_pb2.FloatType() + return _t526 def parse_uint128_type(self) -> logic_pb2.UInt128Type: self.consume_literal('UINT128') - _t518 = logic_pb2.UInt128Type() - return _t518 + _t527 = logic_pb2.UInt128Type() + return _t527 def parse_int128_type(self) -> logic_pb2.Int128Type: self.consume_literal('INT128') - _t519 = logic_pb2.Int128Type() - return _t519 + _t528 = logic_pb2.Int128Type() + return _t528 def parse_date_type(self) -> logic_pb2.DateType: self.consume_literal('DATE') - _t520 = logic_pb2.DateType() - return _t520 + _t529 = logic_pb2.DateType() + return _t529 def parse_datetime_type(self) -> logic_pb2.DateTimeType: self.consume_literal('DATETIME') - _t521 = logic_pb2.DateTimeType() - return _t521 + _t530 = logic_pb2.DateTimeType() + return _t530 def parse_missing_type(self) -> logic_pb2.MissingType: self.consume_literal('MISSING') - _t522 = logic_pb2.MissingType() - return _t522 + _t531 = logic_pb2.MissingType() + return _t531 def parse_decimal_type(self) -> logic_pb2.DecimalType: self.consume_literal('(') @@ -1443,21 +1452,21 @@ def parse_decimal_type(self) -> logic_pb2.DecimalType: int88 = self.consume_terminal('INT') int_389 = self.consume_terminal('INT') self.consume_literal(')') - _t523 = logic_pb2.DecimalType(precision=int(int88), scale=int(int_389)) - return _t523 + _t532 = logic_pb2.DecimalType(precision=int(int88), scale=int(int_389)) + return _t532 def parse_boolean_type(self) -> logic_pb2.BooleanType: self.consume_literal('BOOLEAN') - _t524 = logic_pb2.BooleanType() - return _t524 + _t533 = logic_pb2.BooleanType() + return _t533 def parse_value_bindings(self) -> Sequence[logic_pb2.Binding]: self.consume_literal('|') xs90 = [] cond91 = self.match_lookahead_terminal('SYMBOL', 0) while cond91: - _t525 = self.parse_binding() - item92 = _t525 + _t534 = self.parse_binding() + item92 = _t534 xs90.append(item92) cond91 = self.match_lookahead_terminal('SYMBOL', 0) bindings93 = xs90 @@ -1468,263 +1477,263 @@ def parse_formula(self) -> logic_pb2.Formula: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('true', 1): - _t527 = 0 + _t536 = 0 else: if self.match_lookahead_literal('relatom', 1): - _t528 = 11 + _t537 = 11 else: if self.match_lookahead_literal('reduce', 1): - _t529 = 3 + _t538 = 3 else: if self.match_lookahead_literal('primitive', 1): - _t530 = 10 + _t539 = 10 else: if self.match_lookahead_literal('pragma', 1): - _t531 = 9 + _t540 = 9 else: if self.match_lookahead_literal('or', 1): - _t532 = 5 + _t541 = 5 else: if self.match_lookahead_literal('not', 1): - _t533 = 6 + _t542 = 6 else: if self.match_lookahead_literal('ffi', 1): - _t534 = 7 + _t543 = 7 else: if self.match_lookahead_literal('false', 1): - _t535 = 1 + _t544 = 1 else: if self.match_lookahead_literal('exists', 1): - _t536 = 2 + _t545 = 2 else: if self.match_lookahead_literal('cast', 1): - _t537 = 12 + _t546 = 12 else: if self.match_lookahead_literal('atom', 1): - _t538 = 8 + _t547 = 8 else: if self.match_lookahead_literal('and', 1): - _t539 = 4 + _t548 = 4 else: if self.match_lookahead_literal('>=', 1): - _t540 = 10 + _t549 = 10 else: if self.match_lookahead_literal('>', 1): - _t541 = 10 + _t550 = 10 else: if self.match_lookahead_literal('=', 1): - _t542 = 10 + _t551 = 10 else: if self.match_lookahead_literal('<=', 1): - _t543 = 10 + _t552 = 10 else: if self.match_lookahead_literal('<', 1): - _t544 = 10 + _t553 = 10 else: if self.match_lookahead_literal('/', 1): - _t545 = 10 + _t554 = 10 else: if self.match_lookahead_literal('-', 1): - _t546 = 10 + _t555 = 10 else: if self.match_lookahead_literal('+', 1): - _t547 = 10 + _t556 = 10 else: if self.match_lookahead_literal('*', 1): - _t548 = 10 + _t557 = 10 else: - _t548 = -1 - _t547 = _t548 - _t546 = _t547 - _t545 = _t546 - _t544 = _t545 - _t543 = _t544 - _t542 = _t543 - _t541 = _t542 - _t540 = _t541 - _t539 = _t540 - _t538 = _t539 - _t537 = _t538 - _t536 = _t537 - _t535 = _t536 - _t534 = _t535 - _t533 = _t534 - _t532 = _t533 - _t531 = _t532 - _t530 = _t531 - _t529 = _t530 - _t528 = _t529 - _t527 = _t528 - _t526 = _t527 - else: - _t526 = -1 - prediction94 = _t526 + _t557 = -1 + _t556 = _t557 + _t555 = _t556 + _t554 = _t555 + _t553 = _t554 + _t552 = _t553 + _t551 = _t552 + _t550 = _t551 + _t549 = _t550 + _t548 = _t549 + _t547 = _t548 + _t546 = _t547 + _t545 = _t546 + _t544 = _t545 + _t543 = _t544 + _t542 = _t543 + _t541 = _t542 + _t540 = _t541 + _t539 = _t540 + _t538 = _t539 + _t537 = _t538 + _t536 = _t537 + _t535 = _t536 + else: + _t535 = -1 + prediction94 = _t535 if prediction94 == 12: - _t550 = self.parse_cast() - cast107 = _t550 - _t551 = logic_pb2.Formula(cast=cast107) - _t549 = _t551 + _t559 = self.parse_cast() + cast107 = _t559 + _t560 = logic_pb2.Formula(cast=cast107) + _t558 = _t560 else: if prediction94 == 11: - _t553 = self.parse_rel_atom() - rel_atom106 = _t553 - _t554 = logic_pb2.Formula(rel_atom=rel_atom106) - _t552 = _t554 + _t562 = self.parse_rel_atom() + rel_atom106 = _t562 + _t563 = logic_pb2.Formula(rel_atom=rel_atom106) + _t561 = _t563 else: if prediction94 == 10: - _t556 = self.parse_primitive() - primitive105 = _t556 - _t557 = logic_pb2.Formula(primitive=primitive105) - _t555 = _t557 + _t565 = self.parse_primitive() + primitive105 = _t565 + _t566 = logic_pb2.Formula(primitive=primitive105) + _t564 = _t566 else: if prediction94 == 9: - _t559 = self.parse_pragma() - pragma104 = _t559 - _t560 = logic_pb2.Formula(pragma=pragma104) - _t558 = _t560 + _t568 = self.parse_pragma() + pragma104 = _t568 + _t569 = logic_pb2.Formula(pragma=pragma104) + _t567 = _t569 else: if prediction94 == 8: - _t562 = self.parse_atom() - atom103 = _t562 - _t563 = logic_pb2.Formula(atom=atom103) - _t561 = _t563 + _t571 = self.parse_atom() + atom103 = _t571 + _t572 = logic_pb2.Formula(atom=atom103) + _t570 = _t572 else: if prediction94 == 7: - _t565 = self.parse_ffi() - ffi102 = _t565 - _t566 = logic_pb2.Formula(ffi=ffi102) - _t564 = _t566 + _t574 = self.parse_ffi() + ffi102 = _t574 + _t575 = logic_pb2.Formula(ffi=ffi102) + _t573 = _t575 else: if prediction94 == 6: - _t568 = self.parse_not() - not101 = _t568 - _t569 = logic_pb2.Formula() - getattr(_t569, 'not').CopyFrom(not101) - _t567 = _t569 + _t577 = self.parse_not() + not101 = _t577 + _t578 = logic_pb2.Formula() + getattr(_t578, 'not').CopyFrom(not101) + _t576 = _t578 else: if prediction94 == 5: - _t571 = self.parse_disjunction() - disjunction100 = _t571 - _t572 = logic_pb2.Formula(disjunction=disjunction100) - _t570 = _t572 + _t580 = self.parse_disjunction() + disjunction100 = _t580 + _t581 = logic_pb2.Formula(disjunction=disjunction100) + _t579 = _t581 else: if prediction94 == 4: - _t574 = self.parse_conjunction() - conjunction99 = _t574 - _t575 = logic_pb2.Formula(conjunction=conjunction99) - _t573 = _t575 + _t583 = self.parse_conjunction() + conjunction99 = _t583 + _t584 = logic_pb2.Formula(conjunction=conjunction99) + _t582 = _t584 else: if prediction94 == 3: - _t577 = self.parse_reduce() - reduce98 = _t577 - _t578 = logic_pb2.Formula(reduce=reduce98) - _t576 = _t578 + _t586 = self.parse_reduce() + reduce98 = _t586 + _t587 = logic_pb2.Formula(reduce=reduce98) + _t585 = _t587 else: if prediction94 == 2: - _t580 = self.parse_exists() - exists97 = _t580 - _t581 = logic_pb2.Formula(exists=exists97) - _t579 = _t581 + _t589 = self.parse_exists() + exists97 = _t589 + _t590 = logic_pb2.Formula(exists=exists97) + _t588 = _t590 else: if prediction94 == 1: - _t583 = self.parse_false() - false96 = _t583 - _t584 = logic_pb2.Formula(disjunction=false96) - _t582 = _t584 + _t592 = self.parse_false() + false96 = _t592 + _t593 = logic_pb2.Formula(disjunction=false96) + _t591 = _t593 else: if prediction94 == 0: - _t586 = self.parse_true() - true95 = _t586 - _t587 = logic_pb2.Formula(conjunction=true95) - _t585 = _t587 + _t595 = self.parse_true() + true95 = _t595 + _t596 = logic_pb2.Formula(conjunction=true95) + _t594 = _t596 else: raise ParseError(f"{'Unexpected token in formula'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t582 = _t585 - _t579 = _t582 - _t576 = _t579 - _t573 = _t576 - _t570 = _t573 - _t567 = _t570 - _t564 = _t567 - _t561 = _t564 - _t558 = _t561 - _t555 = _t558 - _t552 = _t555 - _t549 = _t552 - return _t549 + _t591 = _t594 + _t588 = _t591 + _t585 = _t588 + _t582 = _t585 + _t579 = _t582 + _t576 = _t579 + _t573 = _t576 + _t570 = _t573 + _t567 = _t570 + _t564 = _t567 + _t561 = _t564 + _t558 = _t561 + return _t558 def parse_true(self) -> logic_pb2.Conjunction: self.consume_literal('(') self.consume_literal('true') self.consume_literal(')') - _t588 = logic_pb2.Conjunction(args=[]) - return _t588 + _t597 = logic_pb2.Conjunction(args=[]) + return _t597 def parse_false(self) -> logic_pb2.Disjunction: self.consume_literal('(') self.consume_literal('false') self.consume_literal(')') - _t589 = logic_pb2.Disjunction(args=[]) - return _t589 + _t598 = logic_pb2.Disjunction(args=[]) + return _t598 def parse_exists(self) -> logic_pb2.Exists: self.consume_literal('(') self.consume_literal('exists') - _t590 = self.parse_bindings() - bindings108 = _t590 - _t591 = self.parse_formula() - formula109 = _t591 + _t599 = self.parse_bindings() + bindings108 = _t599 + _t600 = self.parse_formula() + formula109 = _t600 self.consume_literal(')') - _t592 = logic_pb2.Abstraction(vars=(list(bindings108[0]) + list(bindings108[1] if bindings108[1] is not None else [])), value=formula109) - _t593 = logic_pb2.Exists(body=_t592) - return _t593 + _t601 = logic_pb2.Abstraction(vars=(list(bindings108[0]) + list(bindings108[1] if bindings108[1] is not None else [])), value=formula109) + _t602 = logic_pb2.Exists(body=_t601) + return _t602 def parse_reduce(self) -> logic_pb2.Reduce: self.consume_literal('(') self.consume_literal('reduce') - _t594 = self.parse_abstraction() - abstraction110 = _t594 - _t595 = self.parse_abstraction() - abstraction_3111 = _t595 - _t596 = self.parse_terms() - terms112 = _t596 - self.consume_literal(')') - _t597 = logic_pb2.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) - return _t597 + _t603 = self.parse_abstraction() + abstraction110 = _t603 + _t604 = self.parse_abstraction() + abstraction_3111 = _t604 + _t605 = self.parse_terms() + terms112 = _t605 + self.consume_literal(')') + _t606 = logic_pb2.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) + return _t606 def parse_terms(self) -> Sequence[logic_pb2.Term]: self.consume_literal('(') @@ -1732,8 +1741,8 @@ def parse_terms(self) -> Sequence[logic_pb2.Term]: xs113 = [] cond114 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond114: - _t598 = self.parse_term() - item115 = _t598 + _t607 = self.parse_term() + item115 = _t607 xs113.append(item115) cond114 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) terms116 = xs113 @@ -1743,86 +1752,86 @@ def parse_terms(self) -> Sequence[logic_pb2.Term]: def parse_term(self) -> logic_pb2.Term: if self.match_lookahead_literal('true', 0): - _t599 = 1 + _t608 = 1 else: if self.match_lookahead_literal('missing', 0): - _t600 = 1 + _t609 = 1 else: if self.match_lookahead_literal('false', 0): - _t601 = 1 + _t610 = 1 else: if self.match_lookahead_literal('(', 0): - _t602 = 1 + _t611 = 1 else: if self.match_lookahead_terminal('UINT128', 0): - _t603 = 1 + _t612 = 1 else: if self.match_lookahead_terminal('SYMBOL', 0): - _t604 = 0 + _t613 = 0 else: if self.match_lookahead_terminal('STRING', 0): - _t605 = 1 + _t614 = 1 else: if self.match_lookahead_terminal('INT128', 0): - _t606 = 1 + _t615 = 1 else: if self.match_lookahead_terminal('INT', 0): - _t607 = 1 + _t616 = 1 else: if self.match_lookahead_terminal('FLOAT', 0): - _t608 = 1 + _t617 = 1 else: if self.match_lookahead_terminal('DECIMAL', 0): - _t609 = 1 + _t618 = 1 else: - _t609 = -1 - _t608 = _t609 - _t607 = _t608 - _t606 = _t607 - _t605 = _t606 - _t604 = _t605 - _t603 = _t604 - _t602 = _t603 - _t601 = _t602 - _t600 = _t601 - _t599 = _t600 - prediction117 = _t599 + _t618 = -1 + _t617 = _t618 + _t616 = _t617 + _t615 = _t616 + _t614 = _t615 + _t613 = _t614 + _t612 = _t613 + _t611 = _t612 + _t610 = _t611 + _t609 = _t610 + _t608 = _t609 + prediction117 = _t608 if prediction117 == 1: - _t611 = self.parse_constant() - constant119 = _t611 - _t612 = logic_pb2.Term(constant=constant119) - _t610 = _t612 + _t620 = self.parse_constant() + constant119 = _t620 + _t621 = logic_pb2.Term(constant=constant119) + _t619 = _t621 else: if prediction117 == 0: - _t614 = self.parse_var() - var118 = _t614 - _t615 = logic_pb2.Term(var=var118) - _t613 = _t615 + _t623 = self.parse_var() + var118 = _t623 + _t624 = logic_pb2.Term(var=var118) + _t622 = _t624 else: raise ParseError(f"{'Unexpected token in term'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t610 = _t613 - return _t610 + _t619 = _t622 + return _t619 def parse_var(self) -> logic_pb2.Var: symbol120 = self.consume_terminal('SYMBOL') - _t616 = logic_pb2.Var(name=symbol120) - return _t616 + _t625 = logic_pb2.Var(name=symbol120) + return _t625 def parse_constant(self) -> logic_pb2.Value: - _t617 = self.parse_value() - value121 = _t617 + _t626 = self.parse_value() + value121 = _t626 return value121 def parse_conjunction(self) -> logic_pb2.Conjunction: @@ -1831,14 +1840,14 @@ def parse_conjunction(self) -> logic_pb2.Conjunction: xs122 = [] cond123 = self.match_lookahead_literal('(', 0) while cond123: - _t618 = self.parse_formula() - item124 = _t618 + _t627 = self.parse_formula() + item124 = _t627 xs122.append(item124) cond123 = self.match_lookahead_literal('(', 0) formulas125 = xs122 self.consume_literal(')') - _t619 = logic_pb2.Conjunction(args=formulas125) - return _t619 + _t628 = logic_pb2.Conjunction(args=formulas125) + return _t628 def parse_disjunction(self) -> logic_pb2.Disjunction: self.consume_literal('(') @@ -1846,36 +1855,36 @@ def parse_disjunction(self) -> logic_pb2.Disjunction: xs126 = [] cond127 = self.match_lookahead_literal('(', 0) while cond127: - _t620 = self.parse_formula() - item128 = _t620 + _t629 = self.parse_formula() + item128 = _t629 xs126.append(item128) cond127 = self.match_lookahead_literal('(', 0) formulas129 = xs126 self.consume_literal(')') - _t621 = logic_pb2.Disjunction(args=formulas129) - return _t621 + _t630 = logic_pb2.Disjunction(args=formulas129) + return _t630 def parse_not(self) -> logic_pb2.Not: self.consume_literal('(') self.consume_literal('not') - _t622 = self.parse_formula() - formula130 = _t622 + _t631 = self.parse_formula() + formula130 = _t631 self.consume_literal(')') - _t623 = logic_pb2.Not(arg=formula130) - return _t623 + _t632 = logic_pb2.Not(arg=formula130) + return _t632 def parse_ffi(self) -> logic_pb2.FFI: self.consume_literal('(') self.consume_literal('ffi') - _t624 = self.parse_name() - name131 = _t624 - _t625 = self.parse_ffi_args() - ffi_args132 = _t625 - _t626 = self.parse_terms() - terms133 = _t626 + _t633 = self.parse_name() + name131 = _t633 + _t634 = self.parse_ffi_args() + ffi_args132 = _t634 + _t635 = self.parse_terms() + terms133 = _t635 self.consume_literal(')') - _t627 = logic_pb2.FFI(name=name131, args=ffi_args132, terms=terms133) - return _t627 + _t636 = logic_pb2.FFI(name=name131, args=ffi_args132, terms=terms133) + return _t636 def parse_name(self) -> str: self.consume_literal(':') @@ -1888,8 +1897,8 @@ def parse_ffi_args(self) -> Sequence[logic_pb2.Abstraction]: xs135 = [] cond136 = self.match_lookahead_literal('(', 0) while cond136: - _t628 = self.parse_abstraction() - item137 = _t628 + _t637 = self.parse_abstraction() + item137 = _t637 xs135.append(item137) cond136 = self.match_lookahead_literal('(', 0) abstractions138 = xs135 @@ -1899,420 +1908,420 @@ def parse_ffi_args(self) -> Sequence[logic_pb2.Abstraction]: def parse_atom(self) -> logic_pb2.Atom: self.consume_literal('(') self.consume_literal('atom') - _t629 = self.parse_relation_id() - relation_id139 = _t629 + _t638 = self.parse_relation_id() + relation_id139 = _t638 xs140 = [] cond141 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond141: - _t630 = self.parse_term() - item142 = _t630 + _t639 = self.parse_term() + item142 = _t639 xs140.append(item142) cond141 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) terms143 = xs140 self.consume_literal(')') - _t631 = logic_pb2.Atom(name=relation_id139, terms=terms143) - return _t631 + _t640 = logic_pb2.Atom(name=relation_id139, terms=terms143) + return _t640 def parse_pragma(self) -> logic_pb2.Pragma: self.consume_literal('(') self.consume_literal('pragma') - _t632 = self.parse_name() - name144 = _t632 + _t641 = self.parse_name() + name144 = _t641 xs145 = [] cond146 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond146: - _t633 = self.parse_term() - item147 = _t633 + _t642 = self.parse_term() + item147 = _t642 xs145.append(item147) cond146 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) terms148 = xs145 self.consume_literal(')') - _t634 = logic_pb2.Pragma(name=name144, terms=terms148) - return _t634 + _t643 = logic_pb2.Pragma(name=name144, terms=terms148) + return _t643 def parse_primitive(self) -> logic_pb2.Primitive: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('primitive', 1): - _t636 = 9 + _t645 = 9 else: if self.match_lookahead_literal('>=', 1): - _t637 = 4 + _t646 = 4 else: if self.match_lookahead_literal('>', 1): - _t638 = 3 + _t647 = 3 else: if self.match_lookahead_literal('=', 1): - _t639 = 0 + _t648 = 0 else: if self.match_lookahead_literal('<=', 1): - _t640 = 2 + _t649 = 2 else: if self.match_lookahead_literal('<', 1): - _t641 = 1 + _t650 = 1 else: if self.match_lookahead_literal('/', 1): - _t642 = 8 + _t651 = 8 else: if self.match_lookahead_literal('-', 1): - _t643 = 6 + _t652 = 6 else: if self.match_lookahead_literal('+', 1): - _t644 = 5 + _t653 = 5 else: if self.match_lookahead_literal('*', 1): - _t645 = 7 + _t654 = 7 else: - _t645 = -1 - _t644 = _t645 - _t643 = _t644 - _t642 = _t643 - _t641 = _t642 - _t640 = _t641 - _t639 = _t640 - _t638 = _t639 - _t637 = _t638 - _t636 = _t637 - _t635 = _t636 - else: - _t635 = -1 - prediction149 = _t635 + _t654 = -1 + _t653 = _t654 + _t652 = _t653 + _t651 = _t652 + _t650 = _t651 + _t649 = _t650 + _t648 = _t649 + _t647 = _t648 + _t646 = _t647 + _t645 = _t646 + _t644 = _t645 + else: + _t644 = -1 + prediction149 = _t644 if prediction149 == 9: self.consume_literal('(') self.consume_literal('primitive') - _t647 = self.parse_name() - name159 = _t647 + _t656 = self.parse_name() + name159 = _t656 xs160 = [] cond161 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond161: - _t648 = self.parse_rel_term() - item162 = _t648 + _t657 = self.parse_rel_term() + item162 = _t657 xs160.append(item162) cond161 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) rel_terms163 = xs160 self.consume_literal(')') - _t649 = logic_pb2.Primitive(name=name159, terms=rel_terms163) - _t646 = _t649 + _t658 = logic_pb2.Primitive(name=name159, terms=rel_terms163) + _t655 = _t658 else: if prediction149 == 8: - _t651 = self.parse_divide() - divide158 = _t651 - _t650 = divide158 + _t660 = self.parse_divide() + divide158 = _t660 + _t659 = divide158 else: if prediction149 == 7: - _t653 = self.parse_multiply() - multiply157 = _t653 - _t652 = multiply157 + _t662 = self.parse_multiply() + multiply157 = _t662 + _t661 = multiply157 else: if prediction149 == 6: - _t655 = self.parse_minus() - minus156 = _t655 - _t654 = minus156 + _t664 = self.parse_minus() + minus156 = _t664 + _t663 = minus156 else: if prediction149 == 5: - _t657 = self.parse_add() - add155 = _t657 - _t656 = add155 + _t666 = self.parse_add() + add155 = _t666 + _t665 = add155 else: if prediction149 == 4: - _t659 = self.parse_gt_eq() - gt_eq154 = _t659 - _t658 = gt_eq154 + _t668 = self.parse_gt_eq() + gt_eq154 = _t668 + _t667 = gt_eq154 else: if prediction149 == 3: - _t661 = self.parse_gt() - gt153 = _t661 - _t660 = gt153 + _t670 = self.parse_gt() + gt153 = _t670 + _t669 = gt153 else: if prediction149 == 2: - _t663 = self.parse_lt_eq() - lt_eq152 = _t663 - _t662 = lt_eq152 + _t672 = self.parse_lt_eq() + lt_eq152 = _t672 + _t671 = lt_eq152 else: if prediction149 == 1: - _t665 = self.parse_lt() - lt151 = _t665 - _t664 = lt151 + _t674 = self.parse_lt() + lt151 = _t674 + _t673 = lt151 else: if prediction149 == 0: - _t667 = self.parse_eq() - eq150 = _t667 - _t666 = eq150 + _t676 = self.parse_eq() + eq150 = _t676 + _t675 = eq150 else: raise ParseError(f"{'Unexpected token in primitive'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t664 = _t666 - _t662 = _t664 - _t660 = _t662 - _t658 = _t660 - _t656 = _t658 - _t654 = _t656 - _t652 = _t654 - _t650 = _t652 - _t646 = _t650 - return _t646 + _t673 = _t675 + _t671 = _t673 + _t669 = _t671 + _t667 = _t669 + _t665 = _t667 + _t663 = _t665 + _t661 = _t663 + _t659 = _t661 + _t655 = _t659 + return _t655 def parse_eq(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('=') - _t668 = self.parse_term() - term164 = _t668 - _t669 = self.parse_term() - term_3165 = _t669 + _t677 = self.parse_term() + term164 = _t677 + _t678 = self.parse_term() + term_3165 = _t678 self.consume_literal(')') - _t670 = logic_pb2.RelTerm(term=term164) - _t671 = logic_pb2.RelTerm(term=term_3165) - _t672 = logic_pb2.Primitive(name='rel_primitive_eq', terms=[_t670, _t671]) - return _t672 + _t679 = logic_pb2.RelTerm(term=term164) + _t680 = logic_pb2.RelTerm(term=term_3165) + _t681 = logic_pb2.Primitive(name='rel_primitive_eq', terms=[_t679, _t680]) + return _t681 def parse_lt(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('<') - _t673 = self.parse_term() - term166 = _t673 - _t674 = self.parse_term() - term_3167 = _t674 + _t682 = self.parse_term() + term166 = _t682 + _t683 = self.parse_term() + term_3167 = _t683 self.consume_literal(')') - _t675 = logic_pb2.RelTerm(term=term166) - _t676 = logic_pb2.RelTerm(term=term_3167) - _t677 = logic_pb2.Primitive(name='rel_primitive_lt_monotype', terms=[_t675, _t676]) - return _t677 + _t684 = logic_pb2.RelTerm(term=term166) + _t685 = logic_pb2.RelTerm(term=term_3167) + _t686 = logic_pb2.Primitive(name='rel_primitive_lt_monotype', terms=[_t684, _t685]) + return _t686 def parse_lt_eq(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('<=') - _t678 = self.parse_term() - term168 = _t678 - _t679 = self.parse_term() - term_3169 = _t679 + _t687 = self.parse_term() + term168 = _t687 + _t688 = self.parse_term() + term_3169 = _t688 self.consume_literal(')') - _t680 = logic_pb2.RelTerm(term=term168) - _t681 = logic_pb2.RelTerm(term=term_3169) - _t682 = logic_pb2.Primitive(name='rel_primitive_lt_eq_monotype', terms=[_t680, _t681]) - return _t682 + _t689 = logic_pb2.RelTerm(term=term168) + _t690 = logic_pb2.RelTerm(term=term_3169) + _t691 = logic_pb2.Primitive(name='rel_primitive_lt_eq_monotype', terms=[_t689, _t690]) + return _t691 def parse_gt(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('>') - _t683 = self.parse_term() - term170 = _t683 - _t684 = self.parse_term() - term_3171 = _t684 + _t692 = self.parse_term() + term170 = _t692 + _t693 = self.parse_term() + term_3171 = _t693 self.consume_literal(')') - _t685 = logic_pb2.RelTerm(term=term170) - _t686 = logic_pb2.RelTerm(term=term_3171) - _t687 = logic_pb2.Primitive(name='rel_primitive_gt_monotype', terms=[_t685, _t686]) - return _t687 + _t694 = logic_pb2.RelTerm(term=term170) + _t695 = logic_pb2.RelTerm(term=term_3171) + _t696 = logic_pb2.Primitive(name='rel_primitive_gt_monotype', terms=[_t694, _t695]) + return _t696 def parse_gt_eq(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('>=') - _t688 = self.parse_term() - term172 = _t688 - _t689 = self.parse_term() - term_3173 = _t689 + _t697 = self.parse_term() + term172 = _t697 + _t698 = self.parse_term() + term_3173 = _t698 self.consume_literal(')') - _t690 = logic_pb2.RelTerm(term=term172) - _t691 = logic_pb2.RelTerm(term=term_3173) - _t692 = logic_pb2.Primitive(name='rel_primitive_gt_eq_monotype', terms=[_t690, _t691]) - return _t692 + _t699 = logic_pb2.RelTerm(term=term172) + _t700 = logic_pb2.RelTerm(term=term_3173) + _t701 = logic_pb2.Primitive(name='rel_primitive_gt_eq_monotype', terms=[_t699, _t700]) + return _t701 def parse_add(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('+') - _t693 = self.parse_term() - term174 = _t693 - _t694 = self.parse_term() - term_3175 = _t694 - _t695 = self.parse_term() - term_4176 = _t695 - self.consume_literal(')') - _t696 = logic_pb2.RelTerm(term=term174) - _t697 = logic_pb2.RelTerm(term=term_3175) - _t698 = logic_pb2.RelTerm(term=term_4176) - _t699 = logic_pb2.Primitive(name='rel_primitive_add_monotype', terms=[_t696, _t697, _t698]) - return _t699 + _t702 = self.parse_term() + term174 = _t702 + _t703 = self.parse_term() + term_3175 = _t703 + _t704 = self.parse_term() + term_4176 = _t704 + self.consume_literal(')') + _t705 = logic_pb2.RelTerm(term=term174) + _t706 = logic_pb2.RelTerm(term=term_3175) + _t707 = logic_pb2.RelTerm(term=term_4176) + _t708 = logic_pb2.Primitive(name='rel_primitive_add_monotype', terms=[_t705, _t706, _t707]) + return _t708 def parse_minus(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('-') - _t700 = self.parse_term() - term177 = _t700 - _t701 = self.parse_term() - term_3178 = _t701 - _t702 = self.parse_term() - term_4179 = _t702 - self.consume_literal(')') - _t703 = logic_pb2.RelTerm(term=term177) - _t704 = logic_pb2.RelTerm(term=term_3178) - _t705 = logic_pb2.RelTerm(term=term_4179) - _t706 = logic_pb2.Primitive(name='rel_primitive_subtract_monotype', terms=[_t703, _t704, _t705]) - return _t706 + _t709 = self.parse_term() + term177 = _t709 + _t710 = self.parse_term() + term_3178 = _t710 + _t711 = self.parse_term() + term_4179 = _t711 + self.consume_literal(')') + _t712 = logic_pb2.RelTerm(term=term177) + _t713 = logic_pb2.RelTerm(term=term_3178) + _t714 = logic_pb2.RelTerm(term=term_4179) + _t715 = logic_pb2.Primitive(name='rel_primitive_subtract_monotype', terms=[_t712, _t713, _t714]) + return _t715 def parse_multiply(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('*') - _t707 = self.parse_term() - term180 = _t707 - _t708 = self.parse_term() - term_3181 = _t708 - _t709 = self.parse_term() - term_4182 = _t709 - self.consume_literal(')') - _t710 = logic_pb2.RelTerm(term=term180) - _t711 = logic_pb2.RelTerm(term=term_3181) - _t712 = logic_pb2.RelTerm(term=term_4182) - _t713 = logic_pb2.Primitive(name='rel_primitive_multiply_monotype', terms=[_t710, _t711, _t712]) - return _t713 + _t716 = self.parse_term() + term180 = _t716 + _t717 = self.parse_term() + term_3181 = _t717 + _t718 = self.parse_term() + term_4182 = _t718 + self.consume_literal(')') + _t719 = logic_pb2.RelTerm(term=term180) + _t720 = logic_pb2.RelTerm(term=term_3181) + _t721 = logic_pb2.RelTerm(term=term_4182) + _t722 = logic_pb2.Primitive(name='rel_primitive_multiply_monotype', terms=[_t719, _t720, _t721]) + return _t722 def parse_divide(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('/') - _t714 = self.parse_term() - term183 = _t714 - _t715 = self.parse_term() - term_3184 = _t715 - _t716 = self.parse_term() - term_4185 = _t716 - self.consume_literal(')') - _t717 = logic_pb2.RelTerm(term=term183) - _t718 = logic_pb2.RelTerm(term=term_3184) - _t719 = logic_pb2.RelTerm(term=term_4185) - _t720 = logic_pb2.Primitive(name='rel_primitive_divide_monotype', terms=[_t717, _t718, _t719]) - return _t720 + _t723 = self.parse_term() + term183 = _t723 + _t724 = self.parse_term() + term_3184 = _t724 + _t725 = self.parse_term() + term_4185 = _t725 + self.consume_literal(')') + _t726 = logic_pb2.RelTerm(term=term183) + _t727 = logic_pb2.RelTerm(term=term_3184) + _t728 = logic_pb2.RelTerm(term=term_4185) + _t729 = logic_pb2.Primitive(name='rel_primitive_divide_monotype', terms=[_t726, _t727, _t728]) + return _t729 def parse_rel_term(self) -> logic_pb2.RelTerm: if self.match_lookahead_literal('true', 0): - _t721 = 1 + _t730 = 1 else: if self.match_lookahead_literal('missing', 0): - _t722 = 1 + _t731 = 1 else: if self.match_lookahead_literal('false', 0): - _t723 = 1 + _t732 = 1 else: if self.match_lookahead_literal('(', 0): - _t724 = 1 + _t733 = 1 else: if self.match_lookahead_literal('#', 0): - _t725 = 0 + _t734 = 0 else: if self.match_lookahead_terminal('UINT128', 0): - _t726 = 1 + _t735 = 1 else: if self.match_lookahead_terminal('SYMBOL', 0): - _t727 = 1 + _t736 = 1 else: if self.match_lookahead_terminal('STRING', 0): - _t728 = 1 + _t737 = 1 else: if self.match_lookahead_terminal('INT128', 0): - _t729 = 1 + _t738 = 1 else: if self.match_lookahead_terminal('INT', 0): - _t730 = 1 + _t739 = 1 else: if self.match_lookahead_terminal('FLOAT', 0): - _t731 = 1 + _t740 = 1 else: if self.match_lookahead_terminal('DECIMAL', 0): - _t732 = 1 + _t741 = 1 else: - _t732 = -1 - _t731 = _t732 - _t730 = _t731 - _t729 = _t730 - _t728 = _t729 - _t727 = _t728 - _t726 = _t727 - _t725 = _t726 - _t724 = _t725 - _t723 = _t724 - _t722 = _t723 - _t721 = _t722 - prediction186 = _t721 + _t741 = -1 + _t740 = _t741 + _t739 = _t740 + _t738 = _t739 + _t737 = _t738 + _t736 = _t737 + _t735 = _t736 + _t734 = _t735 + _t733 = _t734 + _t732 = _t733 + _t731 = _t732 + _t730 = _t731 + prediction186 = _t730 if prediction186 == 1: - _t734 = self.parse_term() - term188 = _t734 - _t735 = logic_pb2.RelTerm(term=term188) - _t733 = _t735 + _t743 = self.parse_term() + term188 = _t743 + _t744 = logic_pb2.RelTerm(term=term188) + _t742 = _t744 else: if prediction186 == 0: - _t737 = self.parse_specialized_value() - specialized_value187 = _t737 - _t738 = logic_pb2.RelTerm(specialized_value=specialized_value187) - _t736 = _t738 + _t746 = self.parse_specialized_value() + specialized_value187 = _t746 + _t747 = logic_pb2.RelTerm(specialized_value=specialized_value187) + _t745 = _t747 else: raise ParseError(f"{'Unexpected token in rel_term'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t733 = _t736 - return _t733 + _t742 = _t745 + return _t742 def parse_specialized_value(self) -> logic_pb2.Value: self.consume_literal('#') - _t739 = self.parse_value() - value189 = _t739 + _t748 = self.parse_value() + value189 = _t748 return value189 def parse_rel_atom(self) -> logic_pb2.RelAtom: self.consume_literal('(') self.consume_literal('relatom') - _t740 = self.parse_name() - name190 = _t740 + _t749 = self.parse_name() + name190 = _t749 xs191 = [] cond192 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond192: - _t741 = self.parse_rel_term() - item193 = _t741 + _t750 = self.parse_rel_term() + item193 = _t750 xs191.append(item193) cond192 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) rel_terms194 = xs191 self.consume_literal(')') - _t742 = logic_pb2.RelAtom(name=name190, terms=rel_terms194) - return _t742 + _t751 = logic_pb2.RelAtom(name=name190, terms=rel_terms194) + return _t751 def parse_cast(self) -> logic_pb2.Cast: self.consume_literal('(') self.consume_literal('cast') - _t743 = self.parse_term() - term195 = _t743 - _t744 = self.parse_term() - term_3196 = _t744 + _t752 = self.parse_term() + term195 = _t752 + _t753 = self.parse_term() + term_3196 = _t753 self.consume_literal(')') - _t745 = logic_pb2.Cast(input=term195, result=term_3196) - return _t745 + _t754 = logic_pb2.Cast(input=term195, result=term_3196) + return _t754 def parse_attrs(self) -> Sequence[logic_pb2.Attribute]: self.consume_literal('(') @@ -2320,8 +2329,8 @@ def parse_attrs(self) -> Sequence[logic_pb2.Attribute]: xs197 = [] cond198 = self.match_lookahead_literal('(', 0) while cond198: - _t746 = self.parse_attribute() - item199 = _t746 + _t755 = self.parse_attribute() + item199 = _t755 xs197.append(item199) cond198 = self.match_lookahead_literal('(', 0) attributes200 = xs197 @@ -2331,19 +2340,19 @@ def parse_attrs(self) -> Sequence[logic_pb2.Attribute]: def parse_attribute(self) -> logic_pb2.Attribute: self.consume_literal('(') self.consume_literal('attribute') - _t747 = self.parse_name() - name201 = _t747 + _t756 = self.parse_name() + name201 = _t756 xs202 = [] cond203 = (((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond203: - _t748 = self.parse_value() - item204 = _t748 + _t757 = self.parse_value() + item204 = _t757 xs202.append(item204) cond203 = (((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('UINT128', 0)) values205 = xs202 self.consume_literal(')') - _t749 = logic_pb2.Attribute(name=name201, args=values205) - return _t749 + _t758 = logic_pb2.Attribute(name=name201, args=values205) + return _t758 def parse_algorithm(self) -> logic_pb2.Algorithm: self.consume_literal('(') @@ -2351,17 +2360,17 @@ def parse_algorithm(self) -> logic_pb2.Algorithm: xs206 = [] cond207 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) while cond207: - _t750 = self.parse_relation_id() - item208 = _t750 + _t759 = self.parse_relation_id() + item208 = _t759 xs206.append(item208) cond207 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) relation_ids209 = xs206 - _t751 = self.parse_script() - script210 = _t751 + _t760 = self.parse_script() + script210 = _t760 self.consume_literal(')') - _t752 = logic_pb2.Algorithm(body=script210) - getattr(_t752, 'global').extend(relation_ids209) - return _t752 + _t761 = logic_pb2.Algorithm(body=script210) + getattr(_t761, 'global').extend(relation_ids209) + return _t761 def parse_script(self) -> logic_pb2.Script: self.consume_literal('(') @@ -2369,80 +2378,80 @@ def parse_script(self) -> logic_pb2.Script: xs211 = [] cond212 = self.match_lookahead_literal('(', 0) while cond212: - _t753 = self.parse_construct() - item213 = _t753 + _t762 = self.parse_construct() + item213 = _t762 xs211.append(item213) cond212 = self.match_lookahead_literal('(', 0) constructs214 = xs211 self.consume_literal(')') - _t754 = logic_pb2.Script(constructs=constructs214) - return _t754 + _t763 = logic_pb2.Script(constructs=constructs214) + return _t763 def parse_construct(self) -> logic_pb2.Construct: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('upsert', 1): - _t756 = 1 + _t765 = 1 else: if self.match_lookahead_literal('monus', 1): - _t757 = 1 + _t766 = 1 else: if self.match_lookahead_literal('monoid', 1): - _t758 = 1 + _t767 = 1 else: if self.match_lookahead_literal('loop', 1): - _t759 = 0 + _t768 = 0 else: if self.match_lookahead_literal('break', 1): - _t760 = 1 + _t769 = 1 else: if self.match_lookahead_literal('assign', 1): - _t761 = 1 + _t770 = 1 else: - _t761 = -1 - _t760 = _t761 - _t759 = _t760 - _t758 = _t759 - _t757 = _t758 - _t756 = _t757 - _t755 = _t756 - else: - _t755 = -1 - prediction215 = _t755 + _t770 = -1 + _t769 = _t770 + _t768 = _t769 + _t767 = _t768 + _t766 = _t767 + _t765 = _t766 + _t764 = _t765 + else: + _t764 = -1 + prediction215 = _t764 if prediction215 == 1: - _t763 = self.parse_instruction() - instruction217 = _t763 - _t764 = logic_pb2.Construct(instruction=instruction217) - _t762 = _t764 + _t772 = self.parse_instruction() + instruction217 = _t772 + _t773 = logic_pb2.Construct(instruction=instruction217) + _t771 = _t773 else: if prediction215 == 0: - _t766 = self.parse_loop() - loop216 = _t766 - _t767 = logic_pb2.Construct(loop=loop216) - _t765 = _t767 + _t775 = self.parse_loop() + loop216 = _t775 + _t776 = logic_pb2.Construct(loop=loop216) + _t774 = _t776 else: raise ParseError(f"{'Unexpected token in construct'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t762 = _t765 - return _t762 + _t771 = _t774 + return _t771 def parse_loop(self) -> logic_pb2.Loop: self.consume_literal('(') self.consume_literal('loop') - _t768 = self.parse_init() - init218 = _t768 - _t769 = self.parse_script() - script219 = _t769 + _t777 = self.parse_init() + init218 = _t777 + _t778 = self.parse_script() + script219 = _t778 self.consume_literal(')') - _t770 = logic_pb2.Loop(init=init218, body=script219) - return _t770 + _t779 = logic_pb2.Loop(init=init218, body=script219) + return _t779 def parse_init(self) -> Sequence[logic_pb2.Instruction]: self.consume_literal('(') @@ -2450,8 +2459,8 @@ def parse_init(self) -> Sequence[logic_pb2.Instruction]: xs220 = [] cond221 = self.match_lookahead_literal('(', 0) while cond221: - _t771 = self.parse_instruction() - item222 = _t771 + _t780 = self.parse_instruction() + item222 = _t780 xs220.append(item222) cond221 = self.match_lookahead_literal('(', 0) instructions223 = xs220 @@ -2463,290 +2472,290 @@ def parse_instruction(self) -> logic_pb2.Instruction: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('upsert', 1): - _t773 = 1 + _t782 = 1 else: if self.match_lookahead_literal('monus', 1): - _t774 = 4 + _t783 = 4 else: if self.match_lookahead_literal('monoid', 1): - _t775 = 3 + _t784 = 3 else: if self.match_lookahead_literal('break', 1): - _t776 = 2 + _t785 = 2 else: if self.match_lookahead_literal('assign', 1): - _t777 = 0 + _t786 = 0 else: - _t777 = -1 - _t776 = _t777 - _t775 = _t776 - _t774 = _t775 - _t773 = _t774 - _t772 = _t773 - else: - _t772 = -1 - prediction224 = _t772 + _t786 = -1 + _t785 = _t786 + _t784 = _t785 + _t783 = _t784 + _t782 = _t783 + _t781 = _t782 + else: + _t781 = -1 + prediction224 = _t781 if prediction224 == 4: - _t779 = self.parse_monus_def() - monus_def229 = _t779 - _t780 = logic_pb2.Instruction(monus_def=monus_def229) - _t778 = _t780 + _t788 = self.parse_monus_def() + monus_def229 = _t788 + _t789 = logic_pb2.Instruction(monus_def=monus_def229) + _t787 = _t789 else: if prediction224 == 3: - _t782 = self.parse_monoid_def() - monoid_def228 = _t782 - _t783 = logic_pb2.Instruction(monoid_def=monoid_def228) - _t781 = _t783 + _t791 = self.parse_monoid_def() + monoid_def228 = _t791 + _t792 = logic_pb2.Instruction(monoid_def=monoid_def228) + _t790 = _t792 else: if prediction224 == 2: - _t785 = self.parse_break() - break227 = _t785 - _t786 = logic_pb2.Instruction() - getattr(_t786, 'break').CopyFrom(break227) - _t784 = _t786 + _t794 = self.parse_break() + break227 = _t794 + _t795 = logic_pb2.Instruction() + getattr(_t795, 'break').CopyFrom(break227) + _t793 = _t795 else: if prediction224 == 1: - _t788 = self.parse_upsert() - upsert226 = _t788 - _t789 = logic_pb2.Instruction(upsert=upsert226) - _t787 = _t789 + _t797 = self.parse_upsert() + upsert226 = _t797 + _t798 = logic_pb2.Instruction(upsert=upsert226) + _t796 = _t798 else: if prediction224 == 0: - _t791 = self.parse_assign() - assign225 = _t791 - _t792 = logic_pb2.Instruction(assign=assign225) - _t790 = _t792 + _t800 = self.parse_assign() + assign225 = _t800 + _t801 = logic_pb2.Instruction(assign=assign225) + _t799 = _t801 else: raise ParseError(f"{'Unexpected token in instruction'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t787 = _t790 - _t784 = _t787 - _t781 = _t784 - _t778 = _t781 - return _t778 + _t796 = _t799 + _t793 = _t796 + _t790 = _t793 + _t787 = _t790 + return _t787 def parse_assign(self) -> logic_pb2.Assign: self.consume_literal('(') self.consume_literal('assign') - _t793 = self.parse_relation_id() - relation_id230 = _t793 - _t794 = self.parse_abstraction() - abstraction231 = _t794 + _t802 = self.parse_relation_id() + relation_id230 = _t802 + _t803 = self.parse_abstraction() + abstraction231 = _t803 if self.match_lookahead_literal('(', 0): - _t796 = self.parse_attrs() - _t795 = _t796 + _t805 = self.parse_attrs() + _t804 = _t805 else: - _t795 = None - attrs232 = _t795 + _t804 = None + attrs232 = _t804 self.consume_literal(')') - _t797 = logic_pb2.Assign(name=relation_id230, body=abstraction231, attrs=(attrs232 if attrs232 is not None else [])) - return _t797 + _t806 = logic_pb2.Assign(name=relation_id230, body=abstraction231, attrs=(attrs232 if attrs232 is not None else [])) + return _t806 def parse_upsert(self) -> logic_pb2.Upsert: self.consume_literal('(') self.consume_literal('upsert') - _t798 = self.parse_relation_id() - relation_id233 = _t798 - _t799 = self.parse_abstraction_with_arity() - abstraction_with_arity234 = _t799 + _t807 = self.parse_relation_id() + relation_id233 = _t807 + _t808 = self.parse_abstraction_with_arity() + abstraction_with_arity234 = _t808 if self.match_lookahead_literal('(', 0): - _t801 = self.parse_attrs() - _t800 = _t801 + _t810 = self.parse_attrs() + _t809 = _t810 else: - _t800 = None - attrs235 = _t800 + _t809 = None + attrs235 = _t809 self.consume_literal(')') - _t802 = logic_pb2.Upsert(name=relation_id233, body=abstraction_with_arity234[0], attrs=(attrs235 if attrs235 is not None else []), value_arity=abstraction_with_arity234[1]) - return _t802 + _t811 = logic_pb2.Upsert(name=relation_id233, body=abstraction_with_arity234[0], attrs=(attrs235 if attrs235 is not None else []), value_arity=abstraction_with_arity234[1]) + return _t811 def parse_abstraction_with_arity(self) -> tuple[logic_pb2.Abstraction, int]: self.consume_literal('(') - _t803 = self.parse_bindings() - bindings236 = _t803 - _t804 = self.parse_formula() - formula237 = _t804 + _t812 = self.parse_bindings() + bindings236 = _t812 + _t813 = self.parse_formula() + formula237 = _t813 self.consume_literal(')') - _t805 = logic_pb2.Abstraction(vars=(list(bindings236[0]) + list(bindings236[1] if bindings236[1] is not None else [])), value=formula237) - return (_t805, len(bindings236[1]),) + _t814 = logic_pb2.Abstraction(vars=(list(bindings236[0]) + list(bindings236[1] if bindings236[1] is not None else [])), value=formula237) + return (_t814, len(bindings236[1]),) def parse_break(self) -> logic_pb2.Break: self.consume_literal('(') self.consume_literal('break') - _t806 = self.parse_relation_id() - relation_id238 = _t806 - _t807 = self.parse_abstraction() - abstraction239 = _t807 + _t815 = self.parse_relation_id() + relation_id238 = _t815 + _t816 = self.parse_abstraction() + abstraction239 = _t816 if self.match_lookahead_literal('(', 0): - _t809 = self.parse_attrs() - _t808 = _t809 + _t818 = self.parse_attrs() + _t817 = _t818 else: - _t808 = None - attrs240 = _t808 + _t817 = None + attrs240 = _t817 self.consume_literal(')') - _t810 = logic_pb2.Break(name=relation_id238, body=abstraction239, attrs=(attrs240 if attrs240 is not None else [])) - return _t810 + _t819 = logic_pb2.Break(name=relation_id238, body=abstraction239, attrs=(attrs240 if attrs240 is not None else [])) + return _t819 def parse_monoid_def(self) -> logic_pb2.MonoidDef: self.consume_literal('(') self.consume_literal('monoid') - _t811 = self.parse_monoid() - monoid241 = _t811 - _t812 = self.parse_relation_id() - relation_id242 = _t812 - _t813 = self.parse_abstraction_with_arity() - abstraction_with_arity243 = _t813 + _t820 = self.parse_monoid() + monoid241 = _t820 + _t821 = self.parse_relation_id() + relation_id242 = _t821 + _t822 = self.parse_abstraction_with_arity() + abstraction_with_arity243 = _t822 if self.match_lookahead_literal('(', 0): - _t815 = self.parse_attrs() - _t814 = _t815 + _t824 = self.parse_attrs() + _t823 = _t824 else: - _t814 = None - attrs244 = _t814 + _t823 = None + attrs244 = _t823 self.consume_literal(')') - _t816 = logic_pb2.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[0], attrs=(attrs244 if attrs244 is not None else []), value_arity=abstraction_with_arity243[1]) - return _t816 + _t825 = logic_pb2.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[0], attrs=(attrs244 if attrs244 is not None else []), value_arity=abstraction_with_arity243[1]) + return _t825 def parse_monoid(self) -> logic_pb2.Monoid: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('sum', 1): - _t818 = 3 + _t827 = 3 else: if self.match_lookahead_literal('or', 1): - _t819 = 0 + _t828 = 0 else: if self.match_lookahead_literal('min', 1): - _t820 = 1 + _t829 = 1 else: if self.match_lookahead_literal('max', 1): - _t821 = 2 + _t830 = 2 else: - _t821 = -1 - _t820 = _t821 - _t819 = _t820 - _t818 = _t819 - _t817 = _t818 + _t830 = -1 + _t829 = _t830 + _t828 = _t829 + _t827 = _t828 + _t826 = _t827 else: - _t817 = -1 - prediction245 = _t817 + _t826 = -1 + prediction245 = _t826 if prediction245 == 3: - _t823 = self.parse_sum_monoid() - sum_monoid249 = _t823 - _t824 = logic_pb2.Monoid(sum_monoid=sum_monoid249) - _t822 = _t824 + _t832 = self.parse_sum_monoid() + sum_monoid249 = _t832 + _t833 = logic_pb2.Monoid(sum_monoid=sum_monoid249) + _t831 = _t833 else: if prediction245 == 2: - _t826 = self.parse_max_monoid() - max_monoid248 = _t826 - _t827 = logic_pb2.Monoid(max_monoid=max_monoid248) - _t825 = _t827 + _t835 = self.parse_max_monoid() + max_monoid248 = _t835 + _t836 = logic_pb2.Monoid(max_monoid=max_monoid248) + _t834 = _t836 else: if prediction245 == 1: - _t829 = self.parse_min_monoid() - min_monoid247 = _t829 - _t830 = logic_pb2.Monoid(min_monoid=min_monoid247) - _t828 = _t830 + _t838 = self.parse_min_monoid() + min_monoid247 = _t838 + _t839 = logic_pb2.Monoid(min_monoid=min_monoid247) + _t837 = _t839 else: if prediction245 == 0: - _t832 = self.parse_or_monoid() - or_monoid246 = _t832 - _t833 = logic_pb2.Monoid(or_monoid=or_monoid246) - _t831 = _t833 + _t841 = self.parse_or_monoid() + or_monoid246 = _t841 + _t842 = logic_pb2.Monoid(or_monoid=or_monoid246) + _t840 = _t842 else: raise ParseError(f"{'Unexpected token in monoid'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t828 = _t831 - _t825 = _t828 - _t822 = _t825 - return _t822 + _t837 = _t840 + _t834 = _t837 + _t831 = _t834 + return _t831 def parse_or_monoid(self) -> logic_pb2.OrMonoid: self.consume_literal('(') self.consume_literal('or') self.consume_literal(')') - _t834 = logic_pb2.OrMonoid() - return _t834 + _t843 = logic_pb2.OrMonoid() + return _t843 def parse_min_monoid(self) -> logic_pb2.MinMonoid: self.consume_literal('(') self.consume_literal('min') - _t835 = self.parse_type() - type250 = _t835 + _t844 = self.parse_type() + type250 = _t844 self.consume_literal(')') - _t836 = logic_pb2.MinMonoid(type=type250) - return _t836 + _t845 = logic_pb2.MinMonoid(type=type250) + return _t845 def parse_max_monoid(self) -> logic_pb2.MaxMonoid: self.consume_literal('(') self.consume_literal('max') - _t837 = self.parse_type() - type251 = _t837 + _t846 = self.parse_type() + type251 = _t846 self.consume_literal(')') - _t838 = logic_pb2.MaxMonoid(type=type251) - return _t838 + _t847 = logic_pb2.MaxMonoid(type=type251) + return _t847 def parse_sum_monoid(self) -> logic_pb2.SumMonoid: self.consume_literal('(') self.consume_literal('sum') - _t839 = self.parse_type() - type252 = _t839 + _t848 = self.parse_type() + type252 = _t848 self.consume_literal(')') - _t840 = logic_pb2.SumMonoid(type=type252) - return _t840 + _t849 = logic_pb2.SumMonoid(type=type252) + return _t849 def parse_monus_def(self) -> logic_pb2.MonusDef: self.consume_literal('(') self.consume_literal('monus') - _t841 = self.parse_monoid() - monoid253 = _t841 - _t842 = self.parse_relation_id() - relation_id254 = _t842 - _t843 = self.parse_abstraction_with_arity() - abstraction_with_arity255 = _t843 + _t850 = self.parse_monoid() + monoid253 = _t850 + _t851 = self.parse_relation_id() + relation_id254 = _t851 + _t852 = self.parse_abstraction_with_arity() + abstraction_with_arity255 = _t852 if self.match_lookahead_literal('(', 0): - _t845 = self.parse_attrs() - _t844 = _t845 + _t854 = self.parse_attrs() + _t853 = _t854 else: - _t844 = None - attrs256 = _t844 + _t853 = None + attrs256 = _t853 self.consume_literal(')') - _t846 = logic_pb2.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[0], attrs=(attrs256 if attrs256 is not None else []), value_arity=abstraction_with_arity255[1]) - return _t846 + _t855 = logic_pb2.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[0], attrs=(attrs256 if attrs256 is not None else []), value_arity=abstraction_with_arity255[1]) + return _t855 def parse_constraint(self) -> logic_pb2.Constraint: self.consume_literal('(') self.consume_literal('functional_dependency') - _t847 = self.parse_relation_id() - relation_id257 = _t847 - _t848 = self.parse_abstraction() - abstraction258 = _t848 - _t849 = self.parse_functional_dependency_keys() - functional_dependency_keys259 = _t849 - _t850 = self.parse_functional_dependency_values() - functional_dependency_values260 = _t850 - self.consume_literal(')') - _t851 = logic_pb2.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) - _t852 = logic_pb2.Constraint(name=relation_id257, functional_dependency=_t851) - return _t852 + _t856 = self.parse_relation_id() + relation_id257 = _t856 + _t857 = self.parse_abstraction() + abstraction258 = _t857 + _t858 = self.parse_functional_dependency_keys() + functional_dependency_keys259 = _t858 + _t859 = self.parse_functional_dependency_values() + functional_dependency_values260 = _t859 + self.consume_literal(')') + _t860 = logic_pb2.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) + _t861 = logic_pb2.Constraint(name=relation_id257, functional_dependency=_t860) + return _t861 def parse_functional_dependency_keys(self) -> Sequence[logic_pb2.Var]: self.consume_literal('(') @@ -2754,8 +2763,8 @@ def parse_functional_dependency_keys(self) -> Sequence[logic_pb2.Var]: xs261 = [] cond262 = self.match_lookahead_terminal('SYMBOL', 0) while cond262: - _t853 = self.parse_var() - item263 = _t853 + _t862 = self.parse_var() + item263 = _t862 xs261.append(item263) cond262 = self.match_lookahead_terminal('SYMBOL', 0) vars264 = xs261 @@ -2768,8 +2777,8 @@ def parse_functional_dependency_values(self) -> Sequence[logic_pb2.Var]: xs265 = [] cond266 = self.match_lookahead_terminal('SYMBOL', 0) while cond266: - _t854 = self.parse_var() - item267 = _t854 + _t863 = self.parse_var() + item267 = _t863 xs265.append(item267) cond266 = self.match_lookahead_terminal('SYMBOL', 0) vars268 = xs265 @@ -2781,61 +2790,61 @@ def parse_data(self) -> logic_pb2.Data: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('rel_edb', 1): - _t856 = 0 + _t865 = 0 else: if self.match_lookahead_literal('csv_data', 1): - _t857 = 2 + _t866 = 2 else: if self.match_lookahead_literal('betree_relation', 1): - _t858 = 1 + _t867 = 1 else: - _t858 = -1 - _t857 = _t858 - _t856 = _t857 - _t855 = _t856 + _t867 = -1 + _t866 = _t867 + _t865 = _t866 + _t864 = _t865 else: - _t855 = -1 - prediction269 = _t855 + _t864 = -1 + prediction269 = _t864 if prediction269 == 2: - _t860 = self.parse_csv_data() - csv_data272 = _t860 - _t861 = logic_pb2.Data(csv_data=csv_data272) - _t859 = _t861 + _t869 = self.parse_csv_data() + csv_data272 = _t869 + _t870 = logic_pb2.Data(csv_data=csv_data272) + _t868 = _t870 else: if prediction269 == 1: - _t863 = self.parse_betree_relation() - betree_relation271 = _t863 - _t864 = logic_pb2.Data(betree_relation=betree_relation271) - _t862 = _t864 + _t872 = self.parse_betree_relation() + betree_relation271 = _t872 + _t873 = logic_pb2.Data(betree_relation=betree_relation271) + _t871 = _t873 else: if prediction269 == 0: - _t866 = self.parse_rel_edb() - rel_edb270 = _t866 - _t867 = logic_pb2.Data(rel_edb=rel_edb270) - _t865 = _t867 + _t875 = self.parse_rel_edb() + rel_edb270 = _t875 + _t876 = logic_pb2.Data(rel_edb=rel_edb270) + _t874 = _t876 else: raise ParseError(f"{'Unexpected token in data'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t862 = _t865 - _t859 = _t862 - return _t859 + _t871 = _t874 + _t868 = _t871 + return _t868 def parse_rel_edb(self) -> logic_pb2.RelEDB: self.consume_literal('(') self.consume_literal('rel_edb') - _t868 = self.parse_relation_id() - relation_id273 = _t868 - _t869 = self.parse_rel_edb_path() - rel_edb_path274 = _t869 - _t870 = self.parse_rel_edb_types() - rel_edb_types275 = _t870 + _t877 = self.parse_relation_id() + relation_id273 = _t877 + _t878 = self.parse_rel_edb_path() + rel_edb_path274 = _t878 + _t879 = self.parse_rel_edb_types() + rel_edb_types275 = _t879 self.consume_literal(')') - _t871 = logic_pb2.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) - return _t871 + _t880 = logic_pb2.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) + return _t880 def parse_rel_edb_path(self) -> Sequence[str]: self.consume_literal('[') @@ -2854,8 +2863,8 @@ def parse_rel_edb_types(self) -> Sequence[logic_pb2.Type]: xs280 = [] cond281 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond281: - _t872 = self.parse_type() - item282 = _t872 + _t881 = self.parse_type() + item282 = _t881 xs280.append(item282) cond281 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types283 = xs280 @@ -2865,26 +2874,26 @@ def parse_rel_edb_types(self) -> Sequence[logic_pb2.Type]: def parse_betree_relation(self) -> logic_pb2.BeTreeRelation: self.consume_literal('(') self.consume_literal('betree_relation') - _t873 = self.parse_relation_id() - relation_id284 = _t873 - _t874 = self.parse_betree_info() - betree_info285 = _t874 + _t882 = self.parse_relation_id() + relation_id284 = _t882 + _t883 = self.parse_betree_info() + betree_info285 = _t883 self.consume_literal(')') - _t875 = logic_pb2.BeTreeRelation(name=relation_id284, relation_info=betree_info285) - return _t875 + _t884 = logic_pb2.BeTreeRelation(name=relation_id284, relation_info=betree_info285) + return _t884 def parse_betree_info(self) -> logic_pb2.BeTreeInfo: self.consume_literal('(') self.consume_literal('betree_info') - _t876 = self.parse_betree_info_key_types() - betree_info_key_types286 = _t876 - _t877 = self.parse_betree_info_value_types() - betree_info_value_types287 = _t877 - _t878 = self.parse_config_dict() - config_dict288 = _t878 + _t885 = self.parse_betree_info_key_types() + betree_info_key_types286 = _t885 + _t886 = self.parse_betree_info_value_types() + betree_info_value_types287 = _t886 + _t887 = self.parse_config_dict() + config_dict288 = _t887 self.consume_literal(')') - _t879 = self.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) - return _t879 + _t888 = self.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) + return _t888 def parse_betree_info_key_types(self) -> Sequence[logic_pb2.Type]: self.consume_literal('(') @@ -2892,8 +2901,8 @@ def parse_betree_info_key_types(self) -> Sequence[logic_pb2.Type]: xs289 = [] cond290 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond290: - _t880 = self.parse_type() - item291 = _t880 + _t889 = self.parse_type() + item291 = _t889 xs289.append(item291) cond290 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types292 = xs289 @@ -2906,8 +2915,8 @@ def parse_betree_info_value_types(self) -> Sequence[logic_pb2.Type]: xs293 = [] cond294 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond294: - _t881 = self.parse_type() - item295 = _t881 + _t890 = self.parse_type() + item295 = _t890 xs293.append(item295) cond294 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types296 = xs293 @@ -2917,38 +2926,38 @@ def parse_betree_info_value_types(self) -> Sequence[logic_pb2.Type]: def parse_csv_data(self) -> logic_pb2.CSVData: self.consume_literal('(') self.consume_literal('csv_data') - _t882 = self.parse_csvlocator() - csvlocator297 = _t882 - _t883 = self.parse_csv_config() - csv_config298 = _t883 - _t884 = self.parse_csv_columns() - csv_columns299 = _t884 - _t885 = self.parse_csv_asof() - csv_asof300 = _t885 - self.consume_literal(')') - _t886 = logic_pb2.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) - return _t886 + _t891 = self.parse_csvlocator() + csvlocator297 = _t891 + _t892 = self.parse_csv_config() + csv_config298 = _t892 + _t893 = self.parse_csv_columns() + csv_columns299 = _t893 + _t894 = self.parse_csv_asof() + csv_asof300 = _t894 + self.consume_literal(')') + _t895 = logic_pb2.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) + return _t895 def parse_csvlocator(self) -> logic_pb2.CSVLocator: self.consume_literal('(') self.consume_literal('csv_locator') if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('paths', 1)): - _t888 = self.parse_csv_locator_paths() - _t887 = _t888 + _t897 = self.parse_csv_locator_paths() + _t896 = _t897 else: - _t887 = None - csv_locator_paths301 = _t887 + _t896 = None + csv_locator_paths301 = _t896 if self.match_lookahead_literal('(', 0): - _t890 = self.parse_csv_locator_inline_data() - _t889 = _t890 + _t899 = self.parse_csv_locator_inline_data() + _t898 = _t899 else: - _t889 = None - csv_locator_inline_data302 = _t889 + _t898 = None + csv_locator_inline_data302 = _t898 self.consume_literal(')') - _t891 = logic_pb2.CSVLocator(paths=(csv_locator_paths301 if csv_locator_paths301 is not None else []), inline_data=(csv_locator_inline_data302 if csv_locator_inline_data302 is not None else '').encode()) - return _t891 + _t900 = logic_pb2.CSVLocator(paths=(csv_locator_paths301 if csv_locator_paths301 is not None else []), inline_data=(csv_locator_inline_data302 if csv_locator_inline_data302 is not None else '').encode()) + return _t900 def parse_csv_locator_paths(self) -> Sequence[str]: self.consume_literal('(') @@ -2973,11 +2982,11 @@ def parse_csv_locator_inline_data(self) -> str: def parse_csv_config(self) -> logic_pb2.CSVConfig: self.consume_literal('(') self.consume_literal('csv_config') - _t892 = self.parse_config_dict() - config_dict308 = _t892 + _t901 = self.parse_config_dict() + config_dict308 = _t901 self.consume_literal(')') - _t893 = self.construct_csv_config(config_dict308) - return _t893 + _t902 = self.construct_csv_config(config_dict308) + return _t902 def parse_csv_columns(self) -> Sequence[logic_pb2.CSVColumn]: self.consume_literal('(') @@ -2985,8 +2994,8 @@ def parse_csv_columns(self) -> Sequence[logic_pb2.CSVColumn]: xs309 = [] cond310 = self.match_lookahead_literal('(', 0) while cond310: - _t894 = self.parse_csv_column() - item311 = _t894 + _t903 = self.parse_csv_column() + item311 = _t903 xs309.append(item311) cond310 = self.match_lookahead_literal('(', 0) csv_columns312 = xs309 @@ -2997,21 +3006,21 @@ def parse_csv_column(self) -> logic_pb2.CSVColumn: self.consume_literal('(') self.consume_literal('column') string313 = self.consume_terminal('STRING') - _t895 = self.parse_relation_id() - relation_id314 = _t895 + _t904 = self.parse_relation_id() + relation_id314 = _t904 self.consume_literal('[') xs315 = [] cond316 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond316: - _t896 = self.parse_type() - item317 = _t896 + _t905 = self.parse_type() + item317 = _t905 xs315.append(item317) cond316 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types318 = xs315 self.consume_literal(']') self.consume_literal(')') - _t897 = logic_pb2.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) - return _t897 + _t906 = logic_pb2.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) + return _t906 def parse_csv_asof(self) -> str: self.consume_literal('(') @@ -3023,11 +3032,11 @@ def parse_csv_asof(self) -> str: def parse_undefine(self) -> transactions_pb2.Undefine: self.consume_literal('(') self.consume_literal('undefine') - _t898 = self.parse_fragment_id() - fragment_id320 = _t898 + _t907 = self.parse_fragment_id() + fragment_id320 = _t907 self.consume_literal(')') - _t899 = transactions_pb2.Undefine(fragment_id=fragment_id320) - return _t899 + _t908 = transactions_pb2.Undefine(fragment_id=fragment_id320) + return _t908 def parse_context(self) -> transactions_pb2.Context: self.consume_literal('(') @@ -3035,14 +3044,14 @@ def parse_context(self) -> transactions_pb2.Context: xs321 = [] cond322 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) while cond322: - _t900 = self.parse_relation_id() - item323 = _t900 + _t909 = self.parse_relation_id() + item323 = _t909 xs321.append(item323) cond322 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) relation_ids324 = xs321 self.consume_literal(')') - _t901 = transactions_pb2.Context(relations=relation_ids324) - return _t901 + _t910 = transactions_pb2.Context(relations=relation_ids324) + return _t910 def parse_epoch_reads(self) -> Sequence[transactions_pb2.Read]: self.consume_literal('(') @@ -3050,8 +3059,8 @@ def parse_epoch_reads(self) -> Sequence[transactions_pb2.Read]: xs325 = [] cond326 = self.match_lookahead_literal('(', 0) while cond326: - _t902 = self.parse_read() - item327 = _t902 + _t911 = self.parse_read() + item327 = _t911 xs325.append(item327) cond326 = self.match_lookahead_literal('(', 0) reads328 = xs325 @@ -3063,174 +3072,253 @@ def parse_read(self) -> transactions_pb2.Read: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('what_if', 1): - _t904 = 2 + _t913 = 2 else: if self.match_lookahead_literal('output', 1): - _t905 = 1 + _t914 = 1 else: if self.match_lookahead_literal('export', 1): - _t906 = 4 + _t915 = 4 else: if self.match_lookahead_literal('demand', 1): - _t907 = 0 + _t916 = 0 else: if self.match_lookahead_literal('abort', 1): - _t908 = 3 + _t917 = 3 else: - _t908 = -1 - _t907 = _t908 - _t906 = _t907 - _t905 = _t906 - _t904 = _t905 - _t903 = _t904 - else: - _t903 = -1 - prediction329 = _t903 + _t917 = -1 + _t916 = _t917 + _t915 = _t916 + _t914 = _t915 + _t913 = _t914 + _t912 = _t913 + else: + _t912 = -1 + prediction329 = _t912 if prediction329 == 4: - _t910 = self.parse_export() - export334 = _t910 - _t911 = transactions_pb2.Read(export=export334) - _t909 = _t911 + _t919 = self.parse_export() + export334 = _t919 + _t920 = transactions_pb2.Read(export=export334) + _t918 = _t920 else: if prediction329 == 3: - _t913 = self.parse_abort() - abort333 = _t913 - _t914 = transactions_pb2.Read(abort=abort333) - _t912 = _t914 + _t922 = self.parse_abort() + abort333 = _t922 + _t923 = transactions_pb2.Read(abort=abort333) + _t921 = _t923 else: if prediction329 == 2: - _t916 = self.parse_what_if() - what_if332 = _t916 - _t917 = transactions_pb2.Read(what_if=what_if332) - _t915 = _t917 + _t925 = self.parse_what_if() + what_if332 = _t925 + _t926 = transactions_pb2.Read(what_if=what_if332) + _t924 = _t926 else: if prediction329 == 1: - _t919 = self.parse_output() - output331 = _t919 - _t920 = transactions_pb2.Read(output=output331) - _t918 = _t920 + _t928 = self.parse_output() + output331 = _t928 + _t929 = transactions_pb2.Read(output=output331) + _t927 = _t929 else: if prediction329 == 0: - _t922 = self.parse_demand() - demand330 = _t922 - _t923 = transactions_pb2.Read(demand=demand330) - _t921 = _t923 + _t931 = self.parse_demand() + demand330 = _t931 + _t932 = transactions_pb2.Read(demand=demand330) + _t930 = _t932 else: raise ParseError(f"{'Unexpected token in read'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t918 = _t921 - _t915 = _t918 - _t912 = _t915 - _t909 = _t912 - return _t909 + _t927 = _t930 + _t924 = _t927 + _t921 = _t924 + _t918 = _t921 + return _t918 def parse_demand(self) -> transactions_pb2.Demand: self.consume_literal('(') self.consume_literal('demand') - _t924 = self.parse_relation_id() - relation_id335 = _t924 + _t933 = self.parse_relation_id() + relation_id335 = _t933 self.consume_literal(')') - _t925 = transactions_pb2.Demand(relation_id=relation_id335) - return _t925 + _t934 = transactions_pb2.Demand(relation_id=relation_id335) + return _t934 def parse_output(self) -> transactions_pb2.Output: self.consume_literal('(') self.consume_literal('output') - _t926 = self.parse_name() - name336 = _t926 - _t927 = self.parse_relation_id() - relation_id337 = _t927 + _t935 = self.parse_name() + name336 = _t935 + _t936 = self.parse_relation_id() + relation_id337 = _t936 self.consume_literal(')') - _t928 = transactions_pb2.Output(name=name336, relation_id=relation_id337) - return _t928 + _t937 = transactions_pb2.Output(name=name336, relation_id=relation_id337) + return _t937 def parse_what_if(self) -> transactions_pb2.WhatIf: self.consume_literal('(') self.consume_literal('what_if') - _t929 = self.parse_name() - name338 = _t929 - _t930 = self.parse_epoch() - epoch339 = _t930 + _t938 = self.parse_name() + name338 = _t938 + _t939 = self.parse_epoch() + epoch339 = _t939 self.consume_literal(')') - _t931 = transactions_pb2.WhatIf(branch=name338, epoch=epoch339) - return _t931 + _t940 = transactions_pb2.WhatIf(branch=name338, epoch=epoch339) + return _t940 def parse_abort(self) -> transactions_pb2.Abort: self.consume_literal('(') self.consume_literal('abort') if (self.match_lookahead_literal(':', 0) and self.match_lookahead_terminal('SYMBOL', 1)): - _t933 = self.parse_name() - _t932 = _t933 + _t942 = self.parse_name() + _t941 = _t942 else: - _t932 = None - name340 = _t932 - _t934 = self.parse_relation_id() - relation_id341 = _t934 + _t941 = None + name340 = _t941 + _t943 = self.parse_relation_id() + relation_id341 = _t943 self.consume_literal(')') - _t935 = transactions_pb2.Abort(name=(name340 if name340 is not None else 'abort'), relation_id=relation_id341) - return _t935 + _t944 = transactions_pb2.Abort(name=(name340 if name340 is not None else 'abort'), relation_id=relation_id341) + return _t944 def parse_export(self) -> transactions_pb2.Export: self.consume_literal('(') self.consume_literal('export') - _t936 = self.parse_export_csv_config() - export_csv_config342 = _t936 + _t945 = self.parse_export_csv_config() + export_csv_config342 = _t945 self.consume_literal(')') - _t937 = transactions_pb2.Export(csv_config=export_csv_config342) - return _t937 + _t946 = transactions_pb2.Export(csv_config=export_csv_config342) + return _t946 def parse_export_csv_config(self) -> transactions_pb2.ExportCSVConfig: - self.consume_literal('(') - self.consume_literal('export_csv_config') - _t938 = self.parse_export_csv_path() - export_csv_path343 = _t938 - _t939 = self.parse_export_csv_columns() - export_csv_columns344 = _t939 - _t940 = self.parse_config_dict() - config_dict345 = _t940 - self.consume_literal(')') - _t941 = self.export_csv_config(export_csv_path343, export_csv_columns344, config_dict345) - return _t941 + + if self.match_lookahead_literal('(', 0): + + if self.match_lookahead_literal('export_csv_config_v2', 1): + _t948 = 0 + else: + + if self.match_lookahead_literal('export_csv_config', 1): + _t949 = 1 + else: + _t949 = -1 + _t948 = _t949 + _t947 = _t948 + else: + _t947 = -1 + prediction343 = _t947 + + if prediction343 == 1: + self.consume_literal('(') + self.consume_literal('export_csv_config') + _t951 = self.parse_export_csv_path() + export_csv_path347 = _t951 + self.consume_literal('(') + self.consume_literal('columns') + xs348 = [] + cond349 = self.match_lookahead_literal('(', 0) + while cond349: + _t952 = self.parse_export_csv_column() + item350 = _t952 + xs348.append(item350) + cond349 = self.match_lookahead_literal('(', 0) + export_csv_columns351 = xs348 + self.consume_literal(')') + _t953 = self.parse_config_dict() + config_dict352 = _t953 + self.consume_literal(')') + _t954 = self.construct_export_csv_config(export_csv_path347, export_csv_columns351, config_dict352) + _t950 = _t954 + else: + + if prediction343 == 0: + self.consume_literal('(') + self.consume_literal('export_csv_config_v2') + _t956 = self.parse_export_csv_path() + export_csv_path344 = _t956 + _t957 = self.parse_export_csv_source() + export_csv_source345 = _t957 + _t958 = self.parse_csv_config() + csv_config346 = _t958 + self.consume_literal(')') + _t959 = self.construct_export_csv_config_with_source(export_csv_path344, export_csv_source345, csv_config346) + _t955 = _t959 + else: + raise ParseError(f"{'Unexpected token in export_csv_config'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") + _t950 = _t955 + return _t950 def parse_export_csv_path(self) -> str: self.consume_literal('(') self.consume_literal('path') - string346 = self.consume_terminal('STRING') + string353 = self.consume_terminal('STRING') self.consume_literal(')') - return string346 + return string353 - def parse_export_csv_columns(self) -> Sequence[transactions_pb2.ExportCSVColumn]: - self.consume_literal('(') - self.consume_literal('columns') - xs347 = [] - cond348 = self.match_lookahead_literal('(', 0) - while cond348: - _t942 = self.parse_export_csv_column() - item349 = _t942 - xs347.append(item349) - cond348 = self.match_lookahead_literal('(', 0) - export_csv_columns350 = xs347 - self.consume_literal(')') - return export_csv_columns350 + def parse_export_csv_source(self) -> transactions_pb2.ExportCSVSource: + + if self.match_lookahead_literal('(', 0): + + if self.match_lookahead_literal('table_def', 1): + _t961 = 1 + else: + + if self.match_lookahead_literal('gnf_columns', 1): + _t962 = 0 + else: + _t962 = -1 + _t961 = _t962 + _t960 = _t961 + else: + _t960 = -1 + prediction354 = _t960 + + if prediction354 == 1: + self.consume_literal('(') + self.consume_literal('table_def') + _t964 = self.parse_relation_id() + relation_id359 = _t964 + self.consume_literal(')') + _t965 = transactions_pb2.ExportCSVSource(table_def=relation_id359) + _t963 = _t965 + else: + + if prediction354 == 0: + self.consume_literal('(') + self.consume_literal('gnf_columns') + xs355 = [] + cond356 = self.match_lookahead_literal('(', 0) + while cond356: + _t967 = self.parse_export_csv_column() + item357 = _t967 + xs355.append(item357) + cond356 = self.match_lookahead_literal('(', 0) + export_csv_columns358 = xs355 + self.consume_literal(')') + _t968 = transactions_pb2.ExportCSVColumns(columns=export_csv_columns358) + _t969 = transactions_pb2.ExportCSVSource(gnf_columns=_t968) + _t966 = _t969 + else: + raise ParseError(f"{'Unexpected token in export_csv_source'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") + _t963 = _t966 + return _t963 def parse_export_csv_column(self) -> transactions_pb2.ExportCSVColumn: self.consume_literal('(') self.consume_literal('column') - string351 = self.consume_terminal('STRING') - _t943 = self.parse_relation_id() - relation_id352 = _t943 + string360 = self.consume_terminal('STRING') + _t970 = self.parse_relation_id() + relation_id361 = _t970 self.consume_literal(')') - _t944 = transactions_pb2.ExportCSVColumn(column_name=string351, column_data=relation_id352) - return _t944 + _t971 = transactions_pb2.ExportCSVColumn(column_name=string360, column_data=relation_id361) + return _t971 def parse(input_str: str) -> Any: diff --git a/python-tools/src/lqp/proto/v1/logic_pb2.py b/python-tools/src/lqp/proto/v1/logic_pb2.py index 3f02d031..769a3503 100644 --- a/python-tools/src/lqp/proto/v1/logic_pb2.py +++ b/python-tools/src/lqp/proto/v1/logic_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1frelationalai/lqp/v1/logic.proto\x12\x13relationalai.lqp.v1\"\x83\x02\n\x0b\x44\x65\x63laration\x12,\n\x03\x64\x65\x66\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.DefH\x00R\x03\x64\x65\x66\x12>\n\talgorithm\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.AlgorithmH\x00R\talgorithm\x12\x41\n\nconstraint\x18\x03 \x01(\x0b\x32\x1f.relationalai.lqp.v1.ConstraintH\x00R\nconstraint\x12/\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x19.relationalai.lqp.v1.DataH\x00R\x04\x64\x61taB\x12\n\x10\x64\x65\x63laration_type\"\xa6\x01\n\x03\x44\x65\x66\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xb6\x01\n\nConstraint\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12`\n\x15\x66unctional_dependency\x18\x01 \x01(\x0b\x32).relationalai.lqp.v1.FunctionalDependencyH\x00R\x14\x66unctionalDependencyB\x11\n\x0f\x63onstraint_type\"\xae\x01\n\x14\x46unctionalDependency\x12\x36\n\x05guard\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x05guard\x12,\n\x04keys\x18\x02 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x04keys\x12\x30\n\x06values\x18\x03 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x06values\"u\n\tAlgorithm\x12\x37\n\x06global\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x06global\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"H\n\x06Script\x12>\n\nconstructs\x18\x01 \x03(\x0b\x32\x1e.relationalai.lqp.v1.ConstructR\nconstructs\"\x94\x01\n\tConstruct\x12/\n\x04loop\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.LoopH\x00R\x04loop\x12\x44\n\x0binstruction\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.InstructionH\x00R\x0binstructionB\x10\n\x0e\x63onstruct_type\"m\n\x04Loop\x12\x34\n\x04init\x18\x01 \x03(\x0b\x32 .relationalai.lqp.v1.InstructionR\x04init\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"\xc2\x02\n\x0bInstruction\x12\x35\n\x06\x61ssign\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.AssignH\x00R\x06\x61ssign\x12\x35\n\x06upsert\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.UpsertH\x00R\x06upsert\x12\x32\n\x05\x62reak\x18\x03 \x01(\x0b\x32\x1a.relationalai.lqp.v1.BreakH\x00R\x05\x62reak\x12?\n\nmonoid_def\x18\x05 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MonoidDefH\x00R\tmonoidDef\x12<\n\tmonus_def\x18\x06 \x01(\x0b\x32\x1d.relationalai.lqp.v1.MonusDefH\x00R\x08monusDefB\x0c\n\ninstr_typeJ\x04\x08\x04\x10\x05\"\xa9\x01\n\x06\x41ssign\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xca\x01\n\x06Upsert\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x04 \x01(\x03R\nvalueArity\"\xa8\x01\n\x05\x42reak\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\x82\x02\n\tMonoidDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x81\x02\n\x08MonusDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x92\x02\n\x06Monoid\x12<\n\tor_monoid\x18\x01 \x01(\x0b\x32\x1d.relationalai.lqp.v1.OrMonoidH\x00R\x08orMonoid\x12?\n\nmin_monoid\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MinMonoidH\x00R\tminMonoid\x12?\n\nmax_monoid\x18\x03 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MaxMonoidH\x00R\tmaxMonoid\x12?\n\nsum_monoid\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.SumMonoidH\x00R\tsumMonoidB\x07\n\x05value\"\n\n\x08OrMonoid\":\n\tMinMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tMaxMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tSumMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"d\n\x07\x42inding\x12*\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarR\x03var\x12-\n\x04type\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"s\n\x0b\x41\x62straction\x12\x30\n\x04vars\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.BindingR\x04vars\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x05value\"\x83\x05\n\x07\x46ormula\x12\x35\n\x06\x65xists\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExistsH\x00R\x06\x65xists\x12\x35\n\x06reduce\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ReduceH\x00R\x06reduce\x12\x44\n\x0b\x63onjunction\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.ConjunctionH\x00R\x0b\x63onjunction\x12\x44\n\x0b\x64isjunction\x18\x04 \x01(\x0b\x32 .relationalai.lqp.v1.DisjunctionH\x00R\x0b\x64isjunction\x12,\n\x03not\x18\x05 \x01(\x0b\x32\x18.relationalai.lqp.v1.NotH\x00R\x03not\x12,\n\x03\x66\x66i\x18\x06 \x01(\x0b\x32\x18.relationalai.lqp.v1.FFIH\x00R\x03\x66\x66i\x12/\n\x04\x61tom\x18\x07 \x01(\x0b\x32\x19.relationalai.lqp.v1.AtomH\x00R\x04\x61tom\x12\x35\n\x06pragma\x18\x08 \x01(\x0b\x32\x1b.relationalai.lqp.v1.PragmaH\x00R\x06pragma\x12>\n\tprimitive\x18\t \x01(\x0b\x32\x1e.relationalai.lqp.v1.PrimitiveH\x00R\tprimitive\x12\x39\n\x08rel_atom\x18\n \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelAtomH\x00R\x07relAtom\x12/\n\x04\x63\x61st\x18\x0b \x01(\x0b\x32\x19.relationalai.lqp.v1.CastH\x00R\x04\x63\x61stB\x0e\n\x0c\x66ormula_type\">\n\x06\x45xists\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\"\xa1\x01\n\x06Reduce\x12\x30\n\x02op\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x02op\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"?\n\x0b\x43onjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"?\n\x0b\x44isjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"5\n\x03Not\x12.\n\x03\x61rg\x18\x01 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x03\x61rg\"\x80\x01\n\x03\x46\x46I\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x04\x61rgs\x18\x02 \x03(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x61rgs\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"l\n\x04\x41tom\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"M\n\x06Pragma\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"S\n\tPrimitive\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"Q\n\x07RelAtom\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"j\n\x04\x43\x61st\x12/\n\x05input\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05input\x12\x31\n\x06result\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x06result\"\x96\x01\n\x07RelTerm\x12I\n\x11specialized_value\x18\x01 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x10specializedValue\x12/\n\x04term\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermH\x00R\x04termB\x0f\n\rrel_term_type\"{\n\x04Term\x12,\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarH\x00R\x03var\x12\x38\n\x08\x63onstant\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x08\x63onstantB\x0b\n\tterm_type\"\x19\n\x03Var\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"O\n\tAttribute\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12.\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1a.relationalai.lqp.v1.ValueR\x04\x61rgs\"\xd6\x01\n\x04\x44\x61ta\x12\x36\n\x07rel_edb\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.RelEDBH\x00R\x06relEdb\x12N\n\x0f\x62\x65tree_relation\x18\x02 \x01(\x0b\x32#.relationalai.lqp.v1.BeTreeRelationH\x00R\x0e\x62\x65treeRelation\x12\x39\n\x08\x63sv_data\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.CSVDataH\x00R\x07\x63svDataB\x0b\n\tdata_type\"\x8b\x01\n\x06RelEDB\x12<\n\ttarget_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12\x12\n\x04path\x18\x02 \x03(\tR\x04path\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"\x8b\x01\n\x0e\x42\x65TreeRelation\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x44\n\rrelation_info\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.BeTreeInfoR\x0crelationInfo\"\x9f\x02\n\nBeTreeInfo\x12\x36\n\tkey_types\x18\x01 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x08keyTypes\x12:\n\x0bvalue_types\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\nvalueTypes\x12H\n\x0estorage_config\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.BeTreeConfigR\rstorageConfig\x12M\n\x10relation_locator\x18\x05 \x01(\x0b\x32\".relationalai.lqp.v1.BeTreeLocatorR\x0frelationLocatorJ\x04\x08\x03\x10\x04\"\x81\x01\n\x0c\x42\x65TreeConfig\x12\x18\n\x07\x65psilon\x18\x01 \x01(\x01R\x07\x65psilon\x12\x1d\n\nmax_pivots\x18\x02 \x01(\x03R\tmaxPivots\x12\x1d\n\nmax_deltas\x18\x03 \x01(\x03R\tmaxDeltas\x12\x19\n\x08max_leaf\x18\x04 \x01(\x03R\x07maxLeaf\"\xca\x01\n\rBeTreeLocator\x12\x44\n\x0broot_pageid\x18\x01 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\nrootPageid\x12!\n\x0binline_data\x18\x04 \x01(\x0cH\x00R\ninlineData\x12#\n\relement_count\x18\x02 \x01(\x03R\x0c\x65lementCount\x12\x1f\n\x0btree_height\x18\x03 \x01(\x03R\ntreeHeightB\n\n\x08location\"\xca\x01\n\x07\x43SVData\x12\x39\n\x07locator\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.CSVLocatorR\x07locator\x12\x36\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.CSVConfigR\x06\x63onfig\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.CSVColumnR\x07\x63olumns\x12\x12\n\x04\x61sof\x18\x04 \x01(\tR\x04\x61sof\"C\n\nCSVLocator\x12\x14\n\x05paths\x18\x01 \x03(\tR\x05paths\x12\x1f\n\x0binline_data\x18\x02 \x01(\x0cR\ninlineData\"\xe3\x02\n\tCSVConfig\x12\x1d\n\nheader_row\x18\x01 \x01(\x05R\theaderRow\x12\x12\n\x04skip\x18\x02 \x01(\x03R\x04skip\x12\x19\n\x08new_line\x18\x03 \x01(\tR\x07newLine\x12\x1c\n\tdelimiter\x18\x04 \x01(\tR\tdelimiter\x12\x1c\n\tquotechar\x18\x05 \x01(\tR\tquotechar\x12\x1e\n\nescapechar\x18\x06 \x01(\tR\nescapechar\x12\x18\n\x07\x63omment\x18\x07 \x01(\tR\x07\x63omment\x12\'\n\x0fmissing_strings\x18\x08 \x03(\tR\x0emissingStrings\x12+\n\x11\x64\x65\x63imal_separator\x18\t \x01(\tR\x10\x64\x65\x63imalSeparator\x12\x1a\n\x08\x65ncoding\x18\n \x01(\tR\x08\x65ncoding\x12 \n\x0b\x63ompression\x18\x0b \x01(\tR\x0b\x63ompression\"\x9b\x01\n\tCSVColumn\x12\x1f\n\x0b\x63olumn_name\x18\x01 \x01(\tR\ncolumnName\x12<\n\ttarget_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"<\n\nRelationId\x12\x15\n\x06id_low\x18\x01 \x01(\x06R\x05idLow\x12\x17\n\x07id_high\x18\x02 \x01(\x06R\x06idHigh\"\x89\x06\n\x04Type\x12Q\n\x10unspecified_type\x18\x01 \x01(\x0b\x32$.relationalai.lqp.v1.UnspecifiedTypeH\x00R\x0funspecifiedType\x12\x42\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.StringTypeH\x00R\nstringType\x12\x39\n\x08int_type\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.IntTypeH\x00R\x07intType\x12?\n\nfloat_type\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.FloatTypeH\x00R\tfloatType\x12\x45\n\x0cuint128_type\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.UInt128TypeH\x00R\x0buint128Type\x12\x42\n\x0bint128_type\x18\x06 \x01(\x0b\x32\x1f.relationalai.lqp.v1.Int128TypeH\x00R\nint128Type\x12<\n\tdate_type\x18\x07 \x01(\x0b\x32\x1d.relationalai.lqp.v1.DateTypeH\x00R\x08\x64\x61teType\x12H\n\rdatetime_type\x18\x08 \x01(\x0b\x32!.relationalai.lqp.v1.DateTimeTypeH\x00R\x0c\x64\x61tetimeType\x12\x45\n\x0cmissing_type\x18\t \x01(\x0b\x32 .relationalai.lqp.v1.MissingTypeH\x00R\x0bmissingType\x12\x45\n\x0c\x64\x65\x63imal_type\x18\n \x01(\x0b\x32 .relationalai.lqp.v1.DecimalTypeH\x00R\x0b\x64\x65\x63imalType\x12\x45\n\x0c\x62oolean_type\x18\x0b \x01(\x0b\x32 .relationalai.lqp.v1.BooleanTypeH\x00R\x0b\x62ooleanTypeB\x06\n\x04type\"\x11\n\x0fUnspecifiedType\"\x0c\n\nStringType\"\t\n\x07IntType\"\x0b\n\tFloatType\"\r\n\x0bUInt128Type\"\x0c\n\nInt128Type\"\n\n\x08\x44\x61teType\"\x0e\n\x0c\x44\x61teTimeType\"\r\n\x0bMissingType\"A\n\x0b\x44\x65\x63imalType\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\"\r\n\x0b\x42ooleanType\"\xd1\x04\n\x05Value\x12#\n\x0cstring_value\x18\x01 \x01(\tH\x00R\x0bstringValue\x12\x1d\n\tint_value\x18\x02 \x01(\x03H\x00R\x08intValue\x12!\n\x0b\x66loat_value\x18\x03 \x01(\x01H\x00R\nfloatValue\x12H\n\ruint128_value\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\x0cuint128Value\x12\x45\n\x0cint128_value\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueH\x00R\x0bint128Value\x12H\n\rmissing_value\x18\x06 \x01(\x0b\x32!.relationalai.lqp.v1.MissingValueH\x00R\x0cmissingValue\x12?\n\ndate_value\x18\x07 \x01(\x0b\x32\x1e.relationalai.lqp.v1.DateValueH\x00R\tdateValue\x12K\n\x0e\x64\x61tetime_value\x18\x08 \x01(\x0b\x32\".relationalai.lqp.v1.DateTimeValueH\x00R\rdatetimeValue\x12H\n\rdecimal_value\x18\t \x01(\x0b\x32!.relationalai.lqp.v1.DecimalValueH\x00R\x0c\x64\x65\x63imalValue\x12%\n\rboolean_value\x18\n \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"4\n\x0cUInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"3\n\x0bInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"\x0e\n\x0cMissingValue\"G\n\tDateValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\"\xb1\x01\n\rDateTimeValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\x12\x12\n\x04hour\x18\x04 \x01(\x05R\x04hour\x12\x16\n\x06minute\x18\x05 \x01(\x05R\x06minute\x12\x16\n\x06second\x18\x06 \x01(\x05R\x06second\x12 \n\x0bmicrosecond\x18\x07 \x01(\x05R\x0bmicrosecond\"z\n\x0c\x44\x65\x63imalValue\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\x12\x36\n\x05value\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueR\x05valueB\x1fZ\x1dlogical-query-protocol/lqp/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1frelationalai/lqp/v1/logic.proto\x12\x13relationalai.lqp.v1\"\x83\x02\n\x0b\x44\x65\x63laration\x12,\n\x03\x64\x65\x66\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.DefH\x00R\x03\x64\x65\x66\x12>\n\talgorithm\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.AlgorithmH\x00R\talgorithm\x12\x41\n\nconstraint\x18\x03 \x01(\x0b\x32\x1f.relationalai.lqp.v1.ConstraintH\x00R\nconstraint\x12/\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x19.relationalai.lqp.v1.DataH\x00R\x04\x64\x61taB\x12\n\x10\x64\x65\x63laration_type\"\xa6\x01\n\x03\x44\x65\x66\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xb6\x01\n\nConstraint\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12`\n\x15\x66unctional_dependency\x18\x01 \x01(\x0b\x32).relationalai.lqp.v1.FunctionalDependencyH\x00R\x14\x66unctionalDependencyB\x11\n\x0f\x63onstraint_type\"\xae\x01\n\x14\x46unctionalDependency\x12\x36\n\x05guard\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x05guard\x12,\n\x04keys\x18\x02 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x04keys\x12\x30\n\x06values\x18\x03 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x06values\"u\n\tAlgorithm\x12\x37\n\x06global\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x06global\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"H\n\x06Script\x12>\n\nconstructs\x18\x01 \x03(\x0b\x32\x1e.relationalai.lqp.v1.ConstructR\nconstructs\"\x94\x01\n\tConstruct\x12/\n\x04loop\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.LoopH\x00R\x04loop\x12\x44\n\x0binstruction\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.InstructionH\x00R\x0binstructionB\x10\n\x0e\x63onstruct_type\"m\n\x04Loop\x12\x34\n\x04init\x18\x01 \x03(\x0b\x32 .relationalai.lqp.v1.InstructionR\x04init\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"\xc2\x02\n\x0bInstruction\x12\x35\n\x06\x61ssign\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.AssignH\x00R\x06\x61ssign\x12\x35\n\x06upsert\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.UpsertH\x00R\x06upsert\x12\x32\n\x05\x62reak\x18\x03 \x01(\x0b\x32\x1a.relationalai.lqp.v1.BreakH\x00R\x05\x62reak\x12?\n\nmonoid_def\x18\x05 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MonoidDefH\x00R\tmonoidDef\x12<\n\tmonus_def\x18\x06 \x01(\x0b\x32\x1d.relationalai.lqp.v1.MonusDefH\x00R\x08monusDefB\x0c\n\ninstr_typeJ\x04\x08\x04\x10\x05\"\xa9\x01\n\x06\x41ssign\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xca\x01\n\x06Upsert\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x04 \x01(\x03R\nvalueArity\"\xa8\x01\n\x05\x42reak\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\x82\x02\n\tMonoidDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x81\x02\n\x08MonusDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x92\x02\n\x06Monoid\x12<\n\tor_monoid\x18\x01 \x01(\x0b\x32\x1d.relationalai.lqp.v1.OrMonoidH\x00R\x08orMonoid\x12?\n\nmin_monoid\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MinMonoidH\x00R\tminMonoid\x12?\n\nmax_monoid\x18\x03 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MaxMonoidH\x00R\tmaxMonoid\x12?\n\nsum_monoid\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.SumMonoidH\x00R\tsumMonoidB\x07\n\x05value\"\n\n\x08OrMonoid\":\n\tMinMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tMaxMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tSumMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"d\n\x07\x42inding\x12*\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarR\x03var\x12-\n\x04type\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"s\n\x0b\x41\x62straction\x12\x30\n\x04vars\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.BindingR\x04vars\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x05value\"\x83\x05\n\x07\x46ormula\x12\x35\n\x06\x65xists\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExistsH\x00R\x06\x65xists\x12\x35\n\x06reduce\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ReduceH\x00R\x06reduce\x12\x44\n\x0b\x63onjunction\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.ConjunctionH\x00R\x0b\x63onjunction\x12\x44\n\x0b\x64isjunction\x18\x04 \x01(\x0b\x32 .relationalai.lqp.v1.DisjunctionH\x00R\x0b\x64isjunction\x12,\n\x03not\x18\x05 \x01(\x0b\x32\x18.relationalai.lqp.v1.NotH\x00R\x03not\x12,\n\x03\x66\x66i\x18\x06 \x01(\x0b\x32\x18.relationalai.lqp.v1.FFIH\x00R\x03\x66\x66i\x12/\n\x04\x61tom\x18\x07 \x01(\x0b\x32\x19.relationalai.lqp.v1.AtomH\x00R\x04\x61tom\x12\x35\n\x06pragma\x18\x08 \x01(\x0b\x32\x1b.relationalai.lqp.v1.PragmaH\x00R\x06pragma\x12>\n\tprimitive\x18\t \x01(\x0b\x32\x1e.relationalai.lqp.v1.PrimitiveH\x00R\tprimitive\x12\x39\n\x08rel_atom\x18\n \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelAtomH\x00R\x07relAtom\x12/\n\x04\x63\x61st\x18\x0b \x01(\x0b\x32\x19.relationalai.lqp.v1.CastH\x00R\x04\x63\x61stB\x0e\n\x0c\x66ormula_type\">\n\x06\x45xists\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\"\xa1\x01\n\x06Reduce\x12\x30\n\x02op\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x02op\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"?\n\x0b\x43onjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"?\n\x0b\x44isjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"5\n\x03Not\x12.\n\x03\x61rg\x18\x01 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x03\x61rg\"\x80\x01\n\x03\x46\x46I\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x04\x61rgs\x18\x02 \x03(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x61rgs\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"l\n\x04\x41tom\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"M\n\x06Pragma\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"S\n\tPrimitive\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"Q\n\x07RelAtom\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"j\n\x04\x43\x61st\x12/\n\x05input\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05input\x12\x31\n\x06result\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x06result\"\x96\x01\n\x07RelTerm\x12I\n\x11specialized_value\x18\x01 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x10specializedValue\x12/\n\x04term\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermH\x00R\x04termB\x0f\n\rrel_term_type\"{\n\x04Term\x12,\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarH\x00R\x03var\x12\x38\n\x08\x63onstant\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x08\x63onstantB\x0b\n\tterm_type\"\x19\n\x03Var\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"O\n\tAttribute\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12.\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1a.relationalai.lqp.v1.ValueR\x04\x61rgs\"\xd6\x01\n\x04\x44\x61ta\x12\x36\n\x07rel_edb\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.RelEDBH\x00R\x06relEdb\x12N\n\x0f\x62\x65tree_relation\x18\x02 \x01(\x0b\x32#.relationalai.lqp.v1.BeTreeRelationH\x00R\x0e\x62\x65treeRelation\x12\x39\n\x08\x63sv_data\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.CSVDataH\x00R\x07\x63svDataB\x0b\n\tdata_type\"\x8b\x01\n\x06RelEDB\x12<\n\ttarget_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12\x12\n\x04path\x18\x02 \x03(\tR\x04path\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"\x8b\x01\n\x0e\x42\x65TreeRelation\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x44\n\rrelation_info\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.BeTreeInfoR\x0crelationInfo\"\x9f\x02\n\nBeTreeInfo\x12\x36\n\tkey_types\x18\x01 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x08keyTypes\x12:\n\x0bvalue_types\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\nvalueTypes\x12H\n\x0estorage_config\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.BeTreeConfigR\rstorageConfig\x12M\n\x10relation_locator\x18\x05 \x01(\x0b\x32\".relationalai.lqp.v1.BeTreeLocatorR\x0frelationLocatorJ\x04\x08\x03\x10\x04\"\x81\x01\n\x0c\x42\x65TreeConfig\x12\x18\n\x07\x65psilon\x18\x01 \x01(\x01R\x07\x65psilon\x12\x1d\n\nmax_pivots\x18\x02 \x01(\x03R\tmaxPivots\x12\x1d\n\nmax_deltas\x18\x03 \x01(\x03R\tmaxDeltas\x12\x19\n\x08max_leaf\x18\x04 \x01(\x03R\x07maxLeaf\"\xca\x01\n\rBeTreeLocator\x12\x44\n\x0broot_pageid\x18\x01 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\nrootPageid\x12!\n\x0binline_data\x18\x04 \x01(\x0cH\x00R\ninlineData\x12#\n\relement_count\x18\x02 \x01(\x03R\x0c\x65lementCount\x12\x1f\n\x0btree_height\x18\x03 \x01(\x03R\ntreeHeightB\n\n\x08location\"\xca\x01\n\x07\x43SVData\x12\x39\n\x07locator\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.CSVLocatorR\x07locator\x12\x36\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.CSVConfigR\x06\x63onfig\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.CSVColumnR\x07\x63olumns\x12\x12\n\x04\x61sof\x18\x04 \x01(\tR\x04\x61sof\"C\n\nCSVLocator\x12\x14\n\x05paths\x18\x01 \x03(\tR\x05paths\x12\x1f\n\x0binline_data\x18\x02 \x01(\x0cR\ninlineData\"\x8a\x03\n\tCSVConfig\x12\x1d\n\nheader_row\x18\x01 \x01(\x05R\theaderRow\x12\x12\n\x04skip\x18\x02 \x01(\x03R\x04skip\x12\x19\n\x08new_line\x18\x03 \x01(\tR\x07newLine\x12\x1c\n\tdelimiter\x18\x04 \x01(\tR\tdelimiter\x12\x1c\n\tquotechar\x18\x05 \x01(\tR\tquotechar\x12\x1e\n\nescapechar\x18\x06 \x01(\tR\nescapechar\x12\x18\n\x07\x63omment\x18\x07 \x01(\tR\x07\x63omment\x12\'\n\x0fmissing_strings\x18\x08 \x03(\tR\x0emissingStrings\x12+\n\x11\x64\x65\x63imal_separator\x18\t \x01(\tR\x10\x64\x65\x63imalSeparator\x12\x1a\n\x08\x65ncoding\x18\n \x01(\tR\x08\x65ncoding\x12 \n\x0b\x63ompression\x18\x0b \x01(\tR\x0b\x63ompression\x12%\n\x0epartition_size\x18\x0c \x01(\x03R\rpartitionSize\"\x9b\x01\n\tCSVColumn\x12\x1f\n\x0b\x63olumn_name\x18\x01 \x01(\tR\ncolumnName\x12<\n\ttarget_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"<\n\nRelationId\x12\x15\n\x06id_low\x18\x01 \x01(\x06R\x05idLow\x12\x17\n\x07id_high\x18\x02 \x01(\x06R\x06idHigh\"\x89\x06\n\x04Type\x12Q\n\x10unspecified_type\x18\x01 \x01(\x0b\x32$.relationalai.lqp.v1.UnspecifiedTypeH\x00R\x0funspecifiedType\x12\x42\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.StringTypeH\x00R\nstringType\x12\x39\n\x08int_type\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.IntTypeH\x00R\x07intType\x12?\n\nfloat_type\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.FloatTypeH\x00R\tfloatType\x12\x45\n\x0cuint128_type\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.UInt128TypeH\x00R\x0buint128Type\x12\x42\n\x0bint128_type\x18\x06 \x01(\x0b\x32\x1f.relationalai.lqp.v1.Int128TypeH\x00R\nint128Type\x12<\n\tdate_type\x18\x07 \x01(\x0b\x32\x1d.relationalai.lqp.v1.DateTypeH\x00R\x08\x64\x61teType\x12H\n\rdatetime_type\x18\x08 \x01(\x0b\x32!.relationalai.lqp.v1.DateTimeTypeH\x00R\x0c\x64\x61tetimeType\x12\x45\n\x0cmissing_type\x18\t \x01(\x0b\x32 .relationalai.lqp.v1.MissingTypeH\x00R\x0bmissingType\x12\x45\n\x0c\x64\x65\x63imal_type\x18\n \x01(\x0b\x32 .relationalai.lqp.v1.DecimalTypeH\x00R\x0b\x64\x65\x63imalType\x12\x45\n\x0c\x62oolean_type\x18\x0b \x01(\x0b\x32 .relationalai.lqp.v1.BooleanTypeH\x00R\x0b\x62ooleanTypeB\x06\n\x04type\"\x11\n\x0fUnspecifiedType\"\x0c\n\nStringType\"\t\n\x07IntType\"\x0b\n\tFloatType\"\r\n\x0bUInt128Type\"\x0c\n\nInt128Type\"\n\n\x08\x44\x61teType\"\x0e\n\x0c\x44\x61teTimeType\"\r\n\x0bMissingType\"A\n\x0b\x44\x65\x63imalType\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\"\r\n\x0b\x42ooleanType\"\xd1\x04\n\x05Value\x12#\n\x0cstring_value\x18\x01 \x01(\tH\x00R\x0bstringValue\x12\x1d\n\tint_value\x18\x02 \x01(\x03H\x00R\x08intValue\x12!\n\x0b\x66loat_value\x18\x03 \x01(\x01H\x00R\nfloatValue\x12H\n\ruint128_value\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\x0cuint128Value\x12\x45\n\x0cint128_value\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueH\x00R\x0bint128Value\x12H\n\rmissing_value\x18\x06 \x01(\x0b\x32!.relationalai.lqp.v1.MissingValueH\x00R\x0cmissingValue\x12?\n\ndate_value\x18\x07 \x01(\x0b\x32\x1e.relationalai.lqp.v1.DateValueH\x00R\tdateValue\x12K\n\x0e\x64\x61tetime_value\x18\x08 \x01(\x0b\x32\".relationalai.lqp.v1.DateTimeValueH\x00R\rdatetimeValue\x12H\n\rdecimal_value\x18\t \x01(\x0b\x32!.relationalai.lqp.v1.DecimalValueH\x00R\x0c\x64\x65\x63imalValue\x12%\n\rboolean_value\x18\n \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"4\n\x0cUInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"3\n\x0bInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"\x0e\n\x0cMissingValue\"G\n\tDateValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\"\xb1\x01\n\rDateTimeValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\x12\x12\n\x04hour\x18\x04 \x01(\x05R\x04hour\x12\x16\n\x06minute\x18\x05 \x01(\x05R\x06minute\x12\x16\n\x06second\x18\x06 \x01(\x05R\x06second\x12 \n\x0bmicrosecond\x18\x07 \x01(\x05R\x0bmicrosecond\"z\n\x0c\x44\x65\x63imalValue\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\x12\x36\n\x05value\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueR\x05valueB\x1fZ\x1dlogical-query-protocol/lqp/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -113,47 +113,47 @@ _globals['_CSVLOCATOR']._serialized_start=6760 _globals['_CSVLOCATOR']._serialized_end=6827 _globals['_CSVCONFIG']._serialized_start=6830 - _globals['_CSVCONFIG']._serialized_end=7185 - _globals['_CSVCOLUMN']._serialized_start=7188 - _globals['_CSVCOLUMN']._serialized_end=7343 - _globals['_RELATIONID']._serialized_start=7345 - _globals['_RELATIONID']._serialized_end=7405 - _globals['_TYPE']._serialized_start=7408 - _globals['_TYPE']._serialized_end=8185 - _globals['_UNSPECIFIEDTYPE']._serialized_start=8187 - _globals['_UNSPECIFIEDTYPE']._serialized_end=8204 - _globals['_STRINGTYPE']._serialized_start=8206 - _globals['_STRINGTYPE']._serialized_end=8218 - _globals['_INTTYPE']._serialized_start=8220 - _globals['_INTTYPE']._serialized_end=8229 - _globals['_FLOATTYPE']._serialized_start=8231 - _globals['_FLOATTYPE']._serialized_end=8242 - _globals['_UINT128TYPE']._serialized_start=8244 - _globals['_UINT128TYPE']._serialized_end=8257 - _globals['_INT128TYPE']._serialized_start=8259 - _globals['_INT128TYPE']._serialized_end=8271 - _globals['_DATETYPE']._serialized_start=8273 - _globals['_DATETYPE']._serialized_end=8283 - _globals['_DATETIMETYPE']._serialized_start=8285 - _globals['_DATETIMETYPE']._serialized_end=8299 - _globals['_MISSINGTYPE']._serialized_start=8301 - _globals['_MISSINGTYPE']._serialized_end=8314 - _globals['_DECIMALTYPE']._serialized_start=8316 - _globals['_DECIMALTYPE']._serialized_end=8381 - _globals['_BOOLEANTYPE']._serialized_start=8383 - _globals['_BOOLEANTYPE']._serialized_end=8396 - _globals['_VALUE']._serialized_start=8399 - _globals['_VALUE']._serialized_end=8992 - _globals['_UINT128VALUE']._serialized_start=8994 - _globals['_UINT128VALUE']._serialized_end=9046 - _globals['_INT128VALUE']._serialized_start=9048 - _globals['_INT128VALUE']._serialized_end=9099 - _globals['_MISSINGVALUE']._serialized_start=9101 - _globals['_MISSINGVALUE']._serialized_end=9115 - _globals['_DATEVALUE']._serialized_start=9117 - _globals['_DATEVALUE']._serialized_end=9188 - _globals['_DATETIMEVALUE']._serialized_start=9191 - _globals['_DATETIMEVALUE']._serialized_end=9368 - _globals['_DECIMALVALUE']._serialized_start=9370 - _globals['_DECIMALVALUE']._serialized_end=9492 + _globals['_CSVCONFIG']._serialized_end=7224 + _globals['_CSVCOLUMN']._serialized_start=7227 + _globals['_CSVCOLUMN']._serialized_end=7382 + _globals['_RELATIONID']._serialized_start=7384 + _globals['_RELATIONID']._serialized_end=7444 + _globals['_TYPE']._serialized_start=7447 + _globals['_TYPE']._serialized_end=8224 + _globals['_UNSPECIFIEDTYPE']._serialized_start=8226 + _globals['_UNSPECIFIEDTYPE']._serialized_end=8243 + _globals['_STRINGTYPE']._serialized_start=8245 + _globals['_STRINGTYPE']._serialized_end=8257 + _globals['_INTTYPE']._serialized_start=8259 + _globals['_INTTYPE']._serialized_end=8268 + _globals['_FLOATTYPE']._serialized_start=8270 + _globals['_FLOATTYPE']._serialized_end=8281 + _globals['_UINT128TYPE']._serialized_start=8283 + _globals['_UINT128TYPE']._serialized_end=8296 + _globals['_INT128TYPE']._serialized_start=8298 + _globals['_INT128TYPE']._serialized_end=8310 + _globals['_DATETYPE']._serialized_start=8312 + _globals['_DATETYPE']._serialized_end=8322 + _globals['_DATETIMETYPE']._serialized_start=8324 + _globals['_DATETIMETYPE']._serialized_end=8338 + _globals['_MISSINGTYPE']._serialized_start=8340 + _globals['_MISSINGTYPE']._serialized_end=8353 + _globals['_DECIMALTYPE']._serialized_start=8355 + _globals['_DECIMALTYPE']._serialized_end=8420 + _globals['_BOOLEANTYPE']._serialized_start=8422 + _globals['_BOOLEANTYPE']._serialized_end=8435 + _globals['_VALUE']._serialized_start=8438 + _globals['_VALUE']._serialized_end=9031 + _globals['_UINT128VALUE']._serialized_start=9033 + _globals['_UINT128VALUE']._serialized_end=9085 + _globals['_INT128VALUE']._serialized_start=9087 + _globals['_INT128VALUE']._serialized_end=9138 + _globals['_MISSINGVALUE']._serialized_start=9140 + _globals['_MISSINGVALUE']._serialized_end=9154 + _globals['_DATEVALUE']._serialized_start=9156 + _globals['_DATEVALUE']._serialized_end=9227 + _globals['_DATETIMEVALUE']._serialized_start=9230 + _globals['_DATETIMEVALUE']._serialized_end=9407 + _globals['_DECIMALVALUE']._serialized_start=9409 + _globals['_DECIMALVALUE']._serialized_end=9531 # @@protoc_insertion_point(module_scope) diff --git a/python-tools/src/lqp/proto/v1/logic_pb2.pyi b/python-tools/src/lqp/proto/v1/logic_pb2.pyi index 7f98bbcf..1d3738a8 100644 --- a/python-tools/src/lqp/proto/v1/logic_pb2.pyi +++ b/python-tools/src/lqp/proto/v1/logic_pb2.pyi @@ -421,7 +421,7 @@ class CSVLocator(_message.Message): def __init__(self, paths: _Optional[_Iterable[str]] = ..., inline_data: _Optional[bytes] = ...) -> None: ... class CSVConfig(_message.Message): - __slots__ = ("header_row", "skip", "new_line", "delimiter", "quotechar", "escapechar", "comment", "missing_strings", "decimal_separator", "encoding", "compression") + __slots__ = ("header_row", "skip", "new_line", "delimiter", "quotechar", "escapechar", "comment", "missing_strings", "decimal_separator", "encoding", "compression", "partition_size") HEADER_ROW_FIELD_NUMBER: _ClassVar[int] SKIP_FIELD_NUMBER: _ClassVar[int] NEW_LINE_FIELD_NUMBER: _ClassVar[int] @@ -433,6 +433,7 @@ class CSVConfig(_message.Message): DECIMAL_SEPARATOR_FIELD_NUMBER: _ClassVar[int] ENCODING_FIELD_NUMBER: _ClassVar[int] COMPRESSION_FIELD_NUMBER: _ClassVar[int] + PARTITION_SIZE_FIELD_NUMBER: _ClassVar[int] header_row: int skip: int new_line: str @@ -444,7 +445,8 @@ class CSVConfig(_message.Message): decimal_separator: str encoding: str compression: str - def __init__(self, header_row: _Optional[int] = ..., skip: _Optional[int] = ..., new_line: _Optional[str] = ..., delimiter: _Optional[str] = ..., quotechar: _Optional[str] = ..., escapechar: _Optional[str] = ..., comment: _Optional[str] = ..., missing_strings: _Optional[_Iterable[str]] = ..., decimal_separator: _Optional[str] = ..., encoding: _Optional[str] = ..., compression: _Optional[str] = ...) -> None: ... + partition_size: int + def __init__(self, header_row: _Optional[int] = ..., skip: _Optional[int] = ..., new_line: _Optional[str] = ..., delimiter: _Optional[str] = ..., quotechar: _Optional[str] = ..., escapechar: _Optional[str] = ..., comment: _Optional[str] = ..., missing_strings: _Optional[_Iterable[str]] = ..., decimal_separator: _Optional[str] = ..., encoding: _Optional[str] = ..., compression: _Optional[str] = ..., partition_size: _Optional[int] = ...) -> None: ... class CSVColumn(_message.Message): __slots__ = ("column_name", "target_id", "types") From dbf57a72798dd153eb3d8c854e11a5809efab3d5 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 12:23:14 +1100 Subject: [PATCH 08/27] Update partition_size to partition_size_mb --- meta/src/meta/grammar.y | 10 +- proto/relationalai/lqp/v1/logic.proto | 2 +- sdks/go/src/lqp/v1/logic.pb.go | 298 +- sdks/go/src/parser.go | 252 +- .../gen/relationalai/lqp/v1/fragments_pb.jl | 2 +- .../src/gen/relationalai/lqp/v1/logic_pb.jl | 20 +- .../relationalai/lqp/v1/transactions_pb.jl | 2 +- sdks/julia/LogicalQueryProtocol/src/parser.jl | 228 +- sdks/python/src/lqp/gen/parser.py | 270 +- sdks/python/src/lqp/gen/pretty.py | 2732 ++++++++--------- sdks/python/src/lqp/proto/v1/logic_pb2.py | 88 +- sdks/python/src/lqp/proto/v1/logic_pb2.pyi | 8 +- 12 files changed, 1951 insertions(+), 1961 deletions(-) diff --git a/meta/src/meta/grammar.y b/meta/src/meta/grammar.y index 3b8a1b14..919d9645 100644 --- a/meta/src/meta/grammar.y +++ b/meta/src/meta/grammar.y @@ -1060,7 +1060,7 @@ export_csv_config $5: logic.CSVConfig = $$.csv_config | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" construct: $$ = construct_export_csv_config($3, $6, $8) - deconstruct if not builtin.has_proto_field($$, 'csv_source'): + deconstruct: $3: String = $$.path $6: Sequence[transactions.ExportCSVColumn] = $$.data_columns $8: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) @@ -1184,7 +1184,7 @@ def construct_csv_config(config_dict: Sequence[Tuple[String, logic.Value]]) -> l decimal_separator: str = _extract_value_string(builtin.dict_get(config, "csv_decimal_separator"), ".") encoding: str = _extract_value_string(builtin.dict_get(config, "csv_encoding"), "utf-8") compression: str = _extract_value_string(builtin.dict_get(config, "csv_compression"), "auto") - partition_size: int = _extract_value_int64(builtin.dict_get(config, "partition_size"), 0) + partition_size: int = _extract_value_int64(builtin.dict_get(config, "csv_partition_size_mb"), 0) return logic.CSVConfig( header_row=header_row, skip=skip, @@ -1197,7 +1197,7 @@ def construct_csv_config(config_dict: Sequence[Tuple[String, logic.Value]]) -> l decimal_separator=decimal_separator, encoding=encoding, compression=compression, - partition_size=partition_size, + partition_size_mb=partition_size, ) @@ -1360,8 +1360,8 @@ def deconstruct_csv_config(msg: logic.CSVConfig) -> List[Tuple[String, logic.Val builtin.list_push(result, builtin.tuple("csv_decimal_separator", _make_value_string(msg.decimal_separator))) builtin.list_push(result, builtin.tuple("csv_encoding", _make_value_string(msg.encoding))) builtin.list_push(result, builtin.tuple("csv_compression", _make_value_string(msg.compression))) - if msg.partition_size != 0: - builtin.list_push(result, builtin.tuple("csv_partition_size", _make_value_int64(msg.partition_size))) + if msg.partition_size_mb != 0: + builtin.list_push(result, builtin.tuple("csv_partition_size_mb", _make_value_int64(msg.partition_size_mb))) return builtin.list_sort(result) diff --git a/proto/relationalai/lqp/v1/logic.proto b/proto/relationalai/lqp/v1/logic.proto index 5378429f..08f9bd04 100644 --- a/proto/relationalai/lqp/v1/logic.proto +++ b/proto/relationalai/lqp/v1/logic.proto @@ -311,7 +311,7 @@ message CSVConfig { string compression = 11; // "none", "gzip", "zstd", "auto" (default: "auto") // Partitioning (for export) - int64 partition_size = 12; + int64 partition_size_mb = 12; } message CSVColumn { diff --git a/sdks/go/src/lqp/v1/logic.pb.go b/sdks/go/src/lqp/v1/logic.pb.go index 5ece2afa..09227548 100644 --- a/sdks/go/src/lqp/v1/logic.pb.go +++ b/sdks/go/src/lqp/v1/logic.pb.go @@ -3044,9 +3044,9 @@ type CSVConfig struct { // Compression Compression string `protobuf:"bytes,11,opt,name=compression,proto3" json:"compression,omitempty"` // "none", "gzip", "zstd", "auto" (default: "auto") // Partitioning (for export) - PartitionSize int64 `protobuf:"varint,12,opt,name=partition_size,json=partitionSize,proto3" json:"partition_size,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + PartitionSizeMb int64 `protobuf:"varint,12,opt,name=partition_size_mb,json=partitionSizeMb,proto3" json:"partition_size_mb,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CSVConfig) Reset() { @@ -3156,9 +3156,9 @@ func (x *CSVConfig) GetCompression() string { return "" } -func (x *CSVConfig) GetPartitionSize() int64 { +func (x *CSVConfig) GetPartitionSizeMb() int64 { if x != nil { - return x.PartitionSize + return x.PartitionSizeMb } return 0 } @@ -4907,7 +4907,7 @@ var file_relationalai_lqp_v1_logic_proto_rawDesc = string([]byte{ 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8a, 0x03, 0x0a, 0x09, + 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x03, 0x0a, 0x09, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, @@ -4930,156 +4930,156 @@ var file_relationalai_lqp_v1_logic_proto_rawDesc = string([]byte{ 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x43, 0x53, 0x56, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x08, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x69, 0x64, 0x4c, 0x6f, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x69, - 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x06, 0x69, 0x64, - 0x48, 0x69, 0x67, 0x68, 0x22, 0x89, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, - 0x10, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, - 0x0f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x3f, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x45, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x49, 0x6e, - 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, - 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x31, 0x32, - 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, + 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x4d, 0x62, 0x22, 0x9b, 0x01, + 0x0a, 0x09, 0x43, 0x53, 0x56, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x09, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, + 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0a, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x64, 0x5f, + 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x69, 0x64, 0x4c, 0x6f, 0x77, + 0x12, 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x06, 0x69, 0x64, 0x48, 0x69, 0x67, 0x68, 0x22, 0x89, 0x06, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, - 0x0a, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x69, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, + 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, + 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x3c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, + 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, - 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x61, 0x74, - 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, + 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x45, 0x0a, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, + 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x6d, + 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, + 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x09, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0d, + 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, + 0x0a, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x44, + 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x41, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x42, 0x6f, 0x6f, + 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd1, 0x04, 0x0a, 0x05, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x75, 0x69, 0x6e, + 0x74, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, - 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, + 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x64, 0x65, - 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, - 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6f, 0x6f, - 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x09, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0b, 0x0a, 0x09, - 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x49, 0x6e, - 0x74, 0x31, 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x31, - 0x32, 0x38, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x41, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x22, 0xd1, 0x04, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, - 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, - 0x52, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, - 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, - 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, - 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x3f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x4b, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x69, + 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, + 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0d, - 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, - 0x0d, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, - 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x49, 0x6e, 0x74, 0x31, - 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x33, 0x0a, - 0x0b, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, + 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, + 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x34, 0x0a, 0x0c, + 0x55, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x68, 0x69, - 0x67, 0x68, 0x22, 0x0e, 0x0a, 0x0c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x47, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, - 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0xb1, 0x01, 0x0a, 0x0d, - 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, - 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, - 0x7a, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x61, - 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x1f, 0x5a, 0x1d, 0x6c, - 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2d, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x71, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x68, 0x22, 0x33, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, + 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x06, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x22, 0x0e, 0x0a, 0x0c, 0x4d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x47, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, + 0x22, 0xb1, 0x01, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, + 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x6f, + 0x75, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x61, 0x69, 0x2e, 0x6c, 0x71, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x74, 0x31, 0x32, 0x38, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x1f, 0x5a, 0x1d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x2d, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x71, 0x70, 0x2f, 0x76, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( diff --git a/sdks/go/src/parser.go b/sdks/go/src/parser.go index 45f1ae88..6c92fa6e 100644 --- a/sdks/go/src/parser.go +++ b/sdks/go/src/parser.go @@ -639,11 +639,11 @@ func toPascalCase(s string) string { // --- Helper functions --- -func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { - if (value != nil && hasProtoField(value, "boolean_value")) { - return value.GetBooleanValue() +func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { + if (value != nil && hasProtoField(value, "int_value")) { + return int32(value.GetIntValue()) } - return default_ + return int32(default_) } func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { @@ -653,35 +653,76 @@ func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { return nil } +func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { + if (value != nil && hasProtoField(value, "int_value")) { + return ptr(value.GetIntValue()) + } + return nil +} + +func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { + config := dictFromList(config_dict) + _t983 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) + partition_size := _t983 + _t984 := p._extract_value_string(dictGetValue(config, "compression"), "") + compression := _t984 + _t985 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) + syntax_header_row := _t985 + _t986 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") + syntax_missing_string := _t986 + _t987 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") + syntax_delim := _t987 + _t988 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") + syntax_quotechar := _t988 + _t989 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") + syntax_escapechar := _t989 + _t990 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} + return _t990 +} + func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { config := dictFromList(config_dict) - _t983 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) - epsilon := _t983 - _t984 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) - max_pivots := _t984 - _t985 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) - max_deltas := _t985 - _t986 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) - max_leaf := _t986 - _t987 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} - storage_config := _t987 - _t988 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) - root_pageid := _t988 - _t989 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) - inline_data := _t989 - _t990 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) - element_count := _t990 - _t991 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) - tree_height := _t991 - _t992 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} + _t991 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) + epsilon := _t991 + _t992 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) + max_pivots := _t992 + _t993 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) + max_deltas := _t993 + _t994 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) + max_leaf := _t994 + _t995 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} + storage_config := _t995 + _t996 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) + root_pageid := _t996 + _t997 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) + inline_data := _t997 + _t998 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) + element_count := _t998 + _t999 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) + tree_height := _t999 + _t1000 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} if root_pageid != nil { - _t992.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} + _t1000.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} } else { - _t992.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} + _t1000.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} + } + relation_locator := _t1000 + _t1001 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} + return _t1001 +} + +func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { + if (value != nil && hasProtoField(value, "string_value")) { + return []string{value.GetStringValue()} } - relation_locator := _t992 - _t993 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} - return _t993 + return default_ +} + +func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { + if (value != nil && hasProtoField(value, "string_value")) { + return []byte(value.GetStringValue()) + } + return nil } func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { @@ -691,6 +732,48 @@ func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { return nil } +func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { + config := dictFromList(config_dict) + _t1002 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) + header_row := _t1002 + _t1003 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) + skip := _t1003 + _t1004 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") + new_line := _t1004 + _t1005 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") + delimiter := _t1005 + _t1006 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") + quotechar := _t1006 + _t1007 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") + escapechar := _t1007 + _t1008 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") + comment := _t1008 + _t1009 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) + missing_strings := _t1009 + _t1010 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") + decimal_separator := _t1010 + _t1011 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") + encoding := _t1011 + _t1012 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") + compression := _t1012 + _t1013 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) + partition_size := _t1013 + _t1014 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} + return _t1014 +} + +func (p *Parser) construct_export_csv_config_with_source(path string, csv_source interface{}, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { + _t1015 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} + return _t1015 +} + +func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { + if (value != nil && hasProtoField(value, "boolean_value")) { + return value.GetBooleanValue() + } + return default_ +} + func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { if (value != nil && hasProtoField(value, "int_value")) { return value.GetIntValue() @@ -698,41 +781,11 @@ func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { return default_ } -func (p *Parser) default_configure() *pb.Configure { - _t994 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} - ivm_config := _t994 - _t995 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} - return _t995 -} - -func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { - config := dictFromList(config_dict) - _t996 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) - header_row := _t996 - _t997 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) - skip := _t997 - _t998 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") - new_line := _t998 - _t999 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") - delimiter := _t999 - _t1000 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") - quotechar := _t1000 - _t1001 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") - escapechar := _t1001 - _t1002 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") - comment := _t1002 - _t1003 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) - missing_strings := _t1003 - _t1004 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") - decimal_separator := _t1004 - _t1005 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") - encoding := _t1005 - _t1006 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") - compression := _t1006 - _t1007 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) - partition_size := _t1007 - _t1008 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSize: partition_size} - return _t1008 +func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { + if (value != nil && hasProtoField(value, "string_value")) { + return value.GetStringValue() + } + return default_ } func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure { @@ -754,74 +807,21 @@ func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure } } } - _t1009 := &pb.IVMConfig{Level: maintenance_level} - ivm_config := _t1009 - _t1010 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) - semantics_version := _t1010 - _t1011 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} - return _t1011 -} - -func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { - if (value != nil && hasProtoField(value, "string_value")) { - return value.GetStringValue() - } - return default_ -} - -func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { - if (value != nil && hasProtoField(value, "string_value")) { - return []string{value.GetStringValue()} - } - return default_ -} - -func (p *Parser) construct_export_csv_config_with_source(path string, csv_source interface{}, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { - _t1012 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} - return _t1012 -} - -func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { - if (value != nil && hasProtoField(value, "int_value")) { - return int32(value.GetIntValue()) - } - return int32(default_) + _t1016 := &pb.IVMConfig{Level: maintenance_level} + ivm_config := _t1016 + _t1017 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) + semantics_version := _t1017 + _t1018 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} + return _t1018 } -func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { - config := dictFromList(config_dict) - _t1013 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) - partition_size := _t1013 - _t1014 := p._extract_value_string(dictGetValue(config, "compression"), "") - compression := _t1014 - _t1015 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) - syntax_header_row := _t1015 - _t1016 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") - syntax_missing_string := _t1016 - _t1017 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") - syntax_delim := _t1017 - _t1018 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") - syntax_quotechar := _t1018 - _t1019 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") - syntax_escapechar := _t1019 - _t1020 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} +func (p *Parser) default_configure() *pb.Configure { + _t1019 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} + ivm_config := _t1019 + _t1020 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} return _t1020 } -func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { - if (value != nil && hasProtoField(value, "int_value")) { - return ptr(value.GetIntValue()) - } - return nil -} - -func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { - if (value != nil && hasProtoField(value, "string_value")) { - return []byte(value.GetStringValue()) - } - return nil -} - // --- Parse functions --- func (p *Parser) parse_transaction() *pb.Transaction { diff --git a/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl b/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl index d4957b03..6445a394 100644 --- a/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl +++ b/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/fragments_pb.jl @@ -1,4 +1,4 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T16:46:40.108 +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-18T12:14:55.021 # original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/fragments.proto (proto3 syntax) import ProtoBuf as PB diff --git a/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl b/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl index 43a8a3ad..adb7235c 100644 --- a/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl +++ b/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/logic_pb.jl @@ -1,4 +1,4 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T16:46:39.694 +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-18T12:14:54.586 # original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/logic.proto (proto3 syntax) import ProtoBuf as PB @@ -522,11 +522,11 @@ struct CSVConfig decimal_separator::String encoding::String compression::String - partition_size::Int64 + partition_size_mb::Int64 end -CSVConfig(;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "", partition_size = zero(Int64)) = CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings, decimal_separator, encoding, compression, partition_size) -PB.default_values(::Type{CSVConfig}) = (;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "", partition_size = zero(Int64)) -PB.field_numbers(::Type{CSVConfig}) = (;header_row = 1, skip = 2, new_line = 3, delimiter = 4, quotechar = 5, escapechar = 6, comment = 7, missing_strings = 8, decimal_separator = 9, encoding = 10, compression = 11, partition_size = 12) +CSVConfig(;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "", partition_size_mb = zero(Int64)) = CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings, decimal_separator, encoding, compression, partition_size_mb) +PB.default_values(::Type{CSVConfig}) = (;header_row = zero(Int32), skip = zero(Int64), new_line = "", delimiter = "", quotechar = "", escapechar = "", comment = "", missing_strings = Vector{String}(), decimal_separator = "", encoding = "", compression = "", partition_size_mb = zero(Int64)) +PB.field_numbers(::Type{CSVConfig}) = (;header_row = 1, skip = 2, new_line = 3, delimiter = 4, quotechar = 5, escapechar = 6, comment = 7, missing_strings = 8, decimal_separator = 9, encoding = 10, compression = 11, partition_size_mb = 12) function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:CSVConfig}) header_row = zero(Int32) @@ -540,7 +540,7 @@ function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:CSVConfig}) decimal_separator = "" encoding = "" compression = "" - partition_size = zero(Int64) + partition_size_mb = zero(Int64) while !PB.message_done(d) field_number, wire_type = PB.decode_tag(d) if field_number == 1 @@ -566,12 +566,12 @@ function PB.decode(d::PB.AbstractProtoDecoder, ::Type{<:CSVConfig}) elseif field_number == 11 compression = PB.decode(d, String) elseif field_number == 12 - partition_size = PB.decode(d, Int64) + partition_size_mb = PB.decode(d, Int64) else Base.skip(d, wire_type) end end - return CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings[], decimal_separator, encoding, compression, partition_size) + return CSVConfig(header_row, skip, new_line, delimiter, quotechar, escapechar, comment, missing_strings[], decimal_separator, encoding, compression, partition_size_mb) end function PB.encode(e::PB.AbstractProtoEncoder, x::CSVConfig) @@ -587,7 +587,7 @@ function PB.encode(e::PB.AbstractProtoEncoder, x::CSVConfig) !isempty(x.decimal_separator) && PB.encode(e, 9, x.decimal_separator) !isempty(x.encoding) && PB.encode(e, 10, x.encoding) !isempty(x.compression) && PB.encode(e, 11, x.compression) - x.partition_size != zero(Int64) && PB.encode(e, 12, x.partition_size) + x.partition_size_mb != zero(Int64) && PB.encode(e, 12, x.partition_size_mb) return position(e.io) - initpos end function PB._encoded_size(x::CSVConfig) @@ -603,7 +603,7 @@ function PB._encoded_size(x::CSVConfig) !isempty(x.decimal_separator) && (encoded_size += PB._encoded_size(x.decimal_separator, 9)) !isempty(x.encoding) && (encoded_size += PB._encoded_size(x.encoding, 10)) !isempty(x.compression) && (encoded_size += PB._encoded_size(x.compression, 11)) - x.partition_size != zero(Int64) && (encoded_size += PB._encoded_size(x.partition_size, 12)) + x.partition_size_mb != zero(Int64) && (encoded_size += PB._encoded_size(x.partition_size_mb, 12)) return encoded_size end diff --git a/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl b/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl index 92ac7b0e..d223ec87 100644 --- a/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl +++ b/sdks/julia/LogicalQueryProtocol/src/gen/relationalai/lqp/v1/transactions_pb.jl @@ -1,4 +1,4 @@ -# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-17T16:46:40.108 +# Autogenerated using ProtoBuf.jl v1.2.0 on 2026-02-18T12:14:55.022 # original file: /Users/dzhao/Documents/logical-query-protocol/proto/relationalai/lqp/v1/transactions.proto (proto3 syntax) import ProtoBuf as PB diff --git a/sdks/julia/LogicalQueryProtocol/src/parser.jl b/sdks/julia/LogicalQueryProtocol/src/parser.jl index a41eab04..3c3386fa 100644 --- a/sdks/julia/LogicalQueryProtocol/src/parser.jl +++ b/sdks/julia/LogicalQueryProtocol/src/parser.jl @@ -325,67 +325,87 @@ end # --- Helper functions --- -function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool - if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) - return _get_oneof_field(value, :boolean_value) +function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return String[_get_oneof_field(value, :string_value)] end return default end -function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return Vector{UInt8}(_get_oneof_field(value, :string_value)) - end - return nothing +function default_configure(parser::Parser)::Proto.Configure + _t972 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t972 + _t973 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) + return _t973 end -function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} - if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) - return _get_oneof_field(value, :float_value) +function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool + if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) + return _get_oneof_field(value, :boolean_value) end - return nothing + return default end -function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return _get_oneof_field(value, :string_value) +function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int32 + if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) + return Int32(_get_oneof_field(value, :int_value)) end - return default + return Int32(default) end function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.CSVConfig config = Dict(config_dict) - _t972 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) - header_row = _t972 - _t973 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) - skip = _t973 - _t974 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") - new_line = _t974 - _t975 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") - delimiter = _t975 - _t976 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") - quotechar = _t976 - _t977 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") - escapechar = _t977 - _t978 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") - comment = _t978 - _t979 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) - missing_strings = _t979 - _t980 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") - decimal_separator = _t980 - _t981 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") - encoding = _t981 - _t982 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") - compression = _t982 - _t983 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) - partition_size = _t983 - _t984 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size=partition_size) - return _t984 + _t974 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) + header_row = _t974 + _t975 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) + skip = _t975 + _t976 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") + new_line = _t976 + _t977 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") + delimiter = _t977 + _t978 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") + quotechar = _t978 + _t979 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") + escapechar = _t979 + _t980 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") + comment = _t980 + _t981 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) + missing_strings = _t981 + _t982 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") + decimal_separator = _t982 + _t983 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") + encoding = _t983 + _t984 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") + compression = _t984 + _t985 = _extract_value_int64(parser, get(config, "csv_partition_size_mb", nothing), 0) + partition_size = _t985 + _t986 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + return _t986 end -function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Proto.UInt128Value} - if (!isnothing(value) && _has_proto_field(value, Symbol("uint128_value"))) - return _get_oneof_field(value, :uint128_value) +function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig + config = Dict(config_dict) + _t987 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) + partition_size = _t987 + _t988 = _extract_value_string(parser, get(config, "compression", nothing), "") + compression = _t988 + _t989 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) + syntax_header_row = _t989 + _t990 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") + syntax_missing_string = _t990 + _t991 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") + syntax_delim = _t991 + _t992 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") + syntax_quotechar = _t992 + _t993 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") + syntax_escapechar = _t993 + _t994 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t994 +end + +function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return Vector{UInt8}(_get_oneof_field(value, :string_value)) end return nothing end @@ -409,59 +429,33 @@ function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, P end end end - _t985 = Proto.IVMConfig(level=maintenance_level) - ivm_config = _t985 - _t986 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) - semantics_version = _t986 - _t987 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t987 + _t995 = Proto.IVMConfig(level=maintenance_level) + ivm_config = _t995 + _t996 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) + semantics_version = _t996 + _t997 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t997 end -function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} - if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return _get_oneof_field(value, :int_value) +function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return _get_oneof_field(value, :string_value) end - return nothing -end - -function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo - config = Dict(config_dict) - _t988 = _try_extract_value_float64(parser, get(config, "betree_config_epsilon", nothing)) - epsilon = _t988 - _t989 = _try_extract_value_int64(parser, get(config, "betree_config_max_pivots", nothing)) - max_pivots = _t989 - _t990 = _try_extract_value_int64(parser, get(config, "betree_config_max_deltas", nothing)) - max_deltas = _t990 - _t991 = _try_extract_value_int64(parser, get(config, "betree_config_max_leaf", nothing)) - max_leaf = _t991 - _t992 = Proto.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t992 - _t993 = _try_extract_value_uint128(parser, get(config, "betree_locator_root_pageid", nothing)) - root_pageid = _t993 - _t994 = _try_extract_value_bytes(parser, get(config, "betree_locator_inline_data", nothing)) - inline_data = _t994 - _t995 = _try_extract_value_int64(parser, get(config, "betree_locator_element_count", nothing)) - element_count = _t995 - _t996 = _try_extract_value_int64(parser, get(config, "betree_locator_tree_height", nothing)) - tree_height = _t996 - _t997 = Proto.BeTreeLocator(location=(!isnothing(root_pageid) ? OneOf(:root_pageid, root_pageid) : (!isnothing(inline_data) ? OneOf(:inline_data, inline_data) : nothing)), element_count=element_count, tree_height=tree_height) - relation_locator = _t997 - _t998 = Proto.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t998 + return default end -function default_configure(parser::Parser)::Proto.Configure - _t999 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t999 - _t1000 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) - return _t1000 +function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Proto.UInt128Value} + if (!isnothing(value) && _has_proto_field(value, Symbol("uint128_value"))) + return _get_oneof_field(value, :uint128_value) + end + return nothing end -function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int32 +function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return Int32(_get_oneof_field(value, :int_value)) + return _get_oneof_field(value, :int_value) end - return Int32(default) + return nothing end function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int64 @@ -471,35 +465,41 @@ function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value} return default end -function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return String[_get_oneof_field(value, :string_value)] - end - return default +function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Any, csv_config::Union{Nothing, Proto.CSVConfig})::Proto.ExportCSVConfig + _t998 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t998 end -function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig - config = Dict(config_dict) - _t1001 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) - partition_size = _t1001 - _t1002 = _extract_value_string(parser, get(config, "compression", nothing), "") - compression = _t1002 - _t1003 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) - syntax_header_row = _t1003 - _t1004 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") - syntax_missing_string = _t1004 - _t1005 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") - syntax_delim = _t1005 - _t1006 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") - syntax_quotechar = _t1006 - _t1007 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") - syntax_escapechar = _t1007 - _t1008 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t1008 +function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} + if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) + return _get_oneof_field(value, :float_value) + end + return nothing end -function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Any, csv_config::Union{Nothing, Proto.CSVConfig})::Proto.ExportCSVConfig - _t1009 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) +function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo + config = Dict(config_dict) + _t999 = _try_extract_value_float64(parser, get(config, "betree_config_epsilon", nothing)) + epsilon = _t999 + _t1000 = _try_extract_value_int64(parser, get(config, "betree_config_max_pivots", nothing)) + max_pivots = _t1000 + _t1001 = _try_extract_value_int64(parser, get(config, "betree_config_max_deltas", nothing)) + max_deltas = _t1001 + _t1002 = _try_extract_value_int64(parser, get(config, "betree_config_max_leaf", nothing)) + max_leaf = _t1002 + _t1003 = Proto.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t1003 + _t1004 = _try_extract_value_uint128(parser, get(config, "betree_locator_root_pageid", nothing)) + root_pageid = _t1004 + _t1005 = _try_extract_value_bytes(parser, get(config, "betree_locator_inline_data", nothing)) + inline_data = _t1005 + _t1006 = _try_extract_value_int64(parser, get(config, "betree_locator_element_count", nothing)) + element_count = _t1006 + _t1007 = _try_extract_value_int64(parser, get(config, "betree_locator_tree_height", nothing)) + tree_height = _t1007 + _t1008 = Proto.BeTreeLocator(location=(!isnothing(root_pageid) ? OneOf(:root_pageid, root_pageid) : (!isnothing(inline_data) ? OneOf(:inline_data, inline_data) : nothing)), element_count=element_count, tree_height=tree_height) + relation_locator = _t1008 + _t1009 = Proto.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) return _t1009 end diff --git a/sdks/python/src/lqp/gen/parser.py b/sdks/python/src/lqp/gen/parser.py index bff43074..aeb20400 100644 --- a/sdks/python/src/lqp/gen/parser.py +++ b/sdks/python/src/lqp/gen/parser.py @@ -278,144 +278,78 @@ def relation_id_to_uint128(self, msg): # --- Helper functions --- - def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: - config = dict(config_dict) - _t972 = self._extract_value_int64(config.get('partition_size'), 0) - partition_size = _t972 - _t973 = self._extract_value_string(config.get('compression'), '') - compression = _t973 - _t974 = self._extract_value_boolean(config.get('syntax_header_row'), True) - syntax_header_row = _t974 - _t975 = self._extract_value_string(config.get('syntax_missing_string'), '') - syntax_missing_string = _t975 - _t976 = self._extract_value_string(config.get('syntax_delim'), ',') - syntax_delim = _t976 - _t977 = self._extract_value_string(config.get('syntax_quotechar'), '"') - syntax_quotechar = _t977 - _t978 = self._extract_value_string(config.get('syntax_escapechar'), '\\') - syntax_escapechar = _t978 - _t979 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t979 - - def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: - - if value is not None: - assert value is not None - _t980 = value.HasField('uint128_value') - else: - _t980 = False - if _t980: - assert value is not None - return value.uint128_value - return None - - def _extract_value_string_list(self, value: Optional[logic_pb2.Value], default: Sequence[str]) -> Sequence[str]: + def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: if value is not None: assert value is not None - _t981 = value.HasField('string_value') + _t972 = value.HasField('string_value') else: - _t981 = False - if _t981: + _t972 = False + if _t972: assert value is not None - return [value.string_value] + return value.string_value return default - def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: + def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: if value is not None: assert value is not None - _t982 = value.HasField('int_value') + _t973 = value.HasField('int_value') else: - _t982 = False - if _t982: + _t973 = False + if _t973: assert value is not None - return int(value.int_value) - return int(default) - - def default_configure(self) -> transactions_pb2.Configure: - _t983 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t983 - _t984 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) - return _t984 + return value.int_value + return None - def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: + def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: config = dict(config_dict) - _t985 = self._extract_value_int32(config.get('csv_header_row'), 1) - header_row = _t985 - _t986 = self._extract_value_int64(config.get('csv_skip'), 0) - skip = _t986 - _t987 = self._extract_value_string(config.get('csv_new_line'), '') - new_line = _t987 - _t988 = self._extract_value_string(config.get('csv_delimiter'), ',') - delimiter = _t988 - _t989 = self._extract_value_string(config.get('csv_quotechar'), '"') - quotechar = _t989 - _t990 = self._extract_value_string(config.get('csv_escapechar'), '"') - escapechar = _t990 - _t991 = self._extract_value_string(config.get('csv_comment'), '') - comment = _t991 - _t992 = self._extract_value_string_list(config.get('csv_missing_strings'), []) - missing_strings = _t992 - _t993 = self._extract_value_string(config.get('csv_decimal_separator'), '.') - decimal_separator = _t993 - _t994 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') - encoding = _t994 - _t995 = self._extract_value_string(config.get('csv_compression'), 'auto') - compression = _t995 - _t996 = self._extract_value_int64(config.get('partition_size'), 0) - partition_size = _t996 - _t997 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size=partition_size) - return _t997 + _t974 = self._try_extract_value_float64(config.get('betree_config_epsilon')) + epsilon = _t974 + _t975 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) + max_pivots = _t975 + _t976 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) + max_deltas = _t976 + _t977 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) + max_leaf = _t977 + _t978 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t978 + _t979 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) + root_pageid = _t979 + _t980 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) + inline_data = _t980 + _t981 = self._try_extract_value_int64(config.get('betree_locator_element_count')) + element_count = _t981 + _t982 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) + tree_height = _t982 + _t983 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) + relation_locator = _t983 + _t984 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) + return _t984 - def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: + def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional[bytes]: if value is not None: assert value is not None - _t998 = value.HasField('int_value') + _t985 = value.HasField('string_value') else: - _t998 = False - if _t998: + _t985 = False + if _t985: assert value is not None - return value.int_value + return value.string_value.encode() return None - def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: + def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t999 = value.HasField('boolean_value') + _t986 = value.HasField('int_value') else: - _t999 = False - if _t999: + _t986 = False + if _t986: assert value is not None - return value.boolean_value - return default - - def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: - config = dict(config_dict) - _t1000 = self._try_extract_value_float64(config.get('betree_config_epsilon')) - epsilon = _t1000 - _t1001 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) - max_pivots = _t1001 - _t1002 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) - max_deltas = _t1002 - _t1003 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) - max_leaf = _t1003 - _t1004 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t1004 - _t1005 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) - root_pageid = _t1005 - _t1006 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) - inline_data = _t1006 - _t1007 = self._try_extract_value_int64(config.get('betree_locator_element_count')) - element_count = _t1007 - _t1008 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) - tree_height = _t1008 - _t1009 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) - relation_locator = _t1009 - _t1010 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t1010 + return int(value.int_value) + return int(default) def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.Configure: config = dict(config_dict) @@ -432,63 +366,129 @@ def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]] maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL else: maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - _t1011 = transactions_pb2.IVMConfig(level=maintenance_level) - ivm_config = _t1011 - _t1012 = self._extract_value_int64(config.get('semantics_version'), 0) - semantics_version = _t1012 - _t1013 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t1013 + _t987 = transactions_pb2.IVMConfig(level=maintenance_level) + ivm_config = _t987 + _t988 = self._extract_value_int64(config.get('semantics_version'), 0) + semantics_version = _t988 + _t989 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t989 - def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional[bytes]: + def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: if value is not None: assert value is not None - _t1014 = value.HasField('string_value') + _t990 = value.HasField('uint128_value') else: - _t1014 = False - if _t1014: + _t990 = False + if _t990: assert value is not None - return value.string_value.encode() + return value.uint128_value return None - def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: + def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t1015 = value.HasField('string_value') + _t991 = value.HasField('int_value') else: - _t1015 = False - if _t1015: + _t991 = False + if _t991: assert value is not None - return value.string_value + return value.int_value + return default + + def default_configure(self) -> transactions_pb2.Configure: + _t992 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t992 + _t993 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) + return _t993 + + def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: + + if value is not None: + assert value is not None + _t994 = value.HasField('boolean_value') + else: + _t994 = False + if _t994: + assert value is not None + return value.boolean_value return default def construct_export_csv_config_with_source(self, path: str, csv_source: Any, csv_config: Optional[logic_pb2.CSVConfig]) -> transactions_pb2.ExportCSVConfig: - _t1016 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) - return _t1016 + _t995 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t995 def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Optional[float]: if value is not None: assert value is not None - _t1017 = value.HasField('float_value') + _t996 = value.HasField('float_value') else: - _t1017 = False - if _t1017: + _t996 = False + if _t996: assert value is not None return value.float_value return None - def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: + def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: + config = dict(config_dict) + _t997 = self._extract_value_int32(config.get('csv_header_row'), 1) + header_row = _t997 + _t998 = self._extract_value_int64(config.get('csv_skip'), 0) + skip = _t998 + _t999 = self._extract_value_string(config.get('csv_new_line'), '') + new_line = _t999 + _t1000 = self._extract_value_string(config.get('csv_delimiter'), ',') + delimiter = _t1000 + _t1001 = self._extract_value_string(config.get('csv_quotechar'), '"') + quotechar = _t1001 + _t1002 = self._extract_value_string(config.get('csv_escapechar'), '"') + escapechar = _t1002 + _t1003 = self._extract_value_string(config.get('csv_comment'), '') + comment = _t1003 + _t1004 = self._extract_value_string_list(config.get('csv_missing_strings'), []) + missing_strings = _t1004 + _t1005 = self._extract_value_string(config.get('csv_decimal_separator'), '.') + decimal_separator = _t1005 + _t1006 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') + encoding = _t1006 + _t1007 = self._extract_value_string(config.get('csv_compression'), 'auto') + compression = _t1007 + _t1008 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) + partition_size = _t1008 + _t1009 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + return _t1009 + + def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: + config = dict(config_dict) + _t1010 = self._extract_value_int64(config.get('partition_size'), 0) + partition_size = _t1010 + _t1011 = self._extract_value_string(config.get('compression'), '') + compression = _t1011 + _t1012 = self._extract_value_boolean(config.get('syntax_header_row'), True) + syntax_header_row = _t1012 + _t1013 = self._extract_value_string(config.get('syntax_missing_string'), '') + syntax_missing_string = _t1013 + _t1014 = self._extract_value_string(config.get('syntax_delim'), ',') + syntax_delim = _t1014 + _t1015 = self._extract_value_string(config.get('syntax_quotechar'), '"') + syntax_quotechar = _t1015 + _t1016 = self._extract_value_string(config.get('syntax_escapechar'), '\\') + syntax_escapechar = _t1016 + _t1017 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t1017 + + def _extract_value_string_list(self, value: Optional[logic_pb2.Value], default: Sequence[str]) -> Sequence[str]: if value is not None: assert value is not None - _t1018 = value.HasField('int_value') + _t1018 = value.HasField('string_value') else: _t1018 = False if _t1018: assert value is not None - return value.int_value + return [value.string_value] return default # --- Parse methods --- diff --git a/sdks/python/src/lqp/gen/pretty.py b/sdks/python/src/lqp/gen/pretty.py index 2c8ac49a..bc14718d 100644 --- a/sdks/python/src/lqp/gen/pretty.py +++ b/sdks/python/src/lqp/gen/pretty.py @@ -124,69 +124,78 @@ def deconstruct_relation_id_string(self, msg: logic_pb2.RelationId) -> Optional[ return name return None - def _make_value_boolean(self, v: bool) -> logic_pb2.Value: - _t1253 = logic_pb2.Value(boolean_value=v) - return _t1253 - def deconstruct_bindings(self, abs: logic_pb2.Abstraction) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: n = len(abs.vars) return (abs.vars[0:n], [],) + def _make_value_int64(self, v: int) -> logic_pb2.Value: + _t1264 = logic_pb2.Value(int_value=v) + return _t1264 + + def _make_value_uint128(self, v: logic_pb2.UInt128Value) -> logic_pb2.Value: + _t1265 = logic_pb2.Value(uint128_value=v) + return _t1265 + + def _make_value_string(self, v: str) -> logic_pb2.Value: + _t1266 = logic_pb2.Value(string_value=v) + return _t1266 + + def deconstruct_bindings_with_arity(self, abs: logic_pb2.Abstraction, value_arity: int) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: + n = len(abs.vars) + key_end = (n - value_arity) + return (abs.vars[0:key_end], abs.vars[key_end:n],) + + def _make_value_int32(self, v: int) -> logic_pb2.Value: + _t1267 = logic_pb2.Value(int_value=int(v)) + return _t1267 + + def _make_value_float64(self, v: float) -> logic_pb2.Value: + _t1268 = logic_pb2.Value(float_value=v) + return _t1268 + def deconstruct_betree_info_config(self, msg: logic_pb2.BeTreeInfo) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1254 = self._make_value_float64(msg.storage_config.epsilon) - result.append(('betree_config_epsilon', _t1254,)) - _t1255 = self._make_value_int64(msg.storage_config.max_pivots) - result.append(('betree_config_max_pivots', _t1255,)) - _t1256 = self._make_value_int64(msg.storage_config.max_deltas) - result.append(('betree_config_max_deltas', _t1256,)) - _t1257 = self._make_value_int64(msg.storage_config.max_leaf) - result.append(('betree_config_max_leaf', _t1257,)) + _t1269 = self._make_value_float64(msg.storage_config.epsilon) + result.append(('betree_config_epsilon', _t1269,)) + _t1270 = self._make_value_int64(msg.storage_config.max_pivots) + result.append(('betree_config_max_pivots', _t1270,)) + _t1271 = self._make_value_int64(msg.storage_config.max_deltas) + result.append(('betree_config_max_deltas', _t1271,)) + _t1272 = self._make_value_int64(msg.storage_config.max_leaf) + result.append(('betree_config_max_leaf', _t1272,)) if msg.relation_locator.HasField('root_pageid'): if msg.relation_locator.root_pageid is not None: assert msg.relation_locator.root_pageid is not None - _t1258 = self._make_value_uint128(msg.relation_locator.root_pageid) - result.append(('betree_locator_root_pageid', _t1258,)) + _t1273 = self._make_value_uint128(msg.relation_locator.root_pageid) + result.append(('betree_locator_root_pageid', _t1273,)) if msg.relation_locator.HasField('inline_data'): if msg.relation_locator.inline_data is not None: assert msg.relation_locator.inline_data is not None - _t1259 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) - result.append(('betree_locator_inline_data', _t1259,)) - _t1260 = self._make_value_int64(msg.relation_locator.element_count) - result.append(('betree_locator_element_count', _t1260,)) - _t1261 = self._make_value_int64(msg.relation_locator.tree_height) - result.append(('betree_locator_tree_height', _t1261,)) + _t1274 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) + result.append(('betree_locator_inline_data', _t1274,)) + _t1275 = self._make_value_int64(msg.relation_locator.element_count) + result.append(('betree_locator_element_count', _t1275,)) + _t1276 = self._make_value_int64(msg.relation_locator.tree_height) + result.append(('betree_locator_tree_height', _t1276,)) return sorted(result) - def _make_value_uint128(self, v: logic_pb2.UInt128Value) -> logic_pb2.Value: - _t1262 = logic_pb2.Value(uint128_value=v) - return _t1262 - - def _make_value_float64(self, v: float) -> logic_pb2.Value: - _t1263 = logic_pb2.Value(float_value=v) - return _t1263 - def deconstruct_configure(self, msg: transactions_pb2.Configure) -> list[tuple[str, logic_pb2.Value]]: result = [] if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO: - _t1264 = self._make_value_string('auto') - result.append(('ivm.maintenance_level', _t1264,)) + _t1277 = self._make_value_string('auto') + result.append(('ivm.maintenance_level', _t1277,)) else: if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL: - _t1265 = self._make_value_string('all') - result.append(('ivm.maintenance_level', _t1265,)) + _t1278 = self._make_value_string('all') + result.append(('ivm.maintenance_level', _t1278,)) else: if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF: - _t1266 = self._make_value_string('off') - result.append(('ivm.maintenance_level', _t1266,)) - _t1267 = self._make_value_int64(msg.semantics_version) - result.append(('semantics_version', _t1267,)) + _t1279 = self._make_value_string('off') + result.append(('ivm.maintenance_level', _t1279,)) + _t1280 = self._make_value_int64(msg.semantics_version) + result.append(('semantics_version', _t1280,)) return sorted(result) - def _make_value_int32(self, v: int) -> logic_pb2.Value: - _t1268 = logic_pb2.Value(int_value=int(v)) - return _t1268 - def deconstruct_relation_id_uint128(self, msg: logic_pb2.RelationId) -> Optional[logic_pb2.UInt128Value]: name = self.relation_id_to_string(msg) if name == '': @@ -195,95 +204,53 @@ def deconstruct_relation_id_uint128(self, msg: logic_pb2.RelationId) -> Optional def deconstruct_csv_config(self, msg: logic_pb2.CSVConfig) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1269 = self._make_value_int32(msg.header_row) - result.append(('csv_header_row', _t1269,)) - _t1270 = self._make_value_int64(msg.skip) - result.append(('csv_skip', _t1270,)) + _t1281 = self._make_value_int32(msg.header_row) + result.append(('csv_header_row', _t1281,)) + _t1282 = self._make_value_int64(msg.skip) + result.append(('csv_skip', _t1282,)) if msg.new_line != '': - _t1271 = self._make_value_string(msg.new_line) - result.append(('csv_new_line', _t1271,)) - _t1272 = self._make_value_string(msg.delimiter) - result.append(('csv_delimiter', _t1272,)) - _t1273 = self._make_value_string(msg.quotechar) - result.append(('csv_quotechar', _t1273,)) - _t1274 = self._make_value_string(msg.escapechar) - result.append(('csv_escapechar', _t1274,)) + _t1283 = self._make_value_string(msg.new_line) + result.append(('csv_new_line', _t1283,)) + _t1284 = self._make_value_string(msg.delimiter) + result.append(('csv_delimiter', _t1284,)) + _t1285 = self._make_value_string(msg.quotechar) + result.append(('csv_quotechar', _t1285,)) + _t1286 = self._make_value_string(msg.escapechar) + result.append(('csv_escapechar', _t1286,)) if msg.comment != '': - _t1275 = self._make_value_string(msg.comment) - result.append(('csv_comment', _t1275,)) + _t1287 = self._make_value_string(msg.comment) + result.append(('csv_comment', _t1287,)) for missing_string in msg.missing_strings: - _t1276 = self._make_value_string(missing_string) - result.append(('csv_missing_strings', _t1276,)) - _t1277 = self._make_value_string(msg.decimal_separator) - result.append(('csv_decimal_separator', _t1277,)) - _t1278 = self._make_value_string(msg.encoding) - result.append(('csv_encoding', _t1278,)) - _t1279 = self._make_value_string(msg.compression) - result.append(('csv_compression', _t1279,)) + _t1288 = self._make_value_string(missing_string) + result.append(('csv_missing_strings', _t1288,)) + _t1289 = self._make_value_string(msg.decimal_separator) + result.append(('csv_decimal_separator', _t1289,)) + _t1290 = self._make_value_string(msg.encoding) + result.append(('csv_encoding', _t1290,)) + _t1291 = self._make_value_string(msg.compression) + result.append(('csv_compression', _t1291,)) + if msg.partition_size_mb != 0: + _t1292 = self._make_value_int64(msg.partition_size_mb) + result.append(('csv_partition_size_mb', _t1292,)) return sorted(result) - def deconstruct_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> list[tuple[str, logic_pb2.Value]]: - result = [] - if msg.partition_size is not None: - assert msg.partition_size is not None - _t1280 = self._make_value_int64(msg.partition_size) - result.append(('partition_size', _t1280,)) - if msg.compression is not None: - assert msg.compression is not None - _t1281 = self._make_value_string(msg.compression) - result.append(('compression', _t1281,)) - if msg.syntax_header_row is not None: - assert msg.syntax_header_row is not None - _t1282 = self._make_value_boolean(msg.syntax_header_row) - result.append(('syntax_header_row', _t1282,)) - if msg.syntax_missing_string is not None: - assert msg.syntax_missing_string is not None - _t1283 = self._make_value_string(msg.syntax_missing_string) - result.append(('syntax_missing_string', _t1283,)) - if msg.syntax_delim is not None: - assert msg.syntax_delim is not None - _t1284 = self._make_value_string(msg.syntax_delim) - result.append(('syntax_delim', _t1284,)) - if msg.syntax_quotechar is not None: - assert msg.syntax_quotechar is not None - _t1285 = self._make_value_string(msg.syntax_quotechar) - result.append(('syntax_quotechar', _t1285,)) - if msg.syntax_escapechar is not None: - assert msg.syntax_escapechar is not None - _t1286 = self._make_value_string(msg.syntax_escapechar) - result.append(('syntax_escapechar', _t1286,)) - return sorted(result) - - def _make_value_string(self, v: str) -> logic_pb2.Value: - _t1287 = logic_pb2.Value(string_value=v) - return _t1287 - - def _make_value_int64(self, v: int) -> logic_pb2.Value: - _t1288 = logic_pb2.Value(int_value=v) - return _t1288 - - def deconstruct_bindings_with_arity(self, abs: logic_pb2.Abstraction, value_arity: int) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: - n = len(abs.vars) - key_end = (n - value_arity) - return (abs.vars[0:key_end], abs.vars[key_end:n],) - # --- Pretty-print methods --- def pretty_transaction(self, msg: transactions_pb2.Transaction) -> Optional[NoReturn]: - def _t490(_dollar_dollar): + def _t497(_dollar_dollar): if _dollar_dollar.HasField('configure'): - _t491 = _dollar_dollar.configure + _t498 = _dollar_dollar.configure else: - _t491 = None + _t498 = None if _dollar_dollar.HasField('sync'): - _t492 = _dollar_dollar.sync + _t499 = _dollar_dollar.sync else: - _t492 = None - return (_t491, _t492, _dollar_dollar.epochs,) - _t493 = _t490(msg) - fields0 = _t493 + _t499 = None + return (_t498, _t499, _dollar_dollar.epochs,) + _t500 = _t497(msg) + fields0 = _t500 assert fields0 is not None unwrapped_fields1 = fields0 self.write('(') @@ -295,53 +262,53 @@ def _t490(_dollar_dollar): self.newline() assert field2 is not None opt_val3 = field2 - _t495 = self.pretty_configure(opt_val3) - _t494 = _t495 + _t502 = self.pretty_configure(opt_val3) + _t501 = _t502 else: - _t494 = None + _t501 = None field4 = unwrapped_fields1[1] if field4 is not None: self.newline() assert field4 is not None opt_val5 = field4 - _t497 = self.pretty_sync(opt_val5) - _t496 = _t497 + _t504 = self.pretty_sync(opt_val5) + _t503 = _t504 else: - _t496 = None + _t503 = None field6 = unwrapped_fields1[2] if not len(field6) == 0: self.newline() for i8, elem7 in enumerate(field6): if (i8 > 0): self.newline() - _t498 = self.pretty_epoch(elem7) + _t505 = self.pretty_epoch(elem7) self.dedent() self.write(')') return None def pretty_configure(self, msg: transactions_pb2.Configure) -> Optional[NoReturn]: - def _t499(_dollar_dollar): - _t500 = self.deconstruct_configure(_dollar_dollar) - return _t500 - _t501 = _t499(msg) - fields9 = _t501 + def _t506(_dollar_dollar): + _t507 = self.deconstruct_configure(_dollar_dollar) + return _t507 + _t508 = _t506(msg) + fields9 = _t508 assert fields9 is not None unwrapped_fields10 = fields9 self.write('(') self.write('configure') self.indent() self.newline() - _t502 = self.pretty_config_dict(unwrapped_fields10) + _t509 = self.pretty_config_dict(unwrapped_fields10) self.dedent() self.write(')') return None def pretty_config_dict(self, msg: Sequence[tuple[str, logic_pb2.Value]]) -> Optional[NoReturn]: - def _t503(_dollar_dollar): + def _t510(_dollar_dollar): return _dollar_dollar - _t504 = _t503(msg) - fields11 = _t504 + _t511 = _t510(msg) + fields11 = _t511 assert fields11 is not None unwrapped_fields12 = fields11 self.write('{') @@ -350,15 +317,15 @@ def _t503(_dollar_dollar): for i14, elem13 in enumerate(unwrapped_fields12): if (i14 > 0): self.newline() - _t505 = self.pretty_config_key_value(elem13) + _t512 = self.pretty_config_key_value(elem13) self.write('}') return None def pretty_config_key_value(self, msg: tuple[str, logic_pb2.Value]) -> Optional[NoReturn]: - def _t506(_dollar_dollar): + def _t513(_dollar_dollar): return (_dollar_dollar[0], _dollar_dollar[1],) - _t507 = _t506(msg) - fields15 = _t507 + _t514 = _t513(msg) + fields15 = _t514 assert fields15 is not None unwrapped_fields16 = fields15 self.write(':') @@ -366,159 +333,159 @@ def _t506(_dollar_dollar): self.write(field17) self.write(' ') field18 = unwrapped_fields16[1] - _t508 = self.pretty_value(field18) - return _t508 + _t515 = self.pretty_value(field18) + return _t515 def pretty_value(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t509(_dollar_dollar): + def _t516(_dollar_dollar): if _dollar_dollar.HasField('date_value'): - _t510 = _dollar_dollar.date_value + _t517 = _dollar_dollar.date_value else: - _t510 = None - return _t510 - _t511 = _t509(msg) - deconstruct_result29 = _t511 + _t517 = None + return _t517 + _t518 = _t516(msg) + deconstruct_result29 = _t518 if deconstruct_result29 is not None: - _t513 = self.pretty_date(deconstruct_result29) - _t512 = _t513 + _t520 = self.pretty_date(deconstruct_result29) + _t519 = _t520 else: - def _t514(_dollar_dollar): + def _t521(_dollar_dollar): if _dollar_dollar.HasField('datetime_value'): - _t515 = _dollar_dollar.datetime_value + _t522 = _dollar_dollar.datetime_value else: - _t515 = None - return _t515 - _t516 = _t514(msg) - deconstruct_result28 = _t516 + _t522 = None + return _t522 + _t523 = _t521(msg) + deconstruct_result28 = _t523 if deconstruct_result28 is not None: - _t518 = self.pretty_datetime(deconstruct_result28) - _t517 = _t518 + _t525 = self.pretty_datetime(deconstruct_result28) + _t524 = _t525 else: - def _t519(_dollar_dollar): + def _t526(_dollar_dollar): if _dollar_dollar.HasField('string_value'): - _t520 = _dollar_dollar.string_value + _t527 = _dollar_dollar.string_value else: - _t520 = None - return _t520 - _t521 = _t519(msg) - deconstruct_result27 = _t521 + _t527 = None + return _t527 + _t528 = _t526(msg) + deconstruct_result27 = _t528 if deconstruct_result27 is not None: self.write(self.format_string_value(deconstruct_result27)) - _t522 = None + _t529 = None else: - def _t523(_dollar_dollar): + def _t530(_dollar_dollar): if _dollar_dollar.HasField('int_value'): - _t524 = _dollar_dollar.int_value + _t531 = _dollar_dollar.int_value else: - _t524 = None - return _t524 - _t525 = _t523(msg) - deconstruct_result26 = _t525 + _t531 = None + return _t531 + _t532 = _t530(msg) + deconstruct_result26 = _t532 if deconstruct_result26 is not None: self.write(str(deconstruct_result26)) - _t526 = None + _t533 = None else: - def _t527(_dollar_dollar): + def _t534(_dollar_dollar): if _dollar_dollar.HasField('float_value'): - _t528 = _dollar_dollar.float_value + _t535 = _dollar_dollar.float_value else: - _t528 = None - return _t528 - _t529 = _t527(msg) - deconstruct_result25 = _t529 + _t535 = None + return _t535 + _t536 = _t534(msg) + deconstruct_result25 = _t536 if deconstruct_result25 is not None: self.write(str(deconstruct_result25)) - _t530 = None + _t537 = None else: - def _t531(_dollar_dollar): + def _t538(_dollar_dollar): if _dollar_dollar.HasField('uint128_value'): - _t532 = _dollar_dollar.uint128_value + _t539 = _dollar_dollar.uint128_value else: - _t532 = None - return _t532 - _t533 = _t531(msg) - deconstruct_result24 = _t533 + _t539 = None + return _t539 + _t540 = _t538(msg) + deconstruct_result24 = _t540 if deconstruct_result24 is not None: self.write(self.format_uint128(deconstruct_result24)) - _t534 = None + _t541 = None else: - def _t535(_dollar_dollar): + def _t542(_dollar_dollar): if _dollar_dollar.HasField('int128_value'): - _t536 = _dollar_dollar.int128_value + _t543 = _dollar_dollar.int128_value else: - _t536 = None - return _t536 - _t537 = _t535(msg) - deconstruct_result23 = _t537 + _t543 = None + return _t543 + _t544 = _t542(msg) + deconstruct_result23 = _t544 if deconstruct_result23 is not None: self.write(self.format_int128(deconstruct_result23)) - _t538 = None + _t545 = None else: - def _t539(_dollar_dollar): + def _t546(_dollar_dollar): if _dollar_dollar.HasField('decimal_value'): - _t540 = _dollar_dollar.decimal_value + _t547 = _dollar_dollar.decimal_value else: - _t540 = None - return _t540 - _t541 = _t539(msg) - deconstruct_result22 = _t541 + _t547 = None + return _t547 + _t548 = _t546(msg) + deconstruct_result22 = _t548 if deconstruct_result22 is not None: self.write(self.format_decimal(deconstruct_result22)) - _t542 = None + _t549 = None else: - def _t543(_dollar_dollar): + def _t550(_dollar_dollar): if _dollar_dollar.HasField('boolean_value'): - _t544 = _dollar_dollar.boolean_value + _t551 = _dollar_dollar.boolean_value else: - _t544 = None - return _t544 - _t545 = _t543(msg) - deconstruct_result21 = _t545 + _t551 = None + return _t551 + _t552 = _t550(msg) + deconstruct_result21 = _t552 if deconstruct_result21 is not None: - _t547 = self.pretty_boolean_value(deconstruct_result21) - _t546 = _t547 + _t554 = self.pretty_boolean_value(deconstruct_result21) + _t553 = _t554 else: - def _t548(_dollar_dollar): + def _t555(_dollar_dollar): return _dollar_dollar - _t549 = _t548(msg) - fields19 = _t549 + _t556 = _t555(msg) + fields19 = _t556 assert fields19 is not None unwrapped_fields20 = fields19 self.write('missing') - _t546 = None - _t542 = _t546 - _t538 = _t542 - _t534 = _t538 - _t530 = _t534 - _t526 = _t530 - _t522 = _t526 - _t517 = _t522 - _t512 = _t517 - return _t512 + _t553 = None + _t549 = _t553 + _t545 = _t549 + _t541 = _t545 + _t537 = _t541 + _t533 = _t537 + _t529 = _t533 + _t524 = _t529 + _t519 = _t524 + return _t519 def pretty_date(self, msg: logic_pb2.DateValue) -> Optional[NoReturn]: - def _t550(_dollar_dollar): + def _t557(_dollar_dollar): return (int(_dollar_dollar.year), int(_dollar_dollar.month), int(_dollar_dollar.day),) - _t551 = _t550(msg) - fields30 = _t551 + _t558 = _t557(msg) + fields30 = _t558 assert fields30 is not None unwrapped_fields31 = fields30 self.write('(') @@ -538,10 +505,10 @@ def _t550(_dollar_dollar): return None def pretty_datetime(self, msg: logic_pb2.DateTimeValue) -> Optional[NoReturn]: - def _t552(_dollar_dollar): + def _t559(_dollar_dollar): return (int(_dollar_dollar.year), int(_dollar_dollar.month), int(_dollar_dollar.day), int(_dollar_dollar.hour), int(_dollar_dollar.minute), int(_dollar_dollar.second), int(_dollar_dollar.microsecond),) - _t553 = _t552(msg) - fields35 = _t553 + _t560 = _t559(msg) + fields35 = _t560 assert fields35 is not None unwrapped_fields36 = fields35 self.write('(') @@ -576,27 +543,27 @@ def _t552(_dollar_dollar): return None def pretty_boolean_value(self, msg: bool) -> Optional[NoReturn]: - def _t554(_dollar_dollar): + def _t561(_dollar_dollar): if _dollar_dollar: - _t555 = () + _t562 = () else: - _t555 = None - return _t555 - _t556 = _t554(msg) - deconstruct_result46 = _t556 + _t562 = None + return _t562 + _t563 = _t561(msg) + deconstruct_result46 = _t563 if deconstruct_result46 is not None: self.write('true') else: - def _t557(_dollar_dollar): + def _t564(_dollar_dollar): if not _dollar_dollar: - _t558 = () + _t565 = () else: - _t558 = None - return _t558 - _t559 = _t557(msg) - deconstruct_result45 = _t559 + _t565 = None + return _t565 + _t566 = _t564(msg) + deconstruct_result45 = _t566 if deconstruct_result45 is not None: self.write('false') else: @@ -604,10 +571,10 @@ def _t557(_dollar_dollar): return None def pretty_sync(self, msg: transactions_pb2.Sync) -> Optional[NoReturn]: - def _t560(_dollar_dollar): + def _t567(_dollar_dollar): return _dollar_dollar.fragments - _t561 = _t560(msg) - fields47 = _t561 + _t568 = _t567(msg) + fields47 = _t568 assert fields47 is not None unwrapped_fields48 = fields47 self.write('(') @@ -618,16 +585,16 @@ def _t560(_dollar_dollar): for i50, elem49 in enumerate(unwrapped_fields48): if (i50 > 0): self.newline() - _t562 = self.pretty_fragment_id(elem49) + _t569 = self.pretty_fragment_id(elem49) self.dedent() self.write(')') return None def pretty_fragment_id(self, msg: fragments_pb2.FragmentId) -> Optional[NoReturn]: - def _t563(_dollar_dollar): + def _t570(_dollar_dollar): return self.fragment_id_to_string(_dollar_dollar) - _t564 = _t563(msg) - fields51 = _t564 + _t571 = _t570(msg) + fields51 = _t571 assert fields51 is not None unwrapped_fields52 = fields51 self.write(':') @@ -635,20 +602,20 @@ def _t563(_dollar_dollar): return None def pretty_epoch(self, msg: transactions_pb2.Epoch) -> Optional[NoReturn]: - def _t565(_dollar_dollar): + def _t572(_dollar_dollar): if not len(_dollar_dollar.writes) == 0: - _t566 = _dollar_dollar.writes + _t573 = _dollar_dollar.writes else: - _t566 = None + _t573 = None if not len(_dollar_dollar.reads) == 0: - _t567 = _dollar_dollar.reads + _t574 = _dollar_dollar.reads else: - _t567 = None - return (_t566, _t567,) - _t568 = _t565(msg) - fields53 = _t568 + _t574 = None + return (_t573, _t574,) + _t575 = _t572(msg) + fields53 = _t575 assert fields53 is not None unwrapped_fields54 = fields53 self.write('(') @@ -660,29 +627,29 @@ def _t565(_dollar_dollar): self.newline() assert field55 is not None opt_val56 = field55 - _t570 = self.pretty_epoch_writes(opt_val56) - _t569 = _t570 + _t577 = self.pretty_epoch_writes(opt_val56) + _t576 = _t577 else: - _t569 = None + _t576 = None field57 = unwrapped_fields54[1] if field57 is not None: self.newline() assert field57 is not None opt_val58 = field57 - _t572 = self.pretty_epoch_reads(opt_val58) - _t571 = _t572 + _t579 = self.pretty_epoch_reads(opt_val58) + _t578 = _t579 else: - _t571 = None + _t578 = None self.dedent() self.write(')') return None def pretty_epoch_writes(self, msg: Sequence[transactions_pb2.Write]) -> Optional[NoReturn]: - def _t573(_dollar_dollar): + def _t580(_dollar_dollar): return _dollar_dollar - _t574 = _t573(msg) - fields59 = _t574 + _t581 = _t580(msg) + fields59 = _t581 assert fields59 is not None unwrapped_fields60 = fields59 self.write('(') @@ -693,81 +660,81 @@ def _t573(_dollar_dollar): for i62, elem61 in enumerate(unwrapped_fields60): if (i62 > 0): self.newline() - _t575 = self.pretty_write(elem61) + _t582 = self.pretty_write(elem61) self.dedent() self.write(')') return None def pretty_write(self, msg: transactions_pb2.Write) -> Optional[NoReturn]: - def _t576(_dollar_dollar): + def _t583(_dollar_dollar): if _dollar_dollar.HasField('define'): - _t577 = _dollar_dollar.define + _t584 = _dollar_dollar.define else: - _t577 = None - return _t577 - _t578 = _t576(msg) - deconstruct_result65 = _t578 + _t584 = None + return _t584 + _t585 = _t583(msg) + deconstruct_result65 = _t585 if deconstruct_result65 is not None: - _t580 = self.pretty_define(deconstruct_result65) - _t579 = _t580 + _t587 = self.pretty_define(deconstruct_result65) + _t586 = _t587 else: - def _t581(_dollar_dollar): + def _t588(_dollar_dollar): if _dollar_dollar.HasField('undefine'): - _t582 = _dollar_dollar.undefine + _t589 = _dollar_dollar.undefine else: - _t582 = None - return _t582 - _t583 = _t581(msg) - deconstruct_result64 = _t583 + _t589 = None + return _t589 + _t590 = _t588(msg) + deconstruct_result64 = _t590 if deconstruct_result64 is not None: - _t585 = self.pretty_undefine(deconstruct_result64) - _t584 = _t585 + _t592 = self.pretty_undefine(deconstruct_result64) + _t591 = _t592 else: - def _t586(_dollar_dollar): + def _t593(_dollar_dollar): if _dollar_dollar.HasField('context'): - _t587 = _dollar_dollar.context + _t594 = _dollar_dollar.context else: - _t587 = None - return _t587 - _t588 = _t586(msg) - deconstruct_result63 = _t588 + _t594 = None + return _t594 + _t595 = _t593(msg) + deconstruct_result63 = _t595 if deconstruct_result63 is not None: - _t590 = self.pretty_context(deconstruct_result63) - _t589 = _t590 + _t597 = self.pretty_context(deconstruct_result63) + _t596 = _t597 else: raise ParseError('No matching rule for write') - _t584 = _t589 - _t579 = _t584 - return _t579 + _t591 = _t596 + _t586 = _t591 + return _t586 def pretty_define(self, msg: transactions_pb2.Define) -> Optional[NoReturn]: - def _t591(_dollar_dollar): + def _t598(_dollar_dollar): return _dollar_dollar.fragment - _t592 = _t591(msg) - fields66 = _t592 + _t599 = _t598(msg) + fields66 = _t599 assert fields66 is not None unwrapped_fields67 = fields66 self.write('(') self.write('define') self.indent() self.newline() - _t593 = self.pretty_fragment(unwrapped_fields67) + _t600 = self.pretty_fragment(unwrapped_fields67) self.dedent() self.write(')') return None def pretty_fragment(self, msg: fragments_pb2.Fragment) -> Optional[NoReturn]: - def _t594(_dollar_dollar): - _t595 = self.start_pretty_fragment(_dollar_dollar) + def _t601(_dollar_dollar): + _t602 = self.start_pretty_fragment(_dollar_dollar) return (_dollar_dollar.id, _dollar_dollar.declarations,) - _t596 = _t594(msg) - fields68 = _t596 + _t603 = _t601(msg) + fields68 = _t603 assert fields68 is not None unwrapped_fields69 = fields68 self.write('(') @@ -775,101 +742,101 @@ def _t594(_dollar_dollar): self.indent() self.newline() field70 = unwrapped_fields69[0] - _t597 = self.pretty_new_fragment_id(field70) + _t604 = self.pretty_new_fragment_id(field70) field71 = unwrapped_fields69[1] if not len(field71) == 0: self.newline() for i73, elem72 in enumerate(field71): if (i73 > 0): self.newline() - _t598 = self.pretty_declaration(elem72) + _t605 = self.pretty_declaration(elem72) self.dedent() self.write(')') return None def pretty_new_fragment_id(self, msg: fragments_pb2.FragmentId) -> Optional[NoReturn]: - def _t599(_dollar_dollar): + def _t606(_dollar_dollar): return _dollar_dollar - _t600 = _t599(msg) - fields74 = _t600 + _t607 = _t606(msg) + fields74 = _t607 assert fields74 is not None unwrapped_fields75 = fields74 - _t601 = self.pretty_fragment_id(unwrapped_fields75) - return _t601 + _t608 = self.pretty_fragment_id(unwrapped_fields75) + return _t608 def pretty_declaration(self, msg: logic_pb2.Declaration) -> Optional[NoReturn]: - def _t602(_dollar_dollar): + def _t609(_dollar_dollar): if _dollar_dollar.HasField('def'): - _t603 = getattr(_dollar_dollar, 'def') + _t610 = getattr(_dollar_dollar, 'def') else: - _t603 = None - return _t603 - _t604 = _t602(msg) - deconstruct_result79 = _t604 + _t610 = None + return _t610 + _t611 = _t609(msg) + deconstruct_result79 = _t611 if deconstruct_result79 is not None: - _t606 = self.pretty_def(deconstruct_result79) - _t605 = _t606 + _t613 = self.pretty_def(deconstruct_result79) + _t612 = _t613 else: - def _t607(_dollar_dollar): + def _t614(_dollar_dollar): if _dollar_dollar.HasField('algorithm'): - _t608 = _dollar_dollar.algorithm + _t615 = _dollar_dollar.algorithm else: - _t608 = None - return _t608 - _t609 = _t607(msg) - deconstruct_result78 = _t609 + _t615 = None + return _t615 + _t616 = _t614(msg) + deconstruct_result78 = _t616 if deconstruct_result78 is not None: - _t611 = self.pretty_algorithm(deconstruct_result78) - _t610 = _t611 + _t618 = self.pretty_algorithm(deconstruct_result78) + _t617 = _t618 else: - def _t612(_dollar_dollar): + def _t619(_dollar_dollar): if _dollar_dollar.HasField('constraint'): - _t613 = _dollar_dollar.constraint + _t620 = _dollar_dollar.constraint else: - _t613 = None - return _t613 - _t614 = _t612(msg) - deconstruct_result77 = _t614 + _t620 = None + return _t620 + _t621 = _t619(msg) + deconstruct_result77 = _t621 if deconstruct_result77 is not None: - _t616 = self.pretty_constraint(deconstruct_result77) - _t615 = _t616 + _t623 = self.pretty_constraint(deconstruct_result77) + _t622 = _t623 else: - def _t617(_dollar_dollar): + def _t624(_dollar_dollar): if _dollar_dollar.HasField('data'): - _t618 = _dollar_dollar.data + _t625 = _dollar_dollar.data else: - _t618 = None - return _t618 - _t619 = _t617(msg) - deconstruct_result76 = _t619 + _t625 = None + return _t625 + _t626 = _t624(msg) + deconstruct_result76 = _t626 if deconstruct_result76 is not None: - _t621 = self.pretty_data(deconstruct_result76) - _t620 = _t621 + _t628 = self.pretty_data(deconstruct_result76) + _t627 = _t628 else: raise ParseError('No matching rule for declaration') - _t615 = _t620 - _t610 = _t615 - _t605 = _t610 - return _t605 + _t622 = _t627 + _t617 = _t622 + _t612 = _t617 + return _t612 def pretty_def(self, msg: logic_pb2.Def) -> Optional[NoReturn]: - def _t622(_dollar_dollar): + def _t629(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t623 = _dollar_dollar.attrs + _t630 = _dollar_dollar.attrs else: - _t623 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t623,) - _t624 = _t622(msg) - fields80 = _t624 + _t630 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t630,) + _t631 = _t629(msg) + fields80 = _t631 assert fields80 is not None unwrapped_fields81 = fields80 self.write('(') @@ -877,39 +844,39 @@ def _t622(_dollar_dollar): self.indent() self.newline() field82 = unwrapped_fields81[0] - _t625 = self.pretty_relation_id(field82) + _t632 = self.pretty_relation_id(field82) self.newline() field83 = unwrapped_fields81[1] - _t626 = self.pretty_abstraction(field83) + _t633 = self.pretty_abstraction(field83) field84 = unwrapped_fields81[2] if field84 is not None: self.newline() assert field84 is not None opt_val85 = field84 - _t628 = self.pretty_attrs(opt_val85) - _t627 = _t628 + _t635 = self.pretty_attrs(opt_val85) + _t634 = _t635 else: - _t627 = None + _t634 = None self.dedent() self.write(')') return None def pretty_relation_id(self, msg: logic_pb2.RelationId) -> Optional[NoReturn]: - def _t629(_dollar_dollar): - _t630 = self.deconstruct_relation_id_string(_dollar_dollar) - return _t630 - _t631 = _t629(msg) - deconstruct_result87 = _t631 + def _t636(_dollar_dollar): + _t637 = self.deconstruct_relation_id_string(_dollar_dollar) + return _t637 + _t638 = _t636(msg) + deconstruct_result87 = _t638 if deconstruct_result87 is not None: self.write(':') self.write(deconstruct_result87) else: - def _t632(_dollar_dollar): - _t633 = self.deconstruct_relation_id_uint128(_dollar_dollar) - return _t633 - _t634 = _t632(msg) - deconstruct_result86 = _t634 + def _t639(_dollar_dollar): + _t640 = self.deconstruct_relation_id_uint128(_dollar_dollar) + return _t640 + _t641 = _t639(msg) + deconstruct_result86 = _t641 if deconstruct_result86 is not None: self.write(self.format_uint128(deconstruct_result86)) else: @@ -917,32 +884,32 @@ def _t632(_dollar_dollar): return None def pretty_abstraction(self, msg: logic_pb2.Abstraction) -> Optional[NoReturn]: - def _t635(_dollar_dollar): - _t636 = self.deconstruct_bindings(_dollar_dollar) - return (_t636, _dollar_dollar.value,) - _t637 = _t635(msg) - fields88 = _t637 + def _t642(_dollar_dollar): + _t643 = self.deconstruct_bindings(_dollar_dollar) + return (_t643, _dollar_dollar.value,) + _t644 = _t642(msg) + fields88 = _t644 assert fields88 is not None unwrapped_fields89 = fields88 self.write('(') field90 = unwrapped_fields89[0] - _t638 = self.pretty_bindings(field90) + _t645 = self.pretty_bindings(field90) self.write(' ') field91 = unwrapped_fields89[1] - _t639 = self.pretty_formula(field91) + _t646 = self.pretty_formula(field91) self.write(')') return None def pretty_bindings(self, msg: tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]) -> Optional[NoReturn]: - def _t640(_dollar_dollar): + def _t647(_dollar_dollar): if not len(_dollar_dollar[1]) == 0: - _t641 = _dollar_dollar[1] + _t648 = _dollar_dollar[1] else: - _t641 = None - return (_dollar_dollar[0], _t641,) - _t642 = _t640(msg) - fields92 = _t642 + _t648 = None + return (_dollar_dollar[0], _t648,) + _t649 = _t647(msg) + fields92 = _t649 assert fields92 is not None unwrapped_fields93 = fields92 self.write('[') @@ -950,297 +917,297 @@ def _t640(_dollar_dollar): for i96, elem95 in enumerate(field94): if (i96 > 0): self.newline() - _t643 = self.pretty_binding(elem95) + _t650 = self.pretty_binding(elem95) field97 = unwrapped_fields93[1] if field97 is not None: self.write(' ') assert field97 is not None opt_val98 = field97 - _t645 = self.pretty_value_bindings(opt_val98) - _t644 = _t645 + _t652 = self.pretty_value_bindings(opt_val98) + _t651 = _t652 else: - _t644 = None + _t651 = None self.write(']') return None def pretty_binding(self, msg: logic_pb2.Binding) -> Optional[NoReturn]: - def _t646(_dollar_dollar): + def _t653(_dollar_dollar): return (_dollar_dollar.var.name, _dollar_dollar.type,) - _t647 = _t646(msg) - fields99 = _t647 + _t654 = _t653(msg) + fields99 = _t654 assert fields99 is not None unwrapped_fields100 = fields99 field101 = unwrapped_fields100[0] self.write(field101) self.write('::') field102 = unwrapped_fields100[1] - _t648 = self.pretty_type(field102) - return _t648 + _t655 = self.pretty_type(field102) + return _t655 def pretty_type(self, msg: logic_pb2.Type) -> Optional[NoReturn]: - def _t649(_dollar_dollar): + def _t656(_dollar_dollar): if _dollar_dollar.HasField('unspecified_type'): - _t650 = _dollar_dollar.unspecified_type + _t657 = _dollar_dollar.unspecified_type else: - _t650 = None - return _t650 - _t651 = _t649(msg) - deconstruct_result113 = _t651 + _t657 = None + return _t657 + _t658 = _t656(msg) + deconstruct_result113 = _t658 if deconstruct_result113 is not None: - _t653 = self.pretty_unspecified_type(deconstruct_result113) - _t652 = _t653 + _t660 = self.pretty_unspecified_type(deconstruct_result113) + _t659 = _t660 else: - def _t654(_dollar_dollar): + def _t661(_dollar_dollar): if _dollar_dollar.HasField('string_type'): - _t655 = _dollar_dollar.string_type + _t662 = _dollar_dollar.string_type else: - _t655 = None - return _t655 - _t656 = _t654(msg) - deconstruct_result112 = _t656 + _t662 = None + return _t662 + _t663 = _t661(msg) + deconstruct_result112 = _t663 if deconstruct_result112 is not None: - _t658 = self.pretty_string_type(deconstruct_result112) - _t657 = _t658 + _t665 = self.pretty_string_type(deconstruct_result112) + _t664 = _t665 else: - def _t659(_dollar_dollar): + def _t666(_dollar_dollar): if _dollar_dollar.HasField('int_type'): - _t660 = _dollar_dollar.int_type + _t667 = _dollar_dollar.int_type else: - _t660 = None - return _t660 - _t661 = _t659(msg) - deconstruct_result111 = _t661 + _t667 = None + return _t667 + _t668 = _t666(msg) + deconstruct_result111 = _t668 if deconstruct_result111 is not None: - _t663 = self.pretty_int_type(deconstruct_result111) - _t662 = _t663 + _t670 = self.pretty_int_type(deconstruct_result111) + _t669 = _t670 else: - def _t664(_dollar_dollar): + def _t671(_dollar_dollar): if _dollar_dollar.HasField('float_type'): - _t665 = _dollar_dollar.float_type + _t672 = _dollar_dollar.float_type else: - _t665 = None - return _t665 - _t666 = _t664(msg) - deconstruct_result110 = _t666 + _t672 = None + return _t672 + _t673 = _t671(msg) + deconstruct_result110 = _t673 if deconstruct_result110 is not None: - _t668 = self.pretty_float_type(deconstruct_result110) - _t667 = _t668 + _t675 = self.pretty_float_type(deconstruct_result110) + _t674 = _t675 else: - def _t669(_dollar_dollar): + def _t676(_dollar_dollar): if _dollar_dollar.HasField('uint128_type'): - _t670 = _dollar_dollar.uint128_type + _t677 = _dollar_dollar.uint128_type else: - _t670 = None - return _t670 - _t671 = _t669(msg) - deconstruct_result109 = _t671 + _t677 = None + return _t677 + _t678 = _t676(msg) + deconstruct_result109 = _t678 if deconstruct_result109 is not None: - _t673 = self.pretty_uint128_type(deconstruct_result109) - _t672 = _t673 + _t680 = self.pretty_uint128_type(deconstruct_result109) + _t679 = _t680 else: - def _t674(_dollar_dollar): + def _t681(_dollar_dollar): if _dollar_dollar.HasField('int128_type'): - _t675 = _dollar_dollar.int128_type + _t682 = _dollar_dollar.int128_type else: - _t675 = None - return _t675 - _t676 = _t674(msg) - deconstruct_result108 = _t676 + _t682 = None + return _t682 + _t683 = _t681(msg) + deconstruct_result108 = _t683 if deconstruct_result108 is not None: - _t678 = self.pretty_int128_type(deconstruct_result108) - _t677 = _t678 + _t685 = self.pretty_int128_type(deconstruct_result108) + _t684 = _t685 else: - def _t679(_dollar_dollar): + def _t686(_dollar_dollar): if _dollar_dollar.HasField('date_type'): - _t680 = _dollar_dollar.date_type + _t687 = _dollar_dollar.date_type else: - _t680 = None - return _t680 - _t681 = _t679(msg) - deconstruct_result107 = _t681 + _t687 = None + return _t687 + _t688 = _t686(msg) + deconstruct_result107 = _t688 if deconstruct_result107 is not None: - _t683 = self.pretty_date_type(deconstruct_result107) - _t682 = _t683 + _t690 = self.pretty_date_type(deconstruct_result107) + _t689 = _t690 else: - def _t684(_dollar_dollar): + def _t691(_dollar_dollar): if _dollar_dollar.HasField('datetime_type'): - _t685 = _dollar_dollar.datetime_type + _t692 = _dollar_dollar.datetime_type else: - _t685 = None - return _t685 - _t686 = _t684(msg) - deconstruct_result106 = _t686 + _t692 = None + return _t692 + _t693 = _t691(msg) + deconstruct_result106 = _t693 if deconstruct_result106 is not None: - _t688 = self.pretty_datetime_type(deconstruct_result106) - _t687 = _t688 + _t695 = self.pretty_datetime_type(deconstruct_result106) + _t694 = _t695 else: - def _t689(_dollar_dollar): + def _t696(_dollar_dollar): if _dollar_dollar.HasField('missing_type'): - _t690 = _dollar_dollar.missing_type + _t697 = _dollar_dollar.missing_type else: - _t690 = None - return _t690 - _t691 = _t689(msg) - deconstruct_result105 = _t691 + _t697 = None + return _t697 + _t698 = _t696(msg) + deconstruct_result105 = _t698 if deconstruct_result105 is not None: - _t693 = self.pretty_missing_type(deconstruct_result105) - _t692 = _t693 + _t700 = self.pretty_missing_type(deconstruct_result105) + _t699 = _t700 else: - def _t694(_dollar_dollar): + def _t701(_dollar_dollar): if _dollar_dollar.HasField('decimal_type'): - _t695 = _dollar_dollar.decimal_type + _t702 = _dollar_dollar.decimal_type else: - _t695 = None - return _t695 - _t696 = _t694(msg) - deconstruct_result104 = _t696 + _t702 = None + return _t702 + _t703 = _t701(msg) + deconstruct_result104 = _t703 if deconstruct_result104 is not None: - _t698 = self.pretty_decimal_type(deconstruct_result104) - _t697 = _t698 + _t705 = self.pretty_decimal_type(deconstruct_result104) + _t704 = _t705 else: - def _t699(_dollar_dollar): + def _t706(_dollar_dollar): if _dollar_dollar.HasField('boolean_type'): - _t700 = _dollar_dollar.boolean_type + _t707 = _dollar_dollar.boolean_type else: - _t700 = None - return _t700 - _t701 = _t699(msg) - deconstruct_result103 = _t701 + _t707 = None + return _t707 + _t708 = _t706(msg) + deconstruct_result103 = _t708 if deconstruct_result103 is not None: - _t703 = self.pretty_boolean_type(deconstruct_result103) - _t702 = _t703 + _t710 = self.pretty_boolean_type(deconstruct_result103) + _t709 = _t710 else: raise ParseError('No matching rule for type') - _t697 = _t702 - _t692 = _t697 - _t687 = _t692 - _t682 = _t687 - _t677 = _t682 - _t672 = _t677 - _t667 = _t672 - _t662 = _t667 - _t657 = _t662 - _t652 = _t657 - return _t652 + _t704 = _t709 + _t699 = _t704 + _t694 = _t699 + _t689 = _t694 + _t684 = _t689 + _t679 = _t684 + _t674 = _t679 + _t669 = _t674 + _t664 = _t669 + _t659 = _t664 + return _t659 def pretty_unspecified_type(self, msg: logic_pb2.UnspecifiedType) -> Optional[NoReturn]: - def _t704(_dollar_dollar): + def _t711(_dollar_dollar): return _dollar_dollar - _t705 = _t704(msg) - fields114 = _t705 + _t712 = _t711(msg) + fields114 = _t712 assert fields114 is not None unwrapped_fields115 = fields114 self.write('UNKNOWN') return None def pretty_string_type(self, msg: logic_pb2.StringType) -> Optional[NoReturn]: - def _t706(_dollar_dollar): + def _t713(_dollar_dollar): return _dollar_dollar - _t707 = _t706(msg) - fields116 = _t707 + _t714 = _t713(msg) + fields116 = _t714 assert fields116 is not None unwrapped_fields117 = fields116 self.write('STRING') return None def pretty_int_type(self, msg: logic_pb2.IntType) -> Optional[NoReturn]: - def _t708(_dollar_dollar): + def _t715(_dollar_dollar): return _dollar_dollar - _t709 = _t708(msg) - fields118 = _t709 + _t716 = _t715(msg) + fields118 = _t716 assert fields118 is not None unwrapped_fields119 = fields118 self.write('INT') return None def pretty_float_type(self, msg: logic_pb2.FloatType) -> Optional[NoReturn]: - def _t710(_dollar_dollar): + def _t717(_dollar_dollar): return _dollar_dollar - _t711 = _t710(msg) - fields120 = _t711 + _t718 = _t717(msg) + fields120 = _t718 assert fields120 is not None unwrapped_fields121 = fields120 self.write('FLOAT') return None def pretty_uint128_type(self, msg: logic_pb2.UInt128Type) -> Optional[NoReturn]: - def _t712(_dollar_dollar): + def _t719(_dollar_dollar): return _dollar_dollar - _t713 = _t712(msg) - fields122 = _t713 + _t720 = _t719(msg) + fields122 = _t720 assert fields122 is not None unwrapped_fields123 = fields122 self.write('UINT128') return None def pretty_int128_type(self, msg: logic_pb2.Int128Type) -> Optional[NoReturn]: - def _t714(_dollar_dollar): + def _t721(_dollar_dollar): return _dollar_dollar - _t715 = _t714(msg) - fields124 = _t715 + _t722 = _t721(msg) + fields124 = _t722 assert fields124 is not None unwrapped_fields125 = fields124 self.write('INT128') return None def pretty_date_type(self, msg: logic_pb2.DateType) -> Optional[NoReturn]: - def _t716(_dollar_dollar): + def _t723(_dollar_dollar): return _dollar_dollar - _t717 = _t716(msg) - fields126 = _t717 + _t724 = _t723(msg) + fields126 = _t724 assert fields126 is not None unwrapped_fields127 = fields126 self.write('DATE') return None def pretty_datetime_type(self, msg: logic_pb2.DateTimeType) -> Optional[NoReturn]: - def _t718(_dollar_dollar): + def _t725(_dollar_dollar): return _dollar_dollar - _t719 = _t718(msg) - fields128 = _t719 + _t726 = _t725(msg) + fields128 = _t726 assert fields128 is not None unwrapped_fields129 = fields128 self.write('DATETIME') return None def pretty_missing_type(self, msg: logic_pb2.MissingType) -> Optional[NoReturn]: - def _t720(_dollar_dollar): + def _t727(_dollar_dollar): return _dollar_dollar - _t721 = _t720(msg) - fields130 = _t721 + _t728 = _t727(msg) + fields130 = _t728 assert fields130 is not None unwrapped_fields131 = fields130 self.write('MISSING') return None def pretty_decimal_type(self, msg: logic_pb2.DecimalType) -> Optional[NoReturn]: - def _t722(_dollar_dollar): + def _t729(_dollar_dollar): return (int(_dollar_dollar.precision), int(_dollar_dollar.scale),) - _t723 = _t722(msg) - fields132 = _t723 + _t730 = _t729(msg) + fields132 = _t730 assert fields132 is not None unwrapped_fields133 = fields132 self.write('(') @@ -1257,20 +1224,20 @@ def _t722(_dollar_dollar): return None def pretty_boolean_type(self, msg: logic_pb2.BooleanType) -> Optional[NoReturn]: - def _t724(_dollar_dollar): + def _t731(_dollar_dollar): return _dollar_dollar - _t725 = _t724(msg) - fields136 = _t725 + _t732 = _t731(msg) + fields136 = _t732 assert fields136 is not None unwrapped_fields137 = fields136 self.write('BOOLEAN') return None def pretty_value_bindings(self, msg: Sequence[logic_pb2.Binding]) -> Optional[NoReturn]: - def _t726(_dollar_dollar): + def _t733(_dollar_dollar): return _dollar_dollar - _t727 = _t726(msg) - fields138 = _t727 + _t734 = _t733(msg) + fields138 = _t734 assert fields138 is not None unwrapped_fields139 = fields138 self.write('|') @@ -1279,212 +1246,212 @@ def _t726(_dollar_dollar): for i141, elem140 in enumerate(unwrapped_fields139): if (i141 > 0): self.newline() - _t728 = self.pretty_binding(elem140) + _t735 = self.pretty_binding(elem140) return None def pretty_formula(self, msg: logic_pb2.Formula) -> Optional[NoReturn]: - def _t729(_dollar_dollar): + def _t736(_dollar_dollar): if (_dollar_dollar.HasField('conjunction') and len(_dollar_dollar.conjunction.args) == 0): - _t730 = _dollar_dollar.conjunction + _t737 = _dollar_dollar.conjunction else: - _t730 = None - return _t730 - _t731 = _t729(msg) - deconstruct_result154 = _t731 + _t737 = None + return _t737 + _t738 = _t736(msg) + deconstruct_result154 = _t738 if deconstruct_result154 is not None: - _t733 = self.pretty_true(deconstruct_result154) - _t732 = _t733 + _t740 = self.pretty_true(deconstruct_result154) + _t739 = _t740 else: - def _t734(_dollar_dollar): + def _t741(_dollar_dollar): if (_dollar_dollar.HasField('disjunction') and len(_dollar_dollar.disjunction.args) == 0): - _t735 = _dollar_dollar.disjunction + _t742 = _dollar_dollar.disjunction else: - _t735 = None - return _t735 - _t736 = _t734(msg) - deconstruct_result153 = _t736 + _t742 = None + return _t742 + _t743 = _t741(msg) + deconstruct_result153 = _t743 if deconstruct_result153 is not None: - _t738 = self.pretty_false(deconstruct_result153) - _t737 = _t738 + _t745 = self.pretty_false(deconstruct_result153) + _t744 = _t745 else: - def _t739(_dollar_dollar): + def _t746(_dollar_dollar): if _dollar_dollar.HasField('exists'): - _t740 = _dollar_dollar.exists + _t747 = _dollar_dollar.exists else: - _t740 = None - return _t740 - _t741 = _t739(msg) - deconstruct_result152 = _t741 + _t747 = None + return _t747 + _t748 = _t746(msg) + deconstruct_result152 = _t748 if deconstruct_result152 is not None: - _t743 = self.pretty_exists(deconstruct_result152) - _t742 = _t743 + _t750 = self.pretty_exists(deconstruct_result152) + _t749 = _t750 else: - def _t744(_dollar_dollar): + def _t751(_dollar_dollar): if _dollar_dollar.HasField('reduce'): - _t745 = _dollar_dollar.reduce + _t752 = _dollar_dollar.reduce else: - _t745 = None - return _t745 - _t746 = _t744(msg) - deconstruct_result151 = _t746 + _t752 = None + return _t752 + _t753 = _t751(msg) + deconstruct_result151 = _t753 if deconstruct_result151 is not None: - _t748 = self.pretty_reduce(deconstruct_result151) - _t747 = _t748 + _t755 = self.pretty_reduce(deconstruct_result151) + _t754 = _t755 else: - def _t749(_dollar_dollar): + def _t756(_dollar_dollar): if _dollar_dollar.HasField('conjunction'): - _t750 = _dollar_dollar.conjunction + _t757 = _dollar_dollar.conjunction else: - _t750 = None - return _t750 - _t751 = _t749(msg) - deconstruct_result150 = _t751 + _t757 = None + return _t757 + _t758 = _t756(msg) + deconstruct_result150 = _t758 if deconstruct_result150 is not None: - _t753 = self.pretty_conjunction(deconstruct_result150) - _t752 = _t753 + _t760 = self.pretty_conjunction(deconstruct_result150) + _t759 = _t760 else: - def _t754(_dollar_dollar): + def _t761(_dollar_dollar): if _dollar_dollar.HasField('disjunction'): - _t755 = _dollar_dollar.disjunction + _t762 = _dollar_dollar.disjunction else: - _t755 = None - return _t755 - _t756 = _t754(msg) - deconstruct_result149 = _t756 + _t762 = None + return _t762 + _t763 = _t761(msg) + deconstruct_result149 = _t763 if deconstruct_result149 is not None: - _t758 = self.pretty_disjunction(deconstruct_result149) - _t757 = _t758 + _t765 = self.pretty_disjunction(deconstruct_result149) + _t764 = _t765 else: - def _t759(_dollar_dollar): + def _t766(_dollar_dollar): if _dollar_dollar.HasField('not'): - _t760 = getattr(_dollar_dollar, 'not') + _t767 = getattr(_dollar_dollar, 'not') else: - _t760 = None - return _t760 - _t761 = _t759(msg) - deconstruct_result148 = _t761 + _t767 = None + return _t767 + _t768 = _t766(msg) + deconstruct_result148 = _t768 if deconstruct_result148 is not None: - _t763 = self.pretty_not(deconstruct_result148) - _t762 = _t763 + _t770 = self.pretty_not(deconstruct_result148) + _t769 = _t770 else: - def _t764(_dollar_dollar): + def _t771(_dollar_dollar): if _dollar_dollar.HasField('ffi'): - _t765 = _dollar_dollar.ffi + _t772 = _dollar_dollar.ffi else: - _t765 = None - return _t765 - _t766 = _t764(msg) - deconstruct_result147 = _t766 + _t772 = None + return _t772 + _t773 = _t771(msg) + deconstruct_result147 = _t773 if deconstruct_result147 is not None: - _t768 = self.pretty_ffi(deconstruct_result147) - _t767 = _t768 + _t775 = self.pretty_ffi(deconstruct_result147) + _t774 = _t775 else: - def _t769(_dollar_dollar): + def _t776(_dollar_dollar): if _dollar_dollar.HasField('atom'): - _t770 = _dollar_dollar.atom + _t777 = _dollar_dollar.atom else: - _t770 = None - return _t770 - _t771 = _t769(msg) - deconstruct_result146 = _t771 + _t777 = None + return _t777 + _t778 = _t776(msg) + deconstruct_result146 = _t778 if deconstruct_result146 is not None: - _t773 = self.pretty_atom(deconstruct_result146) - _t772 = _t773 + _t780 = self.pretty_atom(deconstruct_result146) + _t779 = _t780 else: - def _t774(_dollar_dollar): + def _t781(_dollar_dollar): if _dollar_dollar.HasField('pragma'): - _t775 = _dollar_dollar.pragma + _t782 = _dollar_dollar.pragma else: - _t775 = None - return _t775 - _t776 = _t774(msg) - deconstruct_result145 = _t776 + _t782 = None + return _t782 + _t783 = _t781(msg) + deconstruct_result145 = _t783 if deconstruct_result145 is not None: - _t778 = self.pretty_pragma(deconstruct_result145) - _t777 = _t778 + _t785 = self.pretty_pragma(deconstruct_result145) + _t784 = _t785 else: - def _t779(_dollar_dollar): + def _t786(_dollar_dollar): if _dollar_dollar.HasField('primitive'): - _t780 = _dollar_dollar.primitive + _t787 = _dollar_dollar.primitive else: - _t780 = None - return _t780 - _t781 = _t779(msg) - deconstruct_result144 = _t781 + _t787 = None + return _t787 + _t788 = _t786(msg) + deconstruct_result144 = _t788 if deconstruct_result144 is not None: - _t783 = self.pretty_primitive(deconstruct_result144) - _t782 = _t783 + _t790 = self.pretty_primitive(deconstruct_result144) + _t789 = _t790 else: - def _t784(_dollar_dollar): + def _t791(_dollar_dollar): if _dollar_dollar.HasField('rel_atom'): - _t785 = _dollar_dollar.rel_atom + _t792 = _dollar_dollar.rel_atom else: - _t785 = None - return _t785 - _t786 = _t784(msg) - deconstruct_result143 = _t786 + _t792 = None + return _t792 + _t793 = _t791(msg) + deconstruct_result143 = _t793 if deconstruct_result143 is not None: - _t788 = self.pretty_rel_atom(deconstruct_result143) - _t787 = _t788 + _t795 = self.pretty_rel_atom(deconstruct_result143) + _t794 = _t795 else: - def _t789(_dollar_dollar): + def _t796(_dollar_dollar): if _dollar_dollar.HasField('cast'): - _t790 = _dollar_dollar.cast + _t797 = _dollar_dollar.cast else: - _t790 = None - return _t790 - _t791 = _t789(msg) - deconstruct_result142 = _t791 + _t797 = None + return _t797 + _t798 = _t796(msg) + deconstruct_result142 = _t798 if deconstruct_result142 is not None: - _t793 = self.pretty_cast(deconstruct_result142) - _t792 = _t793 + _t800 = self.pretty_cast(deconstruct_result142) + _t799 = _t800 else: raise ParseError('No matching rule for formula') - _t787 = _t792 - _t782 = _t787 - _t777 = _t782 - _t772 = _t777 - _t767 = _t772 - _t762 = _t767 - _t757 = _t762 - _t752 = _t757 - _t747 = _t752 - _t742 = _t747 - _t737 = _t742 - _t732 = _t737 - return _t732 + _t794 = _t799 + _t789 = _t794 + _t784 = _t789 + _t779 = _t784 + _t774 = _t779 + _t769 = _t774 + _t764 = _t769 + _t759 = _t764 + _t754 = _t759 + _t749 = _t754 + _t744 = _t749 + _t739 = _t744 + return _t739 def pretty_true(self, msg: logic_pb2.Conjunction) -> Optional[NoReturn]: - def _t794(_dollar_dollar): + def _t801(_dollar_dollar): return _dollar_dollar - _t795 = _t794(msg) - fields155 = _t795 + _t802 = _t801(msg) + fields155 = _t802 assert fields155 is not None unwrapped_fields156 = fields155 self.write('(') @@ -1493,10 +1460,10 @@ def _t794(_dollar_dollar): return None def pretty_false(self, msg: logic_pb2.Disjunction) -> Optional[NoReturn]: - def _t796(_dollar_dollar): + def _t803(_dollar_dollar): return _dollar_dollar - _t797 = _t796(msg) - fields157 = _t797 + _t804 = _t803(msg) + fields157 = _t804 assert fields157 is not None unwrapped_fields158 = fields157 self.write('(') @@ -1505,11 +1472,11 @@ def _t796(_dollar_dollar): return None def pretty_exists(self, msg: logic_pb2.Exists) -> Optional[NoReturn]: - def _t798(_dollar_dollar): - _t799 = self.deconstruct_bindings(_dollar_dollar.body) - return (_t799, _dollar_dollar.body.value,) - _t800 = _t798(msg) - fields159 = _t800 + def _t805(_dollar_dollar): + _t806 = self.deconstruct_bindings(_dollar_dollar.body) + return (_t806, _dollar_dollar.body.value,) + _t807 = _t805(msg) + fields159 = _t807 assert fields159 is not None unwrapped_fields160 = fields159 self.write('(') @@ -1517,19 +1484,19 @@ def _t798(_dollar_dollar): self.indent() self.newline() field161 = unwrapped_fields160[0] - _t801 = self.pretty_bindings(field161) + _t808 = self.pretty_bindings(field161) self.newline() field162 = unwrapped_fields160[1] - _t802 = self.pretty_formula(field162) + _t809 = self.pretty_formula(field162) self.dedent() self.write(')') return None def pretty_reduce(self, msg: logic_pb2.Reduce) -> Optional[NoReturn]: - def _t803(_dollar_dollar): + def _t810(_dollar_dollar): return (_dollar_dollar.op, _dollar_dollar.body, _dollar_dollar.terms,) - _t804 = _t803(msg) - fields163 = _t804 + _t811 = _t810(msg) + fields163 = _t811 assert fields163 is not None unwrapped_fields164 = fields163 self.write('(') @@ -1537,22 +1504,22 @@ def _t803(_dollar_dollar): self.indent() self.newline() field165 = unwrapped_fields164[0] - _t805 = self.pretty_abstraction(field165) + _t812 = self.pretty_abstraction(field165) self.newline() field166 = unwrapped_fields164[1] - _t806 = self.pretty_abstraction(field166) + _t813 = self.pretty_abstraction(field166) self.newline() field167 = unwrapped_fields164[2] - _t807 = self.pretty_terms(field167) + _t814 = self.pretty_terms(field167) self.dedent() self.write(')') return None def pretty_terms(self, msg: Sequence[logic_pb2.Term]) -> Optional[NoReturn]: - def _t808(_dollar_dollar): + def _t815(_dollar_dollar): return _dollar_dollar - _t809 = _t808(msg) - fields168 = _t809 + _t816 = _t815(msg) + fields168 = _t816 assert fields168 is not None unwrapped_fields169 = fields168 self.write('(') @@ -1563,69 +1530,69 @@ def _t808(_dollar_dollar): for i171, elem170 in enumerate(unwrapped_fields169): if (i171 > 0): self.newline() - _t810 = self.pretty_term(elem170) + _t817 = self.pretty_term(elem170) self.dedent() self.write(')') return None def pretty_term(self, msg: logic_pb2.Term) -> Optional[NoReturn]: - def _t811(_dollar_dollar): + def _t818(_dollar_dollar): if _dollar_dollar.HasField('var'): - _t812 = _dollar_dollar.var + _t819 = _dollar_dollar.var else: - _t812 = None - return _t812 - _t813 = _t811(msg) - deconstruct_result173 = _t813 + _t819 = None + return _t819 + _t820 = _t818(msg) + deconstruct_result173 = _t820 if deconstruct_result173 is not None: - _t815 = self.pretty_var(deconstruct_result173) - _t814 = _t815 + _t822 = self.pretty_var(deconstruct_result173) + _t821 = _t822 else: - def _t816(_dollar_dollar): + def _t823(_dollar_dollar): if _dollar_dollar.HasField('constant'): - _t817 = _dollar_dollar.constant + _t824 = _dollar_dollar.constant else: - _t817 = None - return _t817 - _t818 = _t816(msg) - deconstruct_result172 = _t818 + _t824 = None + return _t824 + _t825 = _t823(msg) + deconstruct_result172 = _t825 if deconstruct_result172 is not None: - _t820 = self.pretty_constant(deconstruct_result172) - _t819 = _t820 + _t827 = self.pretty_constant(deconstruct_result172) + _t826 = _t827 else: raise ParseError('No matching rule for term') - _t814 = _t819 - return _t814 + _t821 = _t826 + return _t821 def pretty_var(self, msg: logic_pb2.Var) -> Optional[NoReturn]: - def _t821(_dollar_dollar): + def _t828(_dollar_dollar): return _dollar_dollar.name - _t822 = _t821(msg) - fields174 = _t822 + _t829 = _t828(msg) + fields174 = _t829 assert fields174 is not None unwrapped_fields175 = fields174 self.write(unwrapped_fields175) return None def pretty_constant(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t823(_dollar_dollar): + def _t830(_dollar_dollar): return _dollar_dollar - _t824 = _t823(msg) - fields176 = _t824 + _t831 = _t830(msg) + fields176 = _t831 assert fields176 is not None unwrapped_fields177 = fields176 - _t825 = self.pretty_value(unwrapped_fields177) - return _t825 + _t832 = self.pretty_value(unwrapped_fields177) + return _t832 def pretty_conjunction(self, msg: logic_pb2.Conjunction) -> Optional[NoReturn]: - def _t826(_dollar_dollar): + def _t833(_dollar_dollar): return _dollar_dollar.args - _t827 = _t826(msg) - fields178 = _t827 + _t834 = _t833(msg) + fields178 = _t834 assert fields178 is not None unwrapped_fields179 = fields178 self.write('(') @@ -1636,16 +1603,16 @@ def _t826(_dollar_dollar): for i181, elem180 in enumerate(unwrapped_fields179): if (i181 > 0): self.newline() - _t828 = self.pretty_formula(elem180) + _t835 = self.pretty_formula(elem180) self.dedent() self.write(')') return None def pretty_disjunction(self, msg: logic_pb2.Disjunction) -> Optional[NoReturn]: - def _t829(_dollar_dollar): + def _t836(_dollar_dollar): return _dollar_dollar.args - _t830 = _t829(msg) - fields182 = _t830 + _t837 = _t836(msg) + fields182 = _t837 assert fields182 is not None unwrapped_fields183 = fields182 self.write('(') @@ -1656,32 +1623,32 @@ def _t829(_dollar_dollar): for i185, elem184 in enumerate(unwrapped_fields183): if (i185 > 0): self.newline() - _t831 = self.pretty_formula(elem184) + _t838 = self.pretty_formula(elem184) self.dedent() self.write(')') return None def pretty_not(self, msg: logic_pb2.Not) -> Optional[NoReturn]: - def _t832(_dollar_dollar): + def _t839(_dollar_dollar): return _dollar_dollar.arg - _t833 = _t832(msg) - fields186 = _t833 + _t840 = _t839(msg) + fields186 = _t840 assert fields186 is not None unwrapped_fields187 = fields186 self.write('(') self.write('not') self.indent() self.newline() - _t834 = self.pretty_formula(unwrapped_fields187) + _t841 = self.pretty_formula(unwrapped_fields187) self.dedent() self.write(')') return None def pretty_ffi(self, msg: logic_pb2.FFI) -> Optional[NoReturn]: - def _t835(_dollar_dollar): + def _t842(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.args, _dollar_dollar.terms,) - _t836 = _t835(msg) - fields188 = _t836 + _t843 = _t842(msg) + fields188 = _t843 assert fields188 is not None unwrapped_fields189 = fields188 self.write('(') @@ -1689,22 +1656,22 @@ def _t835(_dollar_dollar): self.indent() self.newline() field190 = unwrapped_fields189[0] - _t837 = self.pretty_name(field190) + _t844 = self.pretty_name(field190) self.newline() field191 = unwrapped_fields189[1] - _t838 = self.pretty_ffi_args(field191) + _t845 = self.pretty_ffi_args(field191) self.newline() field192 = unwrapped_fields189[2] - _t839 = self.pretty_terms(field192) + _t846 = self.pretty_terms(field192) self.dedent() self.write(')') return None def pretty_name(self, msg: str) -> Optional[NoReturn]: - def _t840(_dollar_dollar): + def _t847(_dollar_dollar): return _dollar_dollar - _t841 = _t840(msg) - fields193 = _t841 + _t848 = _t847(msg) + fields193 = _t848 assert fields193 is not None unwrapped_fields194 = fields193 self.write(':') @@ -1712,10 +1679,10 @@ def _t840(_dollar_dollar): return None def pretty_ffi_args(self, msg: Sequence[logic_pb2.Abstraction]) -> Optional[NoReturn]: - def _t842(_dollar_dollar): + def _t849(_dollar_dollar): return _dollar_dollar - _t843 = _t842(msg) - fields195 = _t843 + _t850 = _t849(msg) + fields195 = _t850 assert fields195 is not None unwrapped_fields196 = fields195 self.write('(') @@ -1726,16 +1693,16 @@ def _t842(_dollar_dollar): for i198, elem197 in enumerate(unwrapped_fields196): if (i198 > 0): self.newline() - _t844 = self.pretty_abstraction(elem197) + _t851 = self.pretty_abstraction(elem197) self.dedent() self.write(')') return None def pretty_atom(self, msg: logic_pb2.Atom) -> Optional[NoReturn]: - def _t845(_dollar_dollar): + def _t852(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t846 = _t845(msg) - fields199 = _t846 + _t853 = _t852(msg) + fields199 = _t853 assert fields199 is not None unwrapped_fields200 = fields199 self.write('(') @@ -1743,23 +1710,23 @@ def _t845(_dollar_dollar): self.indent() self.newline() field201 = unwrapped_fields200[0] - _t847 = self.pretty_relation_id(field201) + _t854 = self.pretty_relation_id(field201) field202 = unwrapped_fields200[1] if not len(field202) == 0: self.newline() for i204, elem203 in enumerate(field202): if (i204 > 0): self.newline() - _t848 = self.pretty_term(elem203) + _t855 = self.pretty_term(elem203) self.dedent() self.write(')') return None def pretty_pragma(self, msg: logic_pb2.Pragma) -> Optional[NoReturn]: - def _t849(_dollar_dollar): + def _t856(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t850 = _t849(msg) - fields205 = _t850 + _t857 = _t856(msg) + fields205 = _t857 assert fields205 is not None unwrapped_fields206 = fields205 self.write('(') @@ -1767,149 +1734,149 @@ def _t849(_dollar_dollar): self.indent() self.newline() field207 = unwrapped_fields206[0] - _t851 = self.pretty_name(field207) + _t858 = self.pretty_name(field207) field208 = unwrapped_fields206[1] if not len(field208) == 0: self.newline() for i210, elem209 in enumerate(field208): if (i210 > 0): self.newline() - _t852 = self.pretty_term(elem209) + _t859 = self.pretty_term(elem209) self.dedent() self.write(')') return None def pretty_primitive(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t853(_dollar_dollar): + def _t860(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_eq': - _t854 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t861 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t854 = None - return _t854 - _t855 = _t853(msg) - guard_result225 = _t855 + _t861 = None + return _t861 + _t862 = _t860(msg) + guard_result225 = _t862 if guard_result225 is not None: - _t857 = self.pretty_eq(msg) - _t856 = _t857 + _t864 = self.pretty_eq(msg) + _t863 = _t864 else: - def _t858(_dollar_dollar): + def _t865(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_monotype': - _t859 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t866 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t859 = None - return _t859 - _t860 = _t858(msg) - guard_result224 = _t860 + _t866 = None + return _t866 + _t867 = _t865(msg) + guard_result224 = _t867 if guard_result224 is not None: - _t862 = self.pretty_lt(msg) - _t861 = _t862 + _t869 = self.pretty_lt(msg) + _t868 = _t869 else: - def _t863(_dollar_dollar): + def _t870(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_eq_monotype': - _t864 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t871 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t864 = None - return _t864 - _t865 = _t863(msg) - guard_result223 = _t865 + _t871 = None + return _t871 + _t872 = _t870(msg) + guard_result223 = _t872 if guard_result223 is not None: - _t867 = self.pretty_lt_eq(msg) - _t866 = _t867 + _t874 = self.pretty_lt_eq(msg) + _t873 = _t874 else: - def _t868(_dollar_dollar): + def _t875(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_monotype': - _t869 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t876 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t869 = None - return _t869 - _t870 = _t868(msg) - guard_result222 = _t870 + _t876 = None + return _t876 + _t877 = _t875(msg) + guard_result222 = _t877 if guard_result222 is not None: - _t872 = self.pretty_gt(msg) - _t871 = _t872 + _t879 = self.pretty_gt(msg) + _t878 = _t879 else: - def _t873(_dollar_dollar): + def _t880(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_eq_monotype': - _t874 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t881 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t874 = None - return _t874 - _t875 = _t873(msg) - guard_result221 = _t875 + _t881 = None + return _t881 + _t882 = _t880(msg) + guard_result221 = _t882 if guard_result221 is not None: - _t877 = self.pretty_gt_eq(msg) - _t876 = _t877 + _t884 = self.pretty_gt_eq(msg) + _t883 = _t884 else: - def _t878(_dollar_dollar): + def _t885(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_add_monotype': - _t879 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t886 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t879 = None - return _t879 - _t880 = _t878(msg) - guard_result220 = _t880 + _t886 = None + return _t886 + _t887 = _t885(msg) + guard_result220 = _t887 if guard_result220 is not None: - _t882 = self.pretty_add(msg) - _t881 = _t882 + _t889 = self.pretty_add(msg) + _t888 = _t889 else: - def _t883(_dollar_dollar): + def _t890(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_subtract_monotype': - _t884 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t891 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t884 = None - return _t884 - _t885 = _t883(msg) - guard_result219 = _t885 + _t891 = None + return _t891 + _t892 = _t890(msg) + guard_result219 = _t892 if guard_result219 is not None: - _t887 = self.pretty_minus(msg) - _t886 = _t887 + _t894 = self.pretty_minus(msg) + _t893 = _t894 else: - def _t888(_dollar_dollar): + def _t895(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_multiply_monotype': - _t889 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t896 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t889 = None - return _t889 - _t890 = _t888(msg) - guard_result218 = _t890 + _t896 = None + return _t896 + _t897 = _t895(msg) + guard_result218 = _t897 if guard_result218 is not None: - _t892 = self.pretty_multiply(msg) - _t891 = _t892 + _t899 = self.pretty_multiply(msg) + _t898 = _t899 else: - def _t893(_dollar_dollar): + def _t900(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_divide_monotype': - _t894 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t901 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t894 = None - return _t894 - _t895 = _t893(msg) - guard_result217 = _t895 + _t901 = None + return _t901 + _t902 = _t900(msg) + guard_result217 = _t902 if guard_result217 is not None: - _t897 = self.pretty_divide(msg) - _t896 = _t897 + _t904 = self.pretty_divide(msg) + _t903 = _t904 else: - def _t898(_dollar_dollar): + def _t905(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t899 = _t898(msg) - fields211 = _t899 + _t906 = _t905(msg) + fields211 = _t906 assert fields211 is not None unwrapped_fields212 = fields211 self.write('(') @@ -1917,37 +1884,37 @@ def _t898(_dollar_dollar): self.indent() self.newline() field213 = unwrapped_fields212[0] - _t900 = self.pretty_name(field213) + _t907 = self.pretty_name(field213) field214 = unwrapped_fields212[1] if not len(field214) == 0: self.newline() for i216, elem215 in enumerate(field214): if (i216 > 0): self.newline() - _t901 = self.pretty_rel_term(elem215) + _t908 = self.pretty_rel_term(elem215) self.dedent() self.write(')') - _t896 = None - _t891 = _t896 - _t886 = _t891 - _t881 = _t886 - _t876 = _t881 - _t871 = _t876 - _t866 = _t871 - _t861 = _t866 - _t856 = _t861 - return _t856 + _t903 = None + _t898 = _t903 + _t893 = _t898 + _t888 = _t893 + _t883 = _t888 + _t878 = _t883 + _t873 = _t878 + _t868 = _t873 + _t863 = _t868 + return _t863 def pretty_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t902(_dollar_dollar): + def _t909(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_eq': - _t903 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t910 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t903 = None - return _t903 - _t904 = _t902(msg) - fields226 = _t904 + _t910 = None + return _t910 + _t911 = _t909(msg) + fields226 = _t911 assert fields226 is not None unwrapped_fields227 = fields226 self.write('(') @@ -1955,24 +1922,24 @@ def _t902(_dollar_dollar): self.indent() self.newline() field228 = unwrapped_fields227[0] - _t905 = self.pretty_term(field228) + _t912 = self.pretty_term(field228) self.newline() field229 = unwrapped_fields227[1] - _t906 = self.pretty_term(field229) + _t913 = self.pretty_term(field229) self.dedent() self.write(')') return None def pretty_lt(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t907(_dollar_dollar): + def _t914(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_monotype': - _t908 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t915 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t908 = None - return _t908 - _t909 = _t907(msg) - fields230 = _t909 + _t915 = None + return _t915 + _t916 = _t914(msg) + fields230 = _t916 assert fields230 is not None unwrapped_fields231 = fields230 self.write('(') @@ -1980,24 +1947,24 @@ def _t907(_dollar_dollar): self.indent() self.newline() field232 = unwrapped_fields231[0] - _t910 = self.pretty_term(field232) + _t917 = self.pretty_term(field232) self.newline() field233 = unwrapped_fields231[1] - _t911 = self.pretty_term(field233) + _t918 = self.pretty_term(field233) self.dedent() self.write(')') return None def pretty_lt_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t912(_dollar_dollar): + def _t919(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_eq_monotype': - _t913 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t920 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t913 = None - return _t913 - _t914 = _t912(msg) - fields234 = _t914 + _t920 = None + return _t920 + _t921 = _t919(msg) + fields234 = _t921 assert fields234 is not None unwrapped_fields235 = fields234 self.write('(') @@ -2005,24 +1972,24 @@ def _t912(_dollar_dollar): self.indent() self.newline() field236 = unwrapped_fields235[0] - _t915 = self.pretty_term(field236) + _t922 = self.pretty_term(field236) self.newline() field237 = unwrapped_fields235[1] - _t916 = self.pretty_term(field237) + _t923 = self.pretty_term(field237) self.dedent() self.write(')') return None def pretty_gt(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t917(_dollar_dollar): + def _t924(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_monotype': - _t918 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t925 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t918 = None - return _t918 - _t919 = _t917(msg) - fields238 = _t919 + _t925 = None + return _t925 + _t926 = _t924(msg) + fields238 = _t926 assert fields238 is not None unwrapped_fields239 = fields238 self.write('(') @@ -2030,24 +1997,24 @@ def _t917(_dollar_dollar): self.indent() self.newline() field240 = unwrapped_fields239[0] - _t920 = self.pretty_term(field240) + _t927 = self.pretty_term(field240) self.newline() field241 = unwrapped_fields239[1] - _t921 = self.pretty_term(field241) + _t928 = self.pretty_term(field241) self.dedent() self.write(')') return None def pretty_gt_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t922(_dollar_dollar): + def _t929(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_eq_monotype': - _t923 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t930 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t923 = None - return _t923 - _t924 = _t922(msg) - fields242 = _t924 + _t930 = None + return _t930 + _t931 = _t929(msg) + fields242 = _t931 assert fields242 is not None unwrapped_fields243 = fields242 self.write('(') @@ -2055,24 +2022,24 @@ def _t922(_dollar_dollar): self.indent() self.newline() field244 = unwrapped_fields243[0] - _t925 = self.pretty_term(field244) + _t932 = self.pretty_term(field244) self.newline() field245 = unwrapped_fields243[1] - _t926 = self.pretty_term(field245) + _t933 = self.pretty_term(field245) self.dedent() self.write(')') return None def pretty_add(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t927(_dollar_dollar): + def _t934(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_add_monotype': - _t928 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t935 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t928 = None - return _t928 - _t929 = _t927(msg) - fields246 = _t929 + _t935 = None + return _t935 + _t936 = _t934(msg) + fields246 = _t936 assert fields246 is not None unwrapped_fields247 = fields246 self.write('(') @@ -2080,27 +2047,27 @@ def _t927(_dollar_dollar): self.indent() self.newline() field248 = unwrapped_fields247[0] - _t930 = self.pretty_term(field248) + _t937 = self.pretty_term(field248) self.newline() field249 = unwrapped_fields247[1] - _t931 = self.pretty_term(field249) + _t938 = self.pretty_term(field249) self.newline() field250 = unwrapped_fields247[2] - _t932 = self.pretty_term(field250) + _t939 = self.pretty_term(field250) self.dedent() self.write(')') return None def pretty_minus(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t933(_dollar_dollar): + def _t940(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_subtract_monotype': - _t934 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t941 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t934 = None - return _t934 - _t935 = _t933(msg) - fields251 = _t935 + _t941 = None + return _t941 + _t942 = _t940(msg) + fields251 = _t942 assert fields251 is not None unwrapped_fields252 = fields251 self.write('(') @@ -2108,27 +2075,27 @@ def _t933(_dollar_dollar): self.indent() self.newline() field253 = unwrapped_fields252[0] - _t936 = self.pretty_term(field253) + _t943 = self.pretty_term(field253) self.newline() field254 = unwrapped_fields252[1] - _t937 = self.pretty_term(field254) + _t944 = self.pretty_term(field254) self.newline() field255 = unwrapped_fields252[2] - _t938 = self.pretty_term(field255) + _t945 = self.pretty_term(field255) self.dedent() self.write(')') return None def pretty_multiply(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t939(_dollar_dollar): + def _t946(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_multiply_monotype': - _t940 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t947 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t940 = None - return _t940 - _t941 = _t939(msg) - fields256 = _t941 + _t947 = None + return _t947 + _t948 = _t946(msg) + fields256 = _t948 assert fields256 is not None unwrapped_fields257 = fields256 self.write('(') @@ -2136,27 +2103,27 @@ def _t939(_dollar_dollar): self.indent() self.newline() field258 = unwrapped_fields257[0] - _t942 = self.pretty_term(field258) + _t949 = self.pretty_term(field258) self.newline() field259 = unwrapped_fields257[1] - _t943 = self.pretty_term(field259) + _t950 = self.pretty_term(field259) self.newline() field260 = unwrapped_fields257[2] - _t944 = self.pretty_term(field260) + _t951 = self.pretty_term(field260) self.dedent() self.write(')') return None def pretty_divide(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t945(_dollar_dollar): + def _t952(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_divide_monotype': - _t946 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t953 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t946 = None - return _t946 - _t947 = _t945(msg) - fields261 = _t947 + _t953 = None + return _t953 + _t954 = _t952(msg) + fields261 = _t954 assert fields261 is not None unwrapped_fields262 = fields261 self.write('(') @@ -2164,66 +2131,66 @@ def _t945(_dollar_dollar): self.indent() self.newline() field263 = unwrapped_fields262[0] - _t948 = self.pretty_term(field263) + _t955 = self.pretty_term(field263) self.newline() field264 = unwrapped_fields262[1] - _t949 = self.pretty_term(field264) + _t956 = self.pretty_term(field264) self.newline() field265 = unwrapped_fields262[2] - _t950 = self.pretty_term(field265) + _t957 = self.pretty_term(field265) self.dedent() self.write(')') return None def pretty_rel_term(self, msg: logic_pb2.RelTerm) -> Optional[NoReturn]: - def _t951(_dollar_dollar): + def _t958(_dollar_dollar): if _dollar_dollar.HasField('specialized_value'): - _t952 = _dollar_dollar.specialized_value + _t959 = _dollar_dollar.specialized_value else: - _t952 = None - return _t952 - _t953 = _t951(msg) - deconstruct_result267 = _t953 + _t959 = None + return _t959 + _t960 = _t958(msg) + deconstruct_result267 = _t960 if deconstruct_result267 is not None: - _t955 = self.pretty_specialized_value(deconstruct_result267) - _t954 = _t955 + _t962 = self.pretty_specialized_value(deconstruct_result267) + _t961 = _t962 else: - def _t956(_dollar_dollar): + def _t963(_dollar_dollar): if _dollar_dollar.HasField('term'): - _t957 = _dollar_dollar.term + _t964 = _dollar_dollar.term else: - _t957 = None - return _t957 - _t958 = _t956(msg) - deconstruct_result266 = _t958 + _t964 = None + return _t964 + _t965 = _t963(msg) + deconstruct_result266 = _t965 if deconstruct_result266 is not None: - _t960 = self.pretty_term(deconstruct_result266) - _t959 = _t960 + _t967 = self.pretty_term(deconstruct_result266) + _t966 = _t967 else: raise ParseError('No matching rule for rel_term') - _t954 = _t959 - return _t954 + _t961 = _t966 + return _t961 def pretty_specialized_value(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t961(_dollar_dollar): + def _t968(_dollar_dollar): return _dollar_dollar - _t962 = _t961(msg) - fields268 = _t962 + _t969 = _t968(msg) + fields268 = _t969 assert fields268 is not None unwrapped_fields269 = fields268 self.write('#') - _t963 = self.pretty_value(unwrapped_fields269) - return _t963 + _t970 = self.pretty_value(unwrapped_fields269) + return _t970 def pretty_rel_atom(self, msg: logic_pb2.RelAtom) -> Optional[NoReturn]: - def _t964(_dollar_dollar): + def _t971(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t965 = _t964(msg) - fields270 = _t965 + _t972 = _t971(msg) + fields270 = _t972 assert fields270 is not None unwrapped_fields271 = fields270 self.write('(') @@ -2231,23 +2198,23 @@ def _t964(_dollar_dollar): self.indent() self.newline() field272 = unwrapped_fields271[0] - _t966 = self.pretty_name(field272) + _t973 = self.pretty_name(field272) field273 = unwrapped_fields271[1] if not len(field273) == 0: self.newline() for i275, elem274 in enumerate(field273): if (i275 > 0): self.newline() - _t967 = self.pretty_rel_term(elem274) + _t974 = self.pretty_rel_term(elem274) self.dedent() self.write(')') return None def pretty_cast(self, msg: logic_pb2.Cast) -> Optional[NoReturn]: - def _t968(_dollar_dollar): + def _t975(_dollar_dollar): return (_dollar_dollar.input, _dollar_dollar.result,) - _t969 = _t968(msg) - fields276 = _t969 + _t976 = _t975(msg) + fields276 = _t976 assert fields276 is not None unwrapped_fields277 = fields276 self.write('(') @@ -2255,19 +2222,19 @@ def _t968(_dollar_dollar): self.indent() self.newline() field278 = unwrapped_fields277[0] - _t970 = self.pretty_term(field278) + _t977 = self.pretty_term(field278) self.newline() field279 = unwrapped_fields277[1] - _t971 = self.pretty_term(field279) + _t978 = self.pretty_term(field279) self.dedent() self.write(')') return None def pretty_attrs(self, msg: Sequence[logic_pb2.Attribute]) -> Optional[NoReturn]: - def _t972(_dollar_dollar): + def _t979(_dollar_dollar): return _dollar_dollar - _t973 = _t972(msg) - fields280 = _t973 + _t980 = _t979(msg) + fields280 = _t980 assert fields280 is not None unwrapped_fields281 = fields280 self.write('(') @@ -2278,16 +2245,16 @@ def _t972(_dollar_dollar): for i283, elem282 in enumerate(unwrapped_fields281): if (i283 > 0): self.newline() - _t974 = self.pretty_attribute(elem282) + _t981 = self.pretty_attribute(elem282) self.dedent() self.write(')') return None def pretty_attribute(self, msg: logic_pb2.Attribute) -> Optional[NoReturn]: - def _t975(_dollar_dollar): + def _t982(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.args,) - _t976 = _t975(msg) - fields284 = _t976 + _t983 = _t982(msg) + fields284 = _t983 assert fields284 is not None unwrapped_fields285 = fields284 self.write('(') @@ -2295,23 +2262,23 @@ def _t975(_dollar_dollar): self.indent() self.newline() field286 = unwrapped_fields285[0] - _t977 = self.pretty_name(field286) + _t984 = self.pretty_name(field286) field287 = unwrapped_fields285[1] if not len(field287) == 0: self.newline() for i289, elem288 in enumerate(field287): if (i289 > 0): self.newline() - _t978 = self.pretty_value(elem288) + _t985 = self.pretty_value(elem288) self.dedent() self.write(')') return None def pretty_algorithm(self, msg: logic_pb2.Algorithm) -> Optional[NoReturn]: - def _t979(_dollar_dollar): + def _t986(_dollar_dollar): return (getattr(_dollar_dollar, 'global'), _dollar_dollar.body,) - _t980 = _t979(msg) - fields290 = _t980 + _t987 = _t986(msg) + fields290 = _t987 assert fields290 is not None unwrapped_fields291 = fields290 self.write('(') @@ -2323,19 +2290,19 @@ def _t979(_dollar_dollar): for i294, elem293 in enumerate(field292): if (i294 > 0): self.newline() - _t981 = self.pretty_relation_id(elem293) + _t988 = self.pretty_relation_id(elem293) self.newline() field295 = unwrapped_fields291[1] - _t982 = self.pretty_script(field295) + _t989 = self.pretty_script(field295) self.dedent() self.write(')') return None def pretty_script(self, msg: logic_pb2.Script) -> Optional[NoReturn]: - def _t983(_dollar_dollar): + def _t990(_dollar_dollar): return _dollar_dollar.constructs - _t984 = _t983(msg) - fields296 = _t984 + _t991 = _t990(msg) + fields296 = _t991 assert fields296 is not None unwrapped_fields297 = fields296 self.write('(') @@ -2346,49 +2313,49 @@ def _t983(_dollar_dollar): for i299, elem298 in enumerate(unwrapped_fields297): if (i299 > 0): self.newline() - _t985 = self.pretty_construct(elem298) + _t992 = self.pretty_construct(elem298) self.dedent() self.write(')') return None def pretty_construct(self, msg: logic_pb2.Construct) -> Optional[NoReturn]: - def _t986(_dollar_dollar): + def _t993(_dollar_dollar): if _dollar_dollar.HasField('loop'): - _t987 = _dollar_dollar.loop + _t994 = _dollar_dollar.loop else: - _t987 = None - return _t987 - _t988 = _t986(msg) - deconstruct_result301 = _t988 + _t994 = None + return _t994 + _t995 = _t993(msg) + deconstruct_result301 = _t995 if deconstruct_result301 is not None: - _t990 = self.pretty_loop(deconstruct_result301) - _t989 = _t990 + _t997 = self.pretty_loop(deconstruct_result301) + _t996 = _t997 else: - def _t991(_dollar_dollar): + def _t998(_dollar_dollar): if _dollar_dollar.HasField('instruction'): - _t992 = _dollar_dollar.instruction + _t999 = _dollar_dollar.instruction else: - _t992 = None - return _t992 - _t993 = _t991(msg) - deconstruct_result300 = _t993 + _t999 = None + return _t999 + _t1000 = _t998(msg) + deconstruct_result300 = _t1000 if deconstruct_result300 is not None: - _t995 = self.pretty_instruction(deconstruct_result300) - _t994 = _t995 + _t1002 = self.pretty_instruction(deconstruct_result300) + _t1001 = _t1002 else: raise ParseError('No matching rule for construct') - _t989 = _t994 - return _t989 + _t996 = _t1001 + return _t996 def pretty_loop(self, msg: logic_pb2.Loop) -> Optional[NoReturn]: - def _t996(_dollar_dollar): + def _t1003(_dollar_dollar): return (_dollar_dollar.init, _dollar_dollar.body,) - _t997 = _t996(msg) - fields302 = _t997 + _t1004 = _t1003(msg) + fields302 = _t1004 assert fields302 is not None unwrapped_fields303 = fields302 self.write('(') @@ -2396,19 +2363,19 @@ def _t996(_dollar_dollar): self.indent() self.newline() field304 = unwrapped_fields303[0] - _t998 = self.pretty_init(field304) + _t1005 = self.pretty_init(field304) self.newline() field305 = unwrapped_fields303[1] - _t999 = self.pretty_script(field305) + _t1006 = self.pretty_script(field305) self.dedent() self.write(')') return None def pretty_init(self, msg: Sequence[logic_pb2.Instruction]) -> Optional[NoReturn]: - def _t1000(_dollar_dollar): + def _t1007(_dollar_dollar): return _dollar_dollar - _t1001 = _t1000(msg) - fields306 = _t1001 + _t1008 = _t1007(msg) + fields306 = _t1008 assert fields306 is not None unwrapped_fields307 = fields306 self.write('(') @@ -2419,99 +2386,99 @@ def _t1000(_dollar_dollar): for i309, elem308 in enumerate(unwrapped_fields307): if (i309 > 0): self.newline() - _t1002 = self.pretty_instruction(elem308) + _t1009 = self.pretty_instruction(elem308) self.dedent() self.write(')') return None def pretty_instruction(self, msg: logic_pb2.Instruction) -> Optional[NoReturn]: - def _t1003(_dollar_dollar): + def _t1010(_dollar_dollar): if _dollar_dollar.HasField('assign'): - _t1004 = _dollar_dollar.assign + _t1011 = _dollar_dollar.assign else: - _t1004 = None - return _t1004 - _t1005 = _t1003(msg) - deconstruct_result314 = _t1005 + _t1011 = None + return _t1011 + _t1012 = _t1010(msg) + deconstruct_result314 = _t1012 if deconstruct_result314 is not None: - _t1007 = self.pretty_assign(deconstruct_result314) - _t1006 = _t1007 + _t1014 = self.pretty_assign(deconstruct_result314) + _t1013 = _t1014 else: - def _t1008(_dollar_dollar): + def _t1015(_dollar_dollar): if _dollar_dollar.HasField('upsert'): - _t1009 = _dollar_dollar.upsert + _t1016 = _dollar_dollar.upsert else: - _t1009 = None - return _t1009 - _t1010 = _t1008(msg) - deconstruct_result313 = _t1010 + _t1016 = None + return _t1016 + _t1017 = _t1015(msg) + deconstruct_result313 = _t1017 if deconstruct_result313 is not None: - _t1012 = self.pretty_upsert(deconstruct_result313) - _t1011 = _t1012 + _t1019 = self.pretty_upsert(deconstruct_result313) + _t1018 = _t1019 else: - def _t1013(_dollar_dollar): + def _t1020(_dollar_dollar): if _dollar_dollar.HasField('break'): - _t1014 = getattr(_dollar_dollar, 'break') + _t1021 = getattr(_dollar_dollar, 'break') else: - _t1014 = None - return _t1014 - _t1015 = _t1013(msg) - deconstruct_result312 = _t1015 + _t1021 = None + return _t1021 + _t1022 = _t1020(msg) + deconstruct_result312 = _t1022 if deconstruct_result312 is not None: - _t1017 = self.pretty_break(deconstruct_result312) - _t1016 = _t1017 + _t1024 = self.pretty_break(deconstruct_result312) + _t1023 = _t1024 else: - def _t1018(_dollar_dollar): + def _t1025(_dollar_dollar): if _dollar_dollar.HasField('monoid_def'): - _t1019 = _dollar_dollar.monoid_def + _t1026 = _dollar_dollar.monoid_def else: - _t1019 = None - return _t1019 - _t1020 = _t1018(msg) - deconstruct_result311 = _t1020 + _t1026 = None + return _t1026 + _t1027 = _t1025(msg) + deconstruct_result311 = _t1027 if deconstruct_result311 is not None: - _t1022 = self.pretty_monoid_def(deconstruct_result311) - _t1021 = _t1022 + _t1029 = self.pretty_monoid_def(deconstruct_result311) + _t1028 = _t1029 else: - def _t1023(_dollar_dollar): + def _t1030(_dollar_dollar): if _dollar_dollar.HasField('monus_def'): - _t1024 = _dollar_dollar.monus_def + _t1031 = _dollar_dollar.monus_def else: - _t1024 = None - return _t1024 - _t1025 = _t1023(msg) - deconstruct_result310 = _t1025 + _t1031 = None + return _t1031 + _t1032 = _t1030(msg) + deconstruct_result310 = _t1032 if deconstruct_result310 is not None: - _t1027 = self.pretty_monus_def(deconstruct_result310) - _t1026 = _t1027 + _t1034 = self.pretty_monus_def(deconstruct_result310) + _t1033 = _t1034 else: raise ParseError('No matching rule for instruction') - _t1021 = _t1026 - _t1016 = _t1021 - _t1011 = _t1016 - _t1006 = _t1011 - return _t1006 + _t1028 = _t1033 + _t1023 = _t1028 + _t1018 = _t1023 + _t1013 = _t1018 + return _t1013 def pretty_assign(self, msg: logic_pb2.Assign) -> Optional[NoReturn]: - def _t1028(_dollar_dollar): + def _t1035(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1029 = _dollar_dollar.attrs + _t1036 = _dollar_dollar.attrs else: - _t1029 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t1029,) - _t1030 = _t1028(msg) - fields315 = _t1030 + _t1036 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t1036,) + _t1037 = _t1035(msg) + fields315 = _t1037 assert fields315 is not None unwrapped_fields316 = fields315 self.write('(') @@ -2519,34 +2486,34 @@ def _t1028(_dollar_dollar): self.indent() self.newline() field317 = unwrapped_fields316[0] - _t1031 = self.pretty_relation_id(field317) + _t1038 = self.pretty_relation_id(field317) self.newline() field318 = unwrapped_fields316[1] - _t1032 = self.pretty_abstraction(field318) + _t1039 = self.pretty_abstraction(field318) field319 = unwrapped_fields316[2] if field319 is not None: self.newline() assert field319 is not None opt_val320 = field319 - _t1034 = self.pretty_attrs(opt_val320) - _t1033 = _t1034 + _t1041 = self.pretty_attrs(opt_val320) + _t1040 = _t1041 else: - _t1033 = None + _t1040 = None self.dedent() self.write(')') return None def pretty_upsert(self, msg: logic_pb2.Upsert) -> Optional[NoReturn]: - def _t1035(_dollar_dollar): + def _t1042(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1036 = _dollar_dollar.attrs + _t1043 = _dollar_dollar.attrs else: - _t1036 = None - return (_dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1036,) - _t1037 = _t1035(msg) - fields321 = _t1037 + _t1043 = None + return (_dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1043,) + _t1044 = _t1042(msg) + fields321 = _t1044 assert fields321 is not None unwrapped_fields322 = fields321 self.write('(') @@ -2554,51 +2521,51 @@ def _t1035(_dollar_dollar): self.indent() self.newline() field323 = unwrapped_fields322[0] - _t1038 = self.pretty_relation_id(field323) + _t1045 = self.pretty_relation_id(field323) self.newline() field324 = unwrapped_fields322[1] - _t1039 = self.pretty_abstraction_with_arity(field324) + _t1046 = self.pretty_abstraction_with_arity(field324) field325 = unwrapped_fields322[2] if field325 is not None: self.newline() assert field325 is not None opt_val326 = field325 - _t1041 = self.pretty_attrs(opt_val326) - _t1040 = _t1041 + _t1048 = self.pretty_attrs(opt_val326) + _t1047 = _t1048 else: - _t1040 = None + _t1047 = None self.dedent() self.write(')') return None def pretty_abstraction_with_arity(self, msg: tuple[logic_pb2.Abstraction, int]) -> Optional[NoReturn]: - def _t1042(_dollar_dollar): - _t1043 = self.deconstruct_bindings_with_arity(_dollar_dollar[0], _dollar_dollar[1]) - return (_t1043, _dollar_dollar[0].value,) - _t1044 = _t1042(msg) - fields327 = _t1044 + def _t1049(_dollar_dollar): + _t1050 = self.deconstruct_bindings_with_arity(_dollar_dollar[0], _dollar_dollar[1]) + return (_t1050, _dollar_dollar[0].value,) + _t1051 = _t1049(msg) + fields327 = _t1051 assert fields327 is not None unwrapped_fields328 = fields327 self.write('(') field329 = unwrapped_fields328[0] - _t1045 = self.pretty_bindings(field329) + _t1052 = self.pretty_bindings(field329) self.write(' ') field330 = unwrapped_fields328[1] - _t1046 = self.pretty_formula(field330) + _t1053 = self.pretty_formula(field330) self.write(')') return None def pretty_break(self, msg: logic_pb2.Break) -> Optional[NoReturn]: - def _t1047(_dollar_dollar): + def _t1054(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1048 = _dollar_dollar.attrs + _t1055 = _dollar_dollar.attrs else: - _t1048 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t1048,) - _t1049 = _t1047(msg) - fields331 = _t1049 + _t1055 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t1055,) + _t1056 = _t1054(msg) + fields331 = _t1056 assert fields331 is not None unwrapped_fields332 = fields331 self.write('(') @@ -2606,34 +2573,34 @@ def _t1047(_dollar_dollar): self.indent() self.newline() field333 = unwrapped_fields332[0] - _t1050 = self.pretty_relation_id(field333) + _t1057 = self.pretty_relation_id(field333) self.newline() field334 = unwrapped_fields332[1] - _t1051 = self.pretty_abstraction(field334) + _t1058 = self.pretty_abstraction(field334) field335 = unwrapped_fields332[2] if field335 is not None: self.newline() assert field335 is not None opt_val336 = field335 - _t1053 = self.pretty_attrs(opt_val336) - _t1052 = _t1053 + _t1060 = self.pretty_attrs(opt_val336) + _t1059 = _t1060 else: - _t1052 = None + _t1059 = None self.dedent() self.write(')') return None def pretty_monoid_def(self, msg: logic_pb2.MonoidDef) -> Optional[NoReturn]: - def _t1054(_dollar_dollar): + def _t1061(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1055 = _dollar_dollar.attrs + _t1062 = _dollar_dollar.attrs else: - _t1055 = None - return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1055,) - _t1056 = _t1054(msg) - fields337 = _t1056 + _t1062 = None + return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1062,) + _t1063 = _t1061(msg) + fields337 = _t1063 assert fields337 is not None unwrapped_fields338 = fields337 self.write('(') @@ -2641,95 +2608,95 @@ def _t1054(_dollar_dollar): self.indent() self.newline() field339 = unwrapped_fields338[0] - _t1057 = self.pretty_monoid(field339) + _t1064 = self.pretty_monoid(field339) self.newline() field340 = unwrapped_fields338[1] - _t1058 = self.pretty_relation_id(field340) + _t1065 = self.pretty_relation_id(field340) self.newline() field341 = unwrapped_fields338[2] - _t1059 = self.pretty_abstraction_with_arity(field341) + _t1066 = self.pretty_abstraction_with_arity(field341) field342 = unwrapped_fields338[3] if field342 is not None: self.newline() assert field342 is not None opt_val343 = field342 - _t1061 = self.pretty_attrs(opt_val343) - _t1060 = _t1061 + _t1068 = self.pretty_attrs(opt_val343) + _t1067 = _t1068 else: - _t1060 = None + _t1067 = None self.dedent() self.write(')') return None def pretty_monoid(self, msg: logic_pb2.Monoid) -> Optional[NoReturn]: - def _t1062(_dollar_dollar): + def _t1069(_dollar_dollar): if _dollar_dollar.HasField('or_monoid'): - _t1063 = _dollar_dollar.or_monoid + _t1070 = _dollar_dollar.or_monoid else: - _t1063 = None - return _t1063 - _t1064 = _t1062(msg) - deconstruct_result347 = _t1064 + _t1070 = None + return _t1070 + _t1071 = _t1069(msg) + deconstruct_result347 = _t1071 if deconstruct_result347 is not None: - _t1066 = self.pretty_or_monoid(deconstruct_result347) - _t1065 = _t1066 + _t1073 = self.pretty_or_monoid(deconstruct_result347) + _t1072 = _t1073 else: - def _t1067(_dollar_dollar): + def _t1074(_dollar_dollar): if _dollar_dollar.HasField('min_monoid'): - _t1068 = _dollar_dollar.min_monoid + _t1075 = _dollar_dollar.min_monoid else: - _t1068 = None - return _t1068 - _t1069 = _t1067(msg) - deconstruct_result346 = _t1069 + _t1075 = None + return _t1075 + _t1076 = _t1074(msg) + deconstruct_result346 = _t1076 if deconstruct_result346 is not None: - _t1071 = self.pretty_min_monoid(deconstruct_result346) - _t1070 = _t1071 + _t1078 = self.pretty_min_monoid(deconstruct_result346) + _t1077 = _t1078 else: - def _t1072(_dollar_dollar): + def _t1079(_dollar_dollar): if _dollar_dollar.HasField('max_monoid'): - _t1073 = _dollar_dollar.max_monoid + _t1080 = _dollar_dollar.max_monoid else: - _t1073 = None - return _t1073 - _t1074 = _t1072(msg) - deconstruct_result345 = _t1074 + _t1080 = None + return _t1080 + _t1081 = _t1079(msg) + deconstruct_result345 = _t1081 if deconstruct_result345 is not None: - _t1076 = self.pretty_max_monoid(deconstruct_result345) - _t1075 = _t1076 + _t1083 = self.pretty_max_monoid(deconstruct_result345) + _t1082 = _t1083 else: - def _t1077(_dollar_dollar): + def _t1084(_dollar_dollar): if _dollar_dollar.HasField('sum_monoid'): - _t1078 = _dollar_dollar.sum_monoid + _t1085 = _dollar_dollar.sum_monoid else: - _t1078 = None - return _t1078 - _t1079 = _t1077(msg) - deconstruct_result344 = _t1079 + _t1085 = None + return _t1085 + _t1086 = _t1084(msg) + deconstruct_result344 = _t1086 if deconstruct_result344 is not None: - _t1081 = self.pretty_sum_monoid(deconstruct_result344) - _t1080 = _t1081 + _t1088 = self.pretty_sum_monoid(deconstruct_result344) + _t1087 = _t1088 else: raise ParseError('No matching rule for monoid') - _t1075 = _t1080 - _t1070 = _t1075 - _t1065 = _t1070 - return _t1065 + _t1082 = _t1087 + _t1077 = _t1082 + _t1072 = _t1077 + return _t1072 def pretty_or_monoid(self, msg: logic_pb2.OrMonoid) -> Optional[NoReturn]: - def _t1082(_dollar_dollar): + def _t1089(_dollar_dollar): return _dollar_dollar - _t1083 = _t1082(msg) - fields348 = _t1083 + _t1090 = _t1089(msg) + fields348 = _t1090 assert fields348 is not None unwrapped_fields349 = fields348 self.write('(') @@ -2738,63 +2705,63 @@ def _t1082(_dollar_dollar): return None def pretty_min_monoid(self, msg: logic_pb2.MinMonoid) -> Optional[NoReturn]: - def _t1084(_dollar_dollar): + def _t1091(_dollar_dollar): return _dollar_dollar.type - _t1085 = _t1084(msg) - fields350 = _t1085 + _t1092 = _t1091(msg) + fields350 = _t1092 assert fields350 is not None unwrapped_fields351 = fields350 self.write('(') self.write('min') self.indent() self.newline() - _t1086 = self.pretty_type(unwrapped_fields351) + _t1093 = self.pretty_type(unwrapped_fields351) self.dedent() self.write(')') return None def pretty_max_monoid(self, msg: logic_pb2.MaxMonoid) -> Optional[NoReturn]: - def _t1087(_dollar_dollar): + def _t1094(_dollar_dollar): return _dollar_dollar.type - _t1088 = _t1087(msg) - fields352 = _t1088 + _t1095 = _t1094(msg) + fields352 = _t1095 assert fields352 is not None unwrapped_fields353 = fields352 self.write('(') self.write('max') self.indent() self.newline() - _t1089 = self.pretty_type(unwrapped_fields353) + _t1096 = self.pretty_type(unwrapped_fields353) self.dedent() self.write(')') return None def pretty_sum_monoid(self, msg: logic_pb2.SumMonoid) -> Optional[NoReturn]: - def _t1090(_dollar_dollar): + def _t1097(_dollar_dollar): return _dollar_dollar.type - _t1091 = _t1090(msg) - fields354 = _t1091 + _t1098 = _t1097(msg) + fields354 = _t1098 assert fields354 is not None unwrapped_fields355 = fields354 self.write('(') self.write('sum') self.indent() self.newline() - _t1092 = self.pretty_type(unwrapped_fields355) + _t1099 = self.pretty_type(unwrapped_fields355) self.dedent() self.write(')') return None def pretty_monus_def(self, msg: logic_pb2.MonusDef) -> Optional[NoReturn]: - def _t1093(_dollar_dollar): + def _t1100(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1094 = _dollar_dollar.attrs + _t1101 = _dollar_dollar.attrs else: - _t1094 = None - return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1094,) - _t1095 = _t1093(msg) - fields356 = _t1095 + _t1101 = None + return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1101,) + _t1102 = _t1100(msg) + fields356 = _t1102 assert fields356 is not None unwrapped_fields357 = fields356 self.write('(') @@ -2802,32 +2769,32 @@ def _t1093(_dollar_dollar): self.indent() self.newline() field358 = unwrapped_fields357[0] - _t1096 = self.pretty_monoid(field358) + _t1103 = self.pretty_monoid(field358) self.newline() field359 = unwrapped_fields357[1] - _t1097 = self.pretty_relation_id(field359) + _t1104 = self.pretty_relation_id(field359) self.newline() field360 = unwrapped_fields357[2] - _t1098 = self.pretty_abstraction_with_arity(field360) + _t1105 = self.pretty_abstraction_with_arity(field360) field361 = unwrapped_fields357[3] if field361 is not None: self.newline() assert field361 is not None opt_val362 = field361 - _t1100 = self.pretty_attrs(opt_val362) - _t1099 = _t1100 + _t1107 = self.pretty_attrs(opt_val362) + _t1106 = _t1107 else: - _t1099 = None + _t1106 = None self.dedent() self.write(')') return None def pretty_constraint(self, msg: logic_pb2.Constraint) -> Optional[NoReturn]: - def _t1101(_dollar_dollar): + def _t1108(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.functional_dependency.guard, _dollar_dollar.functional_dependency.keys, _dollar_dollar.functional_dependency.values,) - _t1102 = _t1101(msg) - fields363 = _t1102 + _t1109 = _t1108(msg) + fields363 = _t1109 assert fields363 is not None unwrapped_fields364 = fields363 self.write('(') @@ -2835,25 +2802,25 @@ def _t1101(_dollar_dollar): self.indent() self.newline() field365 = unwrapped_fields364[0] - _t1103 = self.pretty_relation_id(field365) + _t1110 = self.pretty_relation_id(field365) self.newline() field366 = unwrapped_fields364[1] - _t1104 = self.pretty_abstraction(field366) + _t1111 = self.pretty_abstraction(field366) self.newline() field367 = unwrapped_fields364[2] - _t1105 = self.pretty_functional_dependency_keys(field367) + _t1112 = self.pretty_functional_dependency_keys(field367) self.newline() field368 = unwrapped_fields364[3] - _t1106 = self.pretty_functional_dependency_values(field368) + _t1113 = self.pretty_functional_dependency_values(field368) self.dedent() self.write(')') return None def pretty_functional_dependency_keys(self, msg: Sequence[logic_pb2.Var]) -> Optional[NoReturn]: - def _t1107(_dollar_dollar): + def _t1114(_dollar_dollar): return _dollar_dollar - _t1108 = _t1107(msg) - fields369 = _t1108 + _t1115 = _t1114(msg) + fields369 = _t1115 assert fields369 is not None unwrapped_fields370 = fields369 self.write('(') @@ -2864,16 +2831,16 @@ def _t1107(_dollar_dollar): for i372, elem371 in enumerate(unwrapped_fields370): if (i372 > 0): self.newline() - _t1109 = self.pretty_var(elem371) + _t1116 = self.pretty_var(elem371) self.dedent() self.write(')') return None def pretty_functional_dependency_values(self, msg: Sequence[logic_pb2.Var]) -> Optional[NoReturn]: - def _t1110(_dollar_dollar): + def _t1117(_dollar_dollar): return _dollar_dollar - _t1111 = _t1110(msg) - fields373 = _t1111 + _t1118 = _t1117(msg) + fields373 = _t1118 assert fields373 is not None unwrapped_fields374 = fields373 self.write('(') @@ -2884,64 +2851,64 @@ def _t1110(_dollar_dollar): for i376, elem375 in enumerate(unwrapped_fields374): if (i376 > 0): self.newline() - _t1112 = self.pretty_var(elem375) + _t1119 = self.pretty_var(elem375) self.dedent() self.write(')') return None def pretty_data(self, msg: logic_pb2.Data) -> Optional[NoReturn]: - def _t1113(_dollar_dollar): + def _t1120(_dollar_dollar): if _dollar_dollar.HasField('rel_edb'): - _t1114 = _dollar_dollar.rel_edb + _t1121 = _dollar_dollar.rel_edb else: - _t1114 = None - return _t1114 - _t1115 = _t1113(msg) - deconstruct_result379 = _t1115 + _t1121 = None + return _t1121 + _t1122 = _t1120(msg) + deconstruct_result379 = _t1122 if deconstruct_result379 is not None: - _t1117 = self.pretty_rel_edb(deconstruct_result379) - _t1116 = _t1117 + _t1124 = self.pretty_rel_edb(deconstruct_result379) + _t1123 = _t1124 else: - def _t1118(_dollar_dollar): + def _t1125(_dollar_dollar): if _dollar_dollar.HasField('betree_relation'): - _t1119 = _dollar_dollar.betree_relation + _t1126 = _dollar_dollar.betree_relation else: - _t1119 = None - return _t1119 - _t1120 = _t1118(msg) - deconstruct_result378 = _t1120 + _t1126 = None + return _t1126 + _t1127 = _t1125(msg) + deconstruct_result378 = _t1127 if deconstruct_result378 is not None: - _t1122 = self.pretty_betree_relation(deconstruct_result378) - _t1121 = _t1122 + _t1129 = self.pretty_betree_relation(deconstruct_result378) + _t1128 = _t1129 else: - def _t1123(_dollar_dollar): + def _t1130(_dollar_dollar): if _dollar_dollar.HasField('csv_data'): - _t1124 = _dollar_dollar.csv_data + _t1131 = _dollar_dollar.csv_data else: - _t1124 = None - return _t1124 - _t1125 = _t1123(msg) - deconstruct_result377 = _t1125 + _t1131 = None + return _t1131 + _t1132 = _t1130(msg) + deconstruct_result377 = _t1132 if deconstruct_result377 is not None: - _t1127 = self.pretty_csv_data(deconstruct_result377) - _t1126 = _t1127 + _t1134 = self.pretty_csv_data(deconstruct_result377) + _t1133 = _t1134 else: raise ParseError('No matching rule for data') - _t1121 = _t1126 - _t1116 = _t1121 - return _t1116 + _t1128 = _t1133 + _t1123 = _t1128 + return _t1123 def pretty_rel_edb(self, msg: logic_pb2.RelEDB) -> Optional[NoReturn]: - def _t1128(_dollar_dollar): + def _t1135(_dollar_dollar): return (_dollar_dollar.target_id, _dollar_dollar.path, _dollar_dollar.types,) - _t1129 = _t1128(msg) - fields380 = _t1129 + _t1136 = _t1135(msg) + fields380 = _t1136 assert fields380 is not None unwrapped_fields381 = fields380 self.write('(') @@ -2949,22 +2916,22 @@ def _t1128(_dollar_dollar): self.indent() self.newline() field382 = unwrapped_fields381[0] - _t1130 = self.pretty_relation_id(field382) + _t1137 = self.pretty_relation_id(field382) self.newline() field383 = unwrapped_fields381[1] - _t1131 = self.pretty_rel_edb_path(field383) + _t1138 = self.pretty_rel_edb_path(field383) self.newline() field384 = unwrapped_fields381[2] - _t1132 = self.pretty_rel_edb_types(field384) + _t1139 = self.pretty_rel_edb_types(field384) self.dedent() self.write(')') return None def pretty_rel_edb_path(self, msg: Sequence[str]) -> Optional[NoReturn]: - def _t1133(_dollar_dollar): + def _t1140(_dollar_dollar): return _dollar_dollar - _t1134 = _t1133(msg) - fields385 = _t1134 + _t1141 = _t1140(msg) + fields385 = _t1141 assert fields385 is not None unwrapped_fields386 = fields385 self.write('[') @@ -2976,25 +2943,25 @@ def _t1133(_dollar_dollar): return None def pretty_rel_edb_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1135(_dollar_dollar): + def _t1142(_dollar_dollar): return _dollar_dollar - _t1136 = _t1135(msg) - fields389 = _t1136 + _t1143 = _t1142(msg) + fields389 = _t1143 assert fields389 is not None unwrapped_fields390 = fields389 self.write('[') for i392, elem391 in enumerate(unwrapped_fields390): if (i392 > 0): self.newline() - _t1137 = self.pretty_type(elem391) + _t1144 = self.pretty_type(elem391) self.write(']') return None def pretty_betree_relation(self, msg: logic_pb2.BeTreeRelation) -> Optional[NoReturn]: - def _t1138(_dollar_dollar): + def _t1145(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.relation_info,) - _t1139 = _t1138(msg) - fields393 = _t1139 + _t1146 = _t1145(msg) + fields393 = _t1146 assert fields393 is not None unwrapped_fields394 = fields393 self.write('(') @@ -3002,20 +2969,20 @@ def _t1138(_dollar_dollar): self.indent() self.newline() field395 = unwrapped_fields394[0] - _t1140 = self.pretty_relation_id(field395) + _t1147 = self.pretty_relation_id(field395) self.newline() field396 = unwrapped_fields394[1] - _t1141 = self.pretty_betree_info(field396) + _t1148 = self.pretty_betree_info(field396) self.dedent() self.write(')') return None def pretty_betree_info(self, msg: logic_pb2.BeTreeInfo) -> Optional[NoReturn]: - def _t1142(_dollar_dollar): - _t1143 = self.deconstruct_betree_info_config(_dollar_dollar) - return (_dollar_dollar.key_types, _dollar_dollar.value_types, _t1143,) - _t1144 = _t1142(msg) - fields397 = _t1144 + def _t1149(_dollar_dollar): + _t1150 = self.deconstruct_betree_info_config(_dollar_dollar) + return (_dollar_dollar.key_types, _dollar_dollar.value_types, _t1150,) + _t1151 = _t1149(msg) + fields397 = _t1151 assert fields397 is not None unwrapped_fields398 = fields397 self.write('(') @@ -3023,22 +2990,22 @@ def _t1142(_dollar_dollar): self.indent() self.newline() field399 = unwrapped_fields398[0] - _t1145 = self.pretty_betree_info_key_types(field399) + _t1152 = self.pretty_betree_info_key_types(field399) self.newline() field400 = unwrapped_fields398[1] - _t1146 = self.pretty_betree_info_value_types(field400) + _t1153 = self.pretty_betree_info_value_types(field400) self.newline() field401 = unwrapped_fields398[2] - _t1147 = self.pretty_config_dict(field401) + _t1154 = self.pretty_config_dict(field401) self.dedent() self.write(')') return None def pretty_betree_info_key_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1148(_dollar_dollar): + def _t1155(_dollar_dollar): return _dollar_dollar - _t1149 = _t1148(msg) - fields402 = _t1149 + _t1156 = _t1155(msg) + fields402 = _t1156 assert fields402 is not None unwrapped_fields403 = fields402 self.write('(') @@ -3049,16 +3016,16 @@ def _t1148(_dollar_dollar): for i405, elem404 in enumerate(unwrapped_fields403): if (i405 > 0): self.newline() - _t1150 = self.pretty_type(elem404) + _t1157 = self.pretty_type(elem404) self.dedent() self.write(')') return None def pretty_betree_info_value_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1151(_dollar_dollar): + def _t1158(_dollar_dollar): return _dollar_dollar - _t1152 = _t1151(msg) - fields406 = _t1152 + _t1159 = _t1158(msg) + fields406 = _t1159 assert fields406 is not None unwrapped_fields407 = fields406 self.write('(') @@ -3069,16 +3036,16 @@ def _t1151(_dollar_dollar): for i409, elem408 in enumerate(unwrapped_fields407): if (i409 > 0): self.newline() - _t1153 = self.pretty_type(elem408) + _t1160 = self.pretty_type(elem408) self.dedent() self.write(')') return None def pretty_csv_data(self, msg: logic_pb2.CSVData) -> Optional[NoReturn]: - def _t1154(_dollar_dollar): + def _t1161(_dollar_dollar): return (_dollar_dollar.locator, _dollar_dollar.config, _dollar_dollar.columns, _dollar_dollar.asof,) - _t1155 = _t1154(msg) - fields410 = _t1155 + _t1162 = _t1161(msg) + fields410 = _t1162 assert fields410 is not None unwrapped_fields411 = fields410 self.write('(') @@ -3086,35 +3053,35 @@ def _t1154(_dollar_dollar): self.indent() self.newline() field412 = unwrapped_fields411[0] - _t1156 = self.pretty_csvlocator(field412) + _t1163 = self.pretty_csvlocator(field412) self.newline() field413 = unwrapped_fields411[1] - _t1157 = self.pretty_csv_config(field413) + _t1164 = self.pretty_csv_config(field413) self.newline() field414 = unwrapped_fields411[2] - _t1158 = self.pretty_csv_columns(field414) + _t1165 = self.pretty_csv_columns(field414) self.newline() field415 = unwrapped_fields411[3] - _t1159 = self.pretty_csv_asof(field415) + _t1166 = self.pretty_csv_asof(field415) self.dedent() self.write(')') return None def pretty_csvlocator(self, msg: logic_pb2.CSVLocator) -> Optional[NoReturn]: - def _t1160(_dollar_dollar): + def _t1167(_dollar_dollar): if not len(_dollar_dollar.paths) == 0: - _t1161 = _dollar_dollar.paths + _t1168 = _dollar_dollar.paths else: - _t1161 = None + _t1168 = None if _dollar_dollar.inline_data.decode('utf-8') != '': - _t1162 = _dollar_dollar.inline_data.decode('utf-8') + _t1169 = _dollar_dollar.inline_data.decode('utf-8') else: - _t1162 = None - return (_t1161, _t1162,) - _t1163 = _t1160(msg) - fields416 = _t1163 + _t1169 = None + return (_t1168, _t1169,) + _t1170 = _t1167(msg) + fields416 = _t1170 assert fields416 is not None unwrapped_fields417 = fields416 self.write('(') @@ -3126,29 +3093,29 @@ def _t1160(_dollar_dollar): self.newline() assert field418 is not None opt_val419 = field418 - _t1165 = self.pretty_csv_locator_paths(opt_val419) - _t1164 = _t1165 + _t1172 = self.pretty_csv_locator_paths(opt_val419) + _t1171 = _t1172 else: - _t1164 = None + _t1171 = None field420 = unwrapped_fields417[1] if field420 is not None: self.newline() assert field420 is not None opt_val421 = field420 - _t1167 = self.pretty_csv_locator_inline_data(opt_val421) - _t1166 = _t1167 + _t1174 = self.pretty_csv_locator_inline_data(opt_val421) + _t1173 = _t1174 else: - _t1166 = None + _t1173 = None self.dedent() self.write(')') return None def pretty_csv_locator_paths(self, msg: Sequence[str]) -> Optional[NoReturn]: - def _t1168(_dollar_dollar): + def _t1175(_dollar_dollar): return _dollar_dollar - _t1169 = _t1168(msg) - fields422 = _t1169 + _t1176 = _t1175(msg) + fields422 = _t1176 assert fields422 is not None unwrapped_fields423 = fields422 self.write('(') @@ -3165,10 +3132,10 @@ def _t1168(_dollar_dollar): return None def pretty_csv_locator_inline_data(self, msg: str) -> Optional[NoReturn]: - def _t1170(_dollar_dollar): + def _t1177(_dollar_dollar): return _dollar_dollar - _t1171 = _t1170(msg) - fields426 = _t1171 + _t1178 = _t1177(msg) + fields426 = _t1178 assert fields426 is not None unwrapped_fields427 = fields426 self.write('(') @@ -3181,27 +3148,27 @@ def _t1170(_dollar_dollar): return None def pretty_csv_config(self, msg: logic_pb2.CSVConfig) -> Optional[NoReturn]: - def _t1172(_dollar_dollar): - _t1173 = self.deconstruct_csv_config(_dollar_dollar) - return _t1173 - _t1174 = _t1172(msg) - fields428 = _t1174 + def _t1179(_dollar_dollar): + _t1180 = self.deconstruct_csv_config(_dollar_dollar) + return _t1180 + _t1181 = _t1179(msg) + fields428 = _t1181 assert fields428 is not None unwrapped_fields429 = fields428 self.write('(') self.write('csv_config') self.indent() self.newline() - _t1175 = self.pretty_config_dict(unwrapped_fields429) + _t1182 = self.pretty_config_dict(unwrapped_fields429) self.dedent() self.write(')') return None def pretty_csv_columns(self, msg: Sequence[logic_pb2.CSVColumn]) -> Optional[NoReturn]: - def _t1176(_dollar_dollar): + def _t1183(_dollar_dollar): return _dollar_dollar - _t1177 = _t1176(msg) - fields430 = _t1177 + _t1184 = _t1183(msg) + fields430 = _t1184 assert fields430 is not None unwrapped_fields431 = fields430 self.write('(') @@ -3212,16 +3179,16 @@ def _t1176(_dollar_dollar): for i433, elem432 in enumerate(unwrapped_fields431): if (i433 > 0): self.newline() - _t1178 = self.pretty_csv_column(elem432) + _t1185 = self.pretty_csv_column(elem432) self.dedent() self.write(')') return None def pretty_csv_column(self, msg: logic_pb2.CSVColumn) -> Optional[NoReturn]: - def _t1179(_dollar_dollar): + def _t1186(_dollar_dollar): return (_dollar_dollar.column_name, _dollar_dollar.target_id, _dollar_dollar.types,) - _t1180 = _t1179(msg) - fields434 = _t1180 + _t1187 = _t1186(msg) + fields434 = _t1187 assert fields434 is not None unwrapped_fields435 = fields434 self.write('(') @@ -3232,24 +3199,24 @@ def _t1179(_dollar_dollar): self.write(self.format_string_value(field436)) self.newline() field437 = unwrapped_fields435[1] - _t1181 = self.pretty_relation_id(field437) + _t1188 = self.pretty_relation_id(field437) self.newline() self.write('[') field438 = unwrapped_fields435[2] for i440, elem439 in enumerate(field438): if (i440 > 0): self.newline() - _t1182 = self.pretty_type(elem439) + _t1189 = self.pretty_type(elem439) self.write(']') self.dedent() self.write(')') return None def pretty_csv_asof(self, msg: str) -> Optional[NoReturn]: - def _t1183(_dollar_dollar): + def _t1190(_dollar_dollar): return _dollar_dollar - _t1184 = _t1183(msg) - fields441 = _t1184 + _t1191 = _t1190(msg) + fields441 = _t1191 assert fields441 is not None unwrapped_fields442 = fields441 self.write('(') @@ -3262,26 +3229,26 @@ def _t1183(_dollar_dollar): return None def pretty_undefine(self, msg: transactions_pb2.Undefine) -> Optional[NoReturn]: - def _t1185(_dollar_dollar): + def _t1192(_dollar_dollar): return _dollar_dollar.fragment_id - _t1186 = _t1185(msg) - fields443 = _t1186 + _t1193 = _t1192(msg) + fields443 = _t1193 assert fields443 is not None unwrapped_fields444 = fields443 self.write('(') self.write('undefine') self.indent() self.newline() - _t1187 = self.pretty_fragment_id(unwrapped_fields444) + _t1194 = self.pretty_fragment_id(unwrapped_fields444) self.dedent() self.write(')') return None def pretty_context(self, msg: transactions_pb2.Context) -> Optional[NoReturn]: - def _t1188(_dollar_dollar): + def _t1195(_dollar_dollar): return _dollar_dollar.relations - _t1189 = _t1188(msg) - fields445 = _t1189 + _t1196 = _t1195(msg) + fields445 = _t1196 assert fields445 is not None unwrapped_fields446 = fields445 self.write('(') @@ -3292,16 +3259,16 @@ def _t1188(_dollar_dollar): for i448, elem447 in enumerate(unwrapped_fields446): if (i448 > 0): self.newline() - _t1190 = self.pretty_relation_id(elem447) + _t1197 = self.pretty_relation_id(elem447) self.dedent() self.write(')') return None def pretty_epoch_reads(self, msg: Sequence[transactions_pb2.Read]) -> Optional[NoReturn]: - def _t1191(_dollar_dollar): + def _t1198(_dollar_dollar): return _dollar_dollar - _t1192 = _t1191(msg) - fields449 = _t1192 + _t1199 = _t1198(msg) + fields449 = _t1199 assert fields449 is not None unwrapped_fields450 = fields449 self.write('(') @@ -3312,110 +3279,110 @@ def _t1191(_dollar_dollar): for i452, elem451 in enumerate(unwrapped_fields450): if (i452 > 0): self.newline() - _t1193 = self.pretty_read(elem451) + _t1200 = self.pretty_read(elem451) self.dedent() self.write(')') return None def pretty_read(self, msg: transactions_pb2.Read) -> Optional[NoReturn]: - def _t1194(_dollar_dollar): + def _t1201(_dollar_dollar): if _dollar_dollar.HasField('demand'): - _t1195 = _dollar_dollar.demand + _t1202 = _dollar_dollar.demand else: - _t1195 = None - return _t1195 - _t1196 = _t1194(msg) - deconstruct_result457 = _t1196 + _t1202 = None + return _t1202 + _t1203 = _t1201(msg) + deconstruct_result457 = _t1203 if deconstruct_result457 is not None: - _t1198 = self.pretty_demand(deconstruct_result457) - _t1197 = _t1198 + _t1205 = self.pretty_demand(deconstruct_result457) + _t1204 = _t1205 else: - def _t1199(_dollar_dollar): + def _t1206(_dollar_dollar): if _dollar_dollar.HasField('output'): - _t1200 = _dollar_dollar.output + _t1207 = _dollar_dollar.output else: - _t1200 = None - return _t1200 - _t1201 = _t1199(msg) - deconstruct_result456 = _t1201 + _t1207 = None + return _t1207 + _t1208 = _t1206(msg) + deconstruct_result456 = _t1208 if deconstruct_result456 is not None: - _t1203 = self.pretty_output(deconstruct_result456) - _t1202 = _t1203 + _t1210 = self.pretty_output(deconstruct_result456) + _t1209 = _t1210 else: - def _t1204(_dollar_dollar): + def _t1211(_dollar_dollar): if _dollar_dollar.HasField('what_if'): - _t1205 = _dollar_dollar.what_if + _t1212 = _dollar_dollar.what_if else: - _t1205 = None - return _t1205 - _t1206 = _t1204(msg) - deconstruct_result455 = _t1206 + _t1212 = None + return _t1212 + _t1213 = _t1211(msg) + deconstruct_result455 = _t1213 if deconstruct_result455 is not None: - _t1208 = self.pretty_what_if(deconstruct_result455) - _t1207 = _t1208 + _t1215 = self.pretty_what_if(deconstruct_result455) + _t1214 = _t1215 else: - def _t1209(_dollar_dollar): + def _t1216(_dollar_dollar): if _dollar_dollar.HasField('abort'): - _t1210 = _dollar_dollar.abort + _t1217 = _dollar_dollar.abort else: - _t1210 = None - return _t1210 - _t1211 = _t1209(msg) - deconstruct_result454 = _t1211 + _t1217 = None + return _t1217 + _t1218 = _t1216(msg) + deconstruct_result454 = _t1218 if deconstruct_result454 is not None: - _t1213 = self.pretty_abort(deconstruct_result454) - _t1212 = _t1213 + _t1220 = self.pretty_abort(deconstruct_result454) + _t1219 = _t1220 else: - def _t1214(_dollar_dollar): + def _t1221(_dollar_dollar): if _dollar_dollar.HasField('export'): - _t1215 = _dollar_dollar.export + _t1222 = _dollar_dollar.export else: - _t1215 = None - return _t1215 - _t1216 = _t1214(msg) - deconstruct_result453 = _t1216 + _t1222 = None + return _t1222 + _t1223 = _t1221(msg) + deconstruct_result453 = _t1223 if deconstruct_result453 is not None: - _t1218 = self.pretty_export(deconstruct_result453) - _t1217 = _t1218 + _t1225 = self.pretty_export(deconstruct_result453) + _t1224 = _t1225 else: raise ParseError('No matching rule for read') - _t1212 = _t1217 - _t1207 = _t1212 - _t1202 = _t1207 - _t1197 = _t1202 - return _t1197 + _t1219 = _t1224 + _t1214 = _t1219 + _t1209 = _t1214 + _t1204 = _t1209 + return _t1204 def pretty_demand(self, msg: transactions_pb2.Demand) -> Optional[NoReturn]: - def _t1219(_dollar_dollar): + def _t1226(_dollar_dollar): return _dollar_dollar.relation_id - _t1220 = _t1219(msg) - fields458 = _t1220 + _t1227 = _t1226(msg) + fields458 = _t1227 assert fields458 is not None unwrapped_fields459 = fields458 self.write('(') self.write('demand') self.indent() self.newline() - _t1221 = self.pretty_relation_id(unwrapped_fields459) + _t1228 = self.pretty_relation_id(unwrapped_fields459) self.dedent() self.write(')') return None def pretty_output(self, msg: transactions_pb2.Output) -> Optional[NoReturn]: - def _t1222(_dollar_dollar): + def _t1229(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.relation_id,) - _t1223 = _t1222(msg) - fields460 = _t1223 + _t1230 = _t1229(msg) + fields460 = _t1230 assert fields460 is not None unwrapped_fields461 = fields460 self.write('(') @@ -3423,19 +3390,19 @@ def _t1222(_dollar_dollar): self.indent() self.newline() field462 = unwrapped_fields461[0] - _t1224 = self.pretty_name(field462) + _t1231 = self.pretty_name(field462) self.newline() field463 = unwrapped_fields461[1] - _t1225 = self.pretty_relation_id(field463) + _t1232 = self.pretty_relation_id(field463) self.dedent() self.write(')') return None def pretty_what_if(self, msg: transactions_pb2.WhatIf) -> Optional[NoReturn]: - def _t1226(_dollar_dollar): + def _t1233(_dollar_dollar): return (_dollar_dollar.branch, _dollar_dollar.epoch,) - _t1227 = _t1226(msg) - fields464 = _t1227 + _t1234 = _t1233(msg) + fields464 = _t1234 assert fields464 is not None unwrapped_fields465 = fields464 self.write('(') @@ -3443,24 +3410,24 @@ def _t1226(_dollar_dollar): self.indent() self.newline() field466 = unwrapped_fields465[0] - _t1228 = self.pretty_name(field466) + _t1235 = self.pretty_name(field466) self.newline() field467 = unwrapped_fields465[1] - _t1229 = self.pretty_epoch(field467) + _t1236 = self.pretty_epoch(field467) self.dedent() self.write(')') return None def pretty_abort(self, msg: transactions_pb2.Abort) -> Optional[NoReturn]: - def _t1230(_dollar_dollar): + def _t1237(_dollar_dollar): if _dollar_dollar.name != 'abort': - _t1231 = _dollar_dollar.name + _t1238 = _dollar_dollar.name else: - _t1231 = None - return (_t1231, _dollar_dollar.relation_id,) - _t1232 = _t1230(msg) - fields468 = _t1232 + _t1238 = None + return (_t1238, _dollar_dollar.relation_id,) + _t1239 = _t1237(msg) + fields468 = _t1239 assert fields468 is not None unwrapped_fields469 = fields468 self.write('(') @@ -3472,109 +3439,132 @@ def _t1230(_dollar_dollar): self.newline() assert field470 is not None opt_val471 = field470 - _t1234 = self.pretty_name(opt_val471) - _t1233 = _t1234 + _t1241 = self.pretty_name(opt_val471) + _t1240 = _t1241 else: - _t1233 = None + _t1240 = None self.newline() field472 = unwrapped_fields469[1] - _t1235 = self.pretty_relation_id(field472) + _t1242 = self.pretty_relation_id(field472) self.dedent() self.write(')') return None def pretty_export(self, msg: transactions_pb2.Export) -> Optional[NoReturn]: - def _t1236(_dollar_dollar): + def _t1243(_dollar_dollar): return _dollar_dollar.csv_config - _t1237 = _t1236(msg) - fields473 = _t1237 + _t1244 = _t1243(msg) + fields473 = _t1244 assert fields473 is not None unwrapped_fields474 = fields473 self.write('(') self.write('export') self.indent() self.newline() - _t1238 = self.pretty_export_csv_config(unwrapped_fields474) + _t1245 = self.pretty_export_csv_config(unwrapped_fields474) self.dedent() self.write(')') return None def pretty_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> Optional[NoReturn]: - def _t1239(_dollar_dollar): - _t1240 = self.deconstruct_export_csv_config(_dollar_dollar) - return (_dollar_dollar.path, _dollar_dollar.data_columns, _t1240,) - _t1241 = _t1239(msg) - fields475 = _t1241 - assert fields475 is not None - unwrapped_fields476 = fields475 + def _t1246(_dollar_dollar): + return (_dollar_dollar.path, _dollar_dollar.csv_source, _dollar_dollar.csv_config,) + _t1247 = _t1246(msg) + fields482 = _t1247 + assert fields482 is not None + unwrapped_fields483 = fields482 self.write('(') - self.write('export_csv_config') + self.write('export_csv_config_v2') self.indent() self.newline() - field477 = unwrapped_fields476[0] - _t1242 = self.pretty_export_csv_path(field477) + field484 = unwrapped_fields483[0] + _t1248 = self.pretty_export_csv_path(field484) self.newline() - field478 = unwrapped_fields476[1] - _t1243 = self.pretty_export_csv_columns(field478) + field485 = unwrapped_fields483[1] + _t1249 = self.pretty_export_csv_source(field485) self.newline() - field479 = unwrapped_fields476[2] - _t1244 = self.pretty_config_dict(field479) + field486 = unwrapped_fields483[2] + _t1250 = self.pretty_csv_config(field486) self.dedent() self.write(')') return None def pretty_export_csv_path(self, msg: str) -> Optional[NoReturn]: - def _t1245(_dollar_dollar): + def _t1251(_dollar_dollar): return _dollar_dollar - _t1246 = _t1245(msg) - fields480 = _t1246 - assert fields480 is not None - unwrapped_fields481 = fields480 + _t1252 = _t1251(msg) + fields487 = _t1252 + assert fields487 is not None + unwrapped_fields488 = fields487 self.write('(') self.write('path') self.indent() self.newline() - self.write(self.format_string_value(unwrapped_fields481)) + self.write(self.format_string_value(unwrapped_fields488)) self.dedent() self.write(')') return None - def pretty_export_csv_columns(self, msg: Sequence[transactions_pb2.ExportCSVColumn]) -> Optional[NoReturn]: - def _t1247(_dollar_dollar): - return _dollar_dollar - _t1248 = _t1247(msg) - fields482 = _t1248 - assert fields482 is not None - unwrapped_fields483 = fields482 - self.write('(') - self.write('columns') - self.indent() - if not len(unwrapped_fields483) == 0: - self.newline() - for i485, elem484 in enumerate(unwrapped_fields483): - if (i485 > 0): - self.newline() - _t1249 = self.pretty_export_csv_column(elem484) - self.dedent() - self.write(')') + def pretty_export_csv_source(self, msg: transactions_pb2.ExportCSVSource) -> Optional[NoReturn]: + def _t1253(_dollar_dollar): + + if _dollar_dollar.HasField('gnf_columns'): + _t1254 = _dollar_dollar.gnf_columns.columns + else: + _t1254 = None + return _t1254 + _t1255 = _t1253(msg) + deconstruct_result490 = _t1255 + if deconstruct_result490 is not None: + self.write('(') + self.write('gnf_columns') + self.indent() + if not len(deconstruct_result490) == 0: + self.newline() + for i492, elem491 in enumerate(deconstruct_result490): + if (i492 > 0): + self.newline() + _t1256 = self.pretty_export_csv_column(elem491) + self.dedent() + self.write(')') + else: + def _t1257(_dollar_dollar): + + if _dollar_dollar.HasField('table_def'): + _t1258 = _dollar_dollar.table_def + else: + _t1258 = None + return _t1258 + _t1259 = _t1257(msg) + deconstruct_result489 = _t1259 + if deconstruct_result489 is not None: + self.write('(') + self.write('table_def') + self.indent() + self.newline() + _t1260 = self.pretty_relation_id(deconstruct_result489) + self.dedent() + self.write(')') + else: + raise ParseError('No matching rule for export_csv_source') return None def pretty_export_csv_column(self, msg: transactions_pb2.ExportCSVColumn) -> Optional[NoReturn]: - def _t1250(_dollar_dollar): + def _t1261(_dollar_dollar): return (_dollar_dollar.column_name, _dollar_dollar.column_data,) - _t1251 = _t1250(msg) - fields486 = _t1251 - assert fields486 is not None - unwrapped_fields487 = fields486 + _t1262 = _t1261(msg) + fields493 = _t1262 + assert fields493 is not None + unwrapped_fields494 = fields493 self.write('(') self.write('column') self.indent() self.newline() - field488 = unwrapped_fields487[0] - self.write(self.format_string_value(field488)) + field495 = unwrapped_fields494[0] + self.write(self.format_string_value(field495)) self.newline() - field489 = unwrapped_fields487[1] - _t1252 = self.pretty_relation_id(field489) + field496 = unwrapped_fields494[1] + _t1263 = self.pretty_relation_id(field496) self.dedent() self.write(')') return None diff --git a/sdks/python/src/lqp/proto/v1/logic_pb2.py b/sdks/python/src/lqp/proto/v1/logic_pb2.py index 769a3503..530a03a8 100644 --- a/sdks/python/src/lqp/proto/v1/logic_pb2.py +++ b/sdks/python/src/lqp/proto/v1/logic_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1frelationalai/lqp/v1/logic.proto\x12\x13relationalai.lqp.v1\"\x83\x02\n\x0b\x44\x65\x63laration\x12,\n\x03\x64\x65\x66\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.DefH\x00R\x03\x64\x65\x66\x12>\n\talgorithm\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.AlgorithmH\x00R\talgorithm\x12\x41\n\nconstraint\x18\x03 \x01(\x0b\x32\x1f.relationalai.lqp.v1.ConstraintH\x00R\nconstraint\x12/\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x19.relationalai.lqp.v1.DataH\x00R\x04\x64\x61taB\x12\n\x10\x64\x65\x63laration_type\"\xa6\x01\n\x03\x44\x65\x66\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xb6\x01\n\nConstraint\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12`\n\x15\x66unctional_dependency\x18\x01 \x01(\x0b\x32).relationalai.lqp.v1.FunctionalDependencyH\x00R\x14\x66unctionalDependencyB\x11\n\x0f\x63onstraint_type\"\xae\x01\n\x14\x46unctionalDependency\x12\x36\n\x05guard\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x05guard\x12,\n\x04keys\x18\x02 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x04keys\x12\x30\n\x06values\x18\x03 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x06values\"u\n\tAlgorithm\x12\x37\n\x06global\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x06global\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"H\n\x06Script\x12>\n\nconstructs\x18\x01 \x03(\x0b\x32\x1e.relationalai.lqp.v1.ConstructR\nconstructs\"\x94\x01\n\tConstruct\x12/\n\x04loop\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.LoopH\x00R\x04loop\x12\x44\n\x0binstruction\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.InstructionH\x00R\x0binstructionB\x10\n\x0e\x63onstruct_type\"m\n\x04Loop\x12\x34\n\x04init\x18\x01 \x03(\x0b\x32 .relationalai.lqp.v1.InstructionR\x04init\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"\xc2\x02\n\x0bInstruction\x12\x35\n\x06\x61ssign\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.AssignH\x00R\x06\x61ssign\x12\x35\n\x06upsert\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.UpsertH\x00R\x06upsert\x12\x32\n\x05\x62reak\x18\x03 \x01(\x0b\x32\x1a.relationalai.lqp.v1.BreakH\x00R\x05\x62reak\x12?\n\nmonoid_def\x18\x05 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MonoidDefH\x00R\tmonoidDef\x12<\n\tmonus_def\x18\x06 \x01(\x0b\x32\x1d.relationalai.lqp.v1.MonusDefH\x00R\x08monusDefB\x0c\n\ninstr_typeJ\x04\x08\x04\x10\x05\"\xa9\x01\n\x06\x41ssign\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xca\x01\n\x06Upsert\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x04 \x01(\x03R\nvalueArity\"\xa8\x01\n\x05\x42reak\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\x82\x02\n\tMonoidDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x81\x02\n\x08MonusDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x92\x02\n\x06Monoid\x12<\n\tor_monoid\x18\x01 \x01(\x0b\x32\x1d.relationalai.lqp.v1.OrMonoidH\x00R\x08orMonoid\x12?\n\nmin_monoid\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MinMonoidH\x00R\tminMonoid\x12?\n\nmax_monoid\x18\x03 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MaxMonoidH\x00R\tmaxMonoid\x12?\n\nsum_monoid\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.SumMonoidH\x00R\tsumMonoidB\x07\n\x05value\"\n\n\x08OrMonoid\":\n\tMinMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tMaxMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tSumMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"d\n\x07\x42inding\x12*\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarR\x03var\x12-\n\x04type\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"s\n\x0b\x41\x62straction\x12\x30\n\x04vars\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.BindingR\x04vars\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x05value\"\x83\x05\n\x07\x46ormula\x12\x35\n\x06\x65xists\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExistsH\x00R\x06\x65xists\x12\x35\n\x06reduce\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ReduceH\x00R\x06reduce\x12\x44\n\x0b\x63onjunction\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.ConjunctionH\x00R\x0b\x63onjunction\x12\x44\n\x0b\x64isjunction\x18\x04 \x01(\x0b\x32 .relationalai.lqp.v1.DisjunctionH\x00R\x0b\x64isjunction\x12,\n\x03not\x18\x05 \x01(\x0b\x32\x18.relationalai.lqp.v1.NotH\x00R\x03not\x12,\n\x03\x66\x66i\x18\x06 \x01(\x0b\x32\x18.relationalai.lqp.v1.FFIH\x00R\x03\x66\x66i\x12/\n\x04\x61tom\x18\x07 \x01(\x0b\x32\x19.relationalai.lqp.v1.AtomH\x00R\x04\x61tom\x12\x35\n\x06pragma\x18\x08 \x01(\x0b\x32\x1b.relationalai.lqp.v1.PragmaH\x00R\x06pragma\x12>\n\tprimitive\x18\t \x01(\x0b\x32\x1e.relationalai.lqp.v1.PrimitiveH\x00R\tprimitive\x12\x39\n\x08rel_atom\x18\n \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelAtomH\x00R\x07relAtom\x12/\n\x04\x63\x61st\x18\x0b \x01(\x0b\x32\x19.relationalai.lqp.v1.CastH\x00R\x04\x63\x61stB\x0e\n\x0c\x66ormula_type\">\n\x06\x45xists\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\"\xa1\x01\n\x06Reduce\x12\x30\n\x02op\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x02op\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"?\n\x0b\x43onjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"?\n\x0b\x44isjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"5\n\x03Not\x12.\n\x03\x61rg\x18\x01 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x03\x61rg\"\x80\x01\n\x03\x46\x46I\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x04\x61rgs\x18\x02 \x03(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x61rgs\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"l\n\x04\x41tom\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"M\n\x06Pragma\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"S\n\tPrimitive\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"Q\n\x07RelAtom\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"j\n\x04\x43\x61st\x12/\n\x05input\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05input\x12\x31\n\x06result\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x06result\"\x96\x01\n\x07RelTerm\x12I\n\x11specialized_value\x18\x01 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x10specializedValue\x12/\n\x04term\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermH\x00R\x04termB\x0f\n\rrel_term_type\"{\n\x04Term\x12,\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarH\x00R\x03var\x12\x38\n\x08\x63onstant\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x08\x63onstantB\x0b\n\tterm_type\"\x19\n\x03Var\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"O\n\tAttribute\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12.\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1a.relationalai.lqp.v1.ValueR\x04\x61rgs\"\xd6\x01\n\x04\x44\x61ta\x12\x36\n\x07rel_edb\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.RelEDBH\x00R\x06relEdb\x12N\n\x0f\x62\x65tree_relation\x18\x02 \x01(\x0b\x32#.relationalai.lqp.v1.BeTreeRelationH\x00R\x0e\x62\x65treeRelation\x12\x39\n\x08\x63sv_data\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.CSVDataH\x00R\x07\x63svDataB\x0b\n\tdata_type\"\x8b\x01\n\x06RelEDB\x12<\n\ttarget_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12\x12\n\x04path\x18\x02 \x03(\tR\x04path\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"\x8b\x01\n\x0e\x42\x65TreeRelation\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x44\n\rrelation_info\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.BeTreeInfoR\x0crelationInfo\"\x9f\x02\n\nBeTreeInfo\x12\x36\n\tkey_types\x18\x01 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x08keyTypes\x12:\n\x0bvalue_types\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\nvalueTypes\x12H\n\x0estorage_config\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.BeTreeConfigR\rstorageConfig\x12M\n\x10relation_locator\x18\x05 \x01(\x0b\x32\".relationalai.lqp.v1.BeTreeLocatorR\x0frelationLocatorJ\x04\x08\x03\x10\x04\"\x81\x01\n\x0c\x42\x65TreeConfig\x12\x18\n\x07\x65psilon\x18\x01 \x01(\x01R\x07\x65psilon\x12\x1d\n\nmax_pivots\x18\x02 \x01(\x03R\tmaxPivots\x12\x1d\n\nmax_deltas\x18\x03 \x01(\x03R\tmaxDeltas\x12\x19\n\x08max_leaf\x18\x04 \x01(\x03R\x07maxLeaf\"\xca\x01\n\rBeTreeLocator\x12\x44\n\x0broot_pageid\x18\x01 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\nrootPageid\x12!\n\x0binline_data\x18\x04 \x01(\x0cH\x00R\ninlineData\x12#\n\relement_count\x18\x02 \x01(\x03R\x0c\x65lementCount\x12\x1f\n\x0btree_height\x18\x03 \x01(\x03R\ntreeHeightB\n\n\x08location\"\xca\x01\n\x07\x43SVData\x12\x39\n\x07locator\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.CSVLocatorR\x07locator\x12\x36\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.CSVConfigR\x06\x63onfig\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.CSVColumnR\x07\x63olumns\x12\x12\n\x04\x61sof\x18\x04 \x01(\tR\x04\x61sof\"C\n\nCSVLocator\x12\x14\n\x05paths\x18\x01 \x03(\tR\x05paths\x12\x1f\n\x0binline_data\x18\x02 \x01(\x0cR\ninlineData\"\x8a\x03\n\tCSVConfig\x12\x1d\n\nheader_row\x18\x01 \x01(\x05R\theaderRow\x12\x12\n\x04skip\x18\x02 \x01(\x03R\x04skip\x12\x19\n\x08new_line\x18\x03 \x01(\tR\x07newLine\x12\x1c\n\tdelimiter\x18\x04 \x01(\tR\tdelimiter\x12\x1c\n\tquotechar\x18\x05 \x01(\tR\tquotechar\x12\x1e\n\nescapechar\x18\x06 \x01(\tR\nescapechar\x12\x18\n\x07\x63omment\x18\x07 \x01(\tR\x07\x63omment\x12\'\n\x0fmissing_strings\x18\x08 \x03(\tR\x0emissingStrings\x12+\n\x11\x64\x65\x63imal_separator\x18\t \x01(\tR\x10\x64\x65\x63imalSeparator\x12\x1a\n\x08\x65ncoding\x18\n \x01(\tR\x08\x65ncoding\x12 \n\x0b\x63ompression\x18\x0b \x01(\tR\x0b\x63ompression\x12%\n\x0epartition_size\x18\x0c \x01(\x03R\rpartitionSize\"\x9b\x01\n\tCSVColumn\x12\x1f\n\x0b\x63olumn_name\x18\x01 \x01(\tR\ncolumnName\x12<\n\ttarget_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"<\n\nRelationId\x12\x15\n\x06id_low\x18\x01 \x01(\x06R\x05idLow\x12\x17\n\x07id_high\x18\x02 \x01(\x06R\x06idHigh\"\x89\x06\n\x04Type\x12Q\n\x10unspecified_type\x18\x01 \x01(\x0b\x32$.relationalai.lqp.v1.UnspecifiedTypeH\x00R\x0funspecifiedType\x12\x42\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.StringTypeH\x00R\nstringType\x12\x39\n\x08int_type\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.IntTypeH\x00R\x07intType\x12?\n\nfloat_type\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.FloatTypeH\x00R\tfloatType\x12\x45\n\x0cuint128_type\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.UInt128TypeH\x00R\x0buint128Type\x12\x42\n\x0bint128_type\x18\x06 \x01(\x0b\x32\x1f.relationalai.lqp.v1.Int128TypeH\x00R\nint128Type\x12<\n\tdate_type\x18\x07 \x01(\x0b\x32\x1d.relationalai.lqp.v1.DateTypeH\x00R\x08\x64\x61teType\x12H\n\rdatetime_type\x18\x08 \x01(\x0b\x32!.relationalai.lqp.v1.DateTimeTypeH\x00R\x0c\x64\x61tetimeType\x12\x45\n\x0cmissing_type\x18\t \x01(\x0b\x32 .relationalai.lqp.v1.MissingTypeH\x00R\x0bmissingType\x12\x45\n\x0c\x64\x65\x63imal_type\x18\n \x01(\x0b\x32 .relationalai.lqp.v1.DecimalTypeH\x00R\x0b\x64\x65\x63imalType\x12\x45\n\x0c\x62oolean_type\x18\x0b \x01(\x0b\x32 .relationalai.lqp.v1.BooleanTypeH\x00R\x0b\x62ooleanTypeB\x06\n\x04type\"\x11\n\x0fUnspecifiedType\"\x0c\n\nStringType\"\t\n\x07IntType\"\x0b\n\tFloatType\"\r\n\x0bUInt128Type\"\x0c\n\nInt128Type\"\n\n\x08\x44\x61teType\"\x0e\n\x0c\x44\x61teTimeType\"\r\n\x0bMissingType\"A\n\x0b\x44\x65\x63imalType\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\"\r\n\x0b\x42ooleanType\"\xd1\x04\n\x05Value\x12#\n\x0cstring_value\x18\x01 \x01(\tH\x00R\x0bstringValue\x12\x1d\n\tint_value\x18\x02 \x01(\x03H\x00R\x08intValue\x12!\n\x0b\x66loat_value\x18\x03 \x01(\x01H\x00R\nfloatValue\x12H\n\ruint128_value\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\x0cuint128Value\x12\x45\n\x0cint128_value\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueH\x00R\x0bint128Value\x12H\n\rmissing_value\x18\x06 \x01(\x0b\x32!.relationalai.lqp.v1.MissingValueH\x00R\x0cmissingValue\x12?\n\ndate_value\x18\x07 \x01(\x0b\x32\x1e.relationalai.lqp.v1.DateValueH\x00R\tdateValue\x12K\n\x0e\x64\x61tetime_value\x18\x08 \x01(\x0b\x32\".relationalai.lqp.v1.DateTimeValueH\x00R\rdatetimeValue\x12H\n\rdecimal_value\x18\t \x01(\x0b\x32!.relationalai.lqp.v1.DecimalValueH\x00R\x0c\x64\x65\x63imalValue\x12%\n\rboolean_value\x18\n \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"4\n\x0cUInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"3\n\x0bInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"\x0e\n\x0cMissingValue\"G\n\tDateValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\"\xb1\x01\n\rDateTimeValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\x12\x12\n\x04hour\x18\x04 \x01(\x05R\x04hour\x12\x16\n\x06minute\x18\x05 \x01(\x05R\x06minute\x12\x16\n\x06second\x18\x06 \x01(\x05R\x06second\x12 \n\x0bmicrosecond\x18\x07 \x01(\x05R\x0bmicrosecond\"z\n\x0c\x44\x65\x63imalValue\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\x12\x36\n\x05value\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueR\x05valueB\x1fZ\x1dlogical-query-protocol/lqp/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1frelationalai/lqp/v1/logic.proto\x12\x13relationalai.lqp.v1\"\x83\x02\n\x0b\x44\x65\x63laration\x12,\n\x03\x64\x65\x66\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.DefH\x00R\x03\x64\x65\x66\x12>\n\talgorithm\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.AlgorithmH\x00R\talgorithm\x12\x41\n\nconstraint\x18\x03 \x01(\x0b\x32\x1f.relationalai.lqp.v1.ConstraintH\x00R\nconstraint\x12/\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x19.relationalai.lqp.v1.DataH\x00R\x04\x64\x61taB\x12\n\x10\x64\x65\x63laration_type\"\xa6\x01\n\x03\x44\x65\x66\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xb6\x01\n\nConstraint\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12`\n\x15\x66unctional_dependency\x18\x01 \x01(\x0b\x32).relationalai.lqp.v1.FunctionalDependencyH\x00R\x14\x66unctionalDependencyB\x11\n\x0f\x63onstraint_type\"\xae\x01\n\x14\x46unctionalDependency\x12\x36\n\x05guard\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x05guard\x12,\n\x04keys\x18\x02 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x04keys\x12\x30\n\x06values\x18\x03 \x03(\x0b\x32\x18.relationalai.lqp.v1.VarR\x06values\"u\n\tAlgorithm\x12\x37\n\x06global\x18\x01 \x03(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x06global\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"H\n\x06Script\x12>\n\nconstructs\x18\x01 \x03(\x0b\x32\x1e.relationalai.lqp.v1.ConstructR\nconstructs\"\x94\x01\n\tConstruct\x12/\n\x04loop\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.LoopH\x00R\x04loop\x12\x44\n\x0binstruction\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.InstructionH\x00R\x0binstructionB\x10\n\x0e\x63onstruct_type\"m\n\x04Loop\x12\x34\n\x04init\x18\x01 \x03(\x0b\x32 .relationalai.lqp.v1.InstructionR\x04init\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ScriptR\x04\x62ody\"\xc2\x02\n\x0bInstruction\x12\x35\n\x06\x61ssign\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.AssignH\x00R\x06\x61ssign\x12\x35\n\x06upsert\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.UpsertH\x00R\x06upsert\x12\x32\n\x05\x62reak\x18\x03 \x01(\x0b\x32\x1a.relationalai.lqp.v1.BreakH\x00R\x05\x62reak\x12?\n\nmonoid_def\x18\x05 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MonoidDefH\x00R\tmonoidDef\x12<\n\tmonus_def\x18\x06 \x01(\x0b\x32\x1d.relationalai.lqp.v1.MonusDefH\x00R\x08monusDefB\x0c\n\ninstr_typeJ\x04\x08\x04\x10\x05\"\xa9\x01\n\x06\x41ssign\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\xca\x01\n\x06Upsert\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x04 \x01(\x03R\nvalueArity\"\xa8\x01\n\x05\x42reak\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\"\x82\x02\n\tMonoidDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x81\x02\n\x08MonusDef\x12\x33\n\x06monoid\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.MonoidR\x06monoid\x12\x33\n\x04name\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12\x34\n\x05\x61ttrs\x18\x04 \x03(\x0b\x32\x1e.relationalai.lqp.v1.AttributeR\x05\x61ttrs\x12\x1f\n\x0bvalue_arity\x18\x05 \x01(\x03R\nvalueArity\"\x92\x02\n\x06Monoid\x12<\n\tor_monoid\x18\x01 \x01(\x0b\x32\x1d.relationalai.lqp.v1.OrMonoidH\x00R\x08orMonoid\x12?\n\nmin_monoid\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MinMonoidH\x00R\tminMonoid\x12?\n\nmax_monoid\x18\x03 \x01(\x0b\x32\x1e.relationalai.lqp.v1.MaxMonoidH\x00R\tmaxMonoid\x12?\n\nsum_monoid\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.SumMonoidH\x00R\tsumMonoidB\x07\n\x05value\"\n\n\x08OrMonoid\":\n\tMinMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tMaxMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\":\n\tSumMonoid\x12-\n\x04type\x18\x01 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"d\n\x07\x42inding\x12*\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarR\x03var\x12-\n\x04type\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x04type\"s\n\x0b\x41\x62straction\x12\x30\n\x04vars\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.BindingR\x04vars\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x05value\"\x83\x05\n\x07\x46ormula\x12\x35\n\x06\x65xists\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ExistsH\x00R\x06\x65xists\x12\x35\n\x06reduce\x18\x02 \x01(\x0b\x32\x1b.relationalai.lqp.v1.ReduceH\x00R\x06reduce\x12\x44\n\x0b\x63onjunction\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.ConjunctionH\x00R\x0b\x63onjunction\x12\x44\n\x0b\x64isjunction\x18\x04 \x01(\x0b\x32 .relationalai.lqp.v1.DisjunctionH\x00R\x0b\x64isjunction\x12,\n\x03not\x18\x05 \x01(\x0b\x32\x18.relationalai.lqp.v1.NotH\x00R\x03not\x12,\n\x03\x66\x66i\x18\x06 \x01(\x0b\x32\x18.relationalai.lqp.v1.FFIH\x00R\x03\x66\x66i\x12/\n\x04\x61tom\x18\x07 \x01(\x0b\x32\x19.relationalai.lqp.v1.AtomH\x00R\x04\x61tom\x12\x35\n\x06pragma\x18\x08 \x01(\x0b\x32\x1b.relationalai.lqp.v1.PragmaH\x00R\x06pragma\x12>\n\tprimitive\x18\t \x01(\x0b\x32\x1e.relationalai.lqp.v1.PrimitiveH\x00R\tprimitive\x12\x39\n\x08rel_atom\x18\n \x01(\x0b\x32\x1c.relationalai.lqp.v1.RelAtomH\x00R\x07relAtom\x12/\n\x04\x63\x61st\x18\x0b \x01(\x0b\x32\x19.relationalai.lqp.v1.CastH\x00R\x04\x63\x61stB\x0e\n\x0c\x66ormula_type\">\n\x06\x45xists\x12\x34\n\x04\x62ody\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\"\xa1\x01\n\x06Reduce\x12\x30\n\x02op\x18\x01 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x02op\x12\x34\n\x04\x62ody\x18\x02 \x01(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x62ody\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"?\n\x0b\x43onjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"?\n\x0b\x44isjunction\x12\x30\n\x04\x61rgs\x18\x01 \x03(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x04\x61rgs\"5\n\x03Not\x12.\n\x03\x61rg\x18\x01 \x01(\x0b\x32\x1c.relationalai.lqp.v1.FormulaR\x03\x61rg\"\x80\x01\n\x03\x46\x46I\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x04\x61rgs\x18\x02 \x03(\x0b\x32 .relationalai.lqp.v1.AbstractionR\x04\x61rgs\x12/\n\x05terms\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"l\n\x04\x41tom\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"M\n\x06Pragma\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x05terms\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05terms\"S\n\tPrimitive\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"Q\n\x07RelAtom\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x32\n\x05terms\x18\x02 \x03(\x0b\x32\x1c.relationalai.lqp.v1.RelTermR\x05terms\"j\n\x04\x43\x61st\x12/\n\x05input\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x05input\x12\x31\n\x06result\x18\x03 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermR\x06result\"\x96\x01\n\x07RelTerm\x12I\n\x11specialized_value\x18\x01 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x10specializedValue\x12/\n\x04term\x18\x02 \x01(\x0b\x32\x19.relationalai.lqp.v1.TermH\x00R\x04termB\x0f\n\rrel_term_type\"{\n\x04Term\x12,\n\x03var\x18\x01 \x01(\x0b\x32\x18.relationalai.lqp.v1.VarH\x00R\x03var\x12\x38\n\x08\x63onstant\x18\x02 \x01(\x0b\x32\x1a.relationalai.lqp.v1.ValueH\x00R\x08\x63onstantB\x0b\n\tterm_type\"\x19\n\x03Var\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"O\n\tAttribute\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12.\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x1a.relationalai.lqp.v1.ValueR\x04\x61rgs\"\xd6\x01\n\x04\x44\x61ta\x12\x36\n\x07rel_edb\x18\x01 \x01(\x0b\x32\x1b.relationalai.lqp.v1.RelEDBH\x00R\x06relEdb\x12N\n\x0f\x62\x65tree_relation\x18\x02 \x01(\x0b\x32#.relationalai.lqp.v1.BeTreeRelationH\x00R\x0e\x62\x65treeRelation\x12\x39\n\x08\x63sv_data\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.CSVDataH\x00R\x07\x63svDataB\x0b\n\tdata_type\"\x8b\x01\n\x06RelEDB\x12<\n\ttarget_id\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12\x12\n\x04path\x18\x02 \x03(\tR\x04path\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"\x8b\x01\n\x0e\x42\x65TreeRelation\x12\x33\n\x04name\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x04name\x12\x44\n\rrelation_info\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.BeTreeInfoR\x0crelationInfo\"\x9f\x02\n\nBeTreeInfo\x12\x36\n\tkey_types\x18\x01 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x08keyTypes\x12:\n\x0bvalue_types\x18\x02 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\nvalueTypes\x12H\n\x0estorage_config\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.BeTreeConfigR\rstorageConfig\x12M\n\x10relation_locator\x18\x05 \x01(\x0b\x32\".relationalai.lqp.v1.BeTreeLocatorR\x0frelationLocatorJ\x04\x08\x03\x10\x04\"\x81\x01\n\x0c\x42\x65TreeConfig\x12\x18\n\x07\x65psilon\x18\x01 \x01(\x01R\x07\x65psilon\x12\x1d\n\nmax_pivots\x18\x02 \x01(\x03R\tmaxPivots\x12\x1d\n\nmax_deltas\x18\x03 \x01(\x03R\tmaxDeltas\x12\x19\n\x08max_leaf\x18\x04 \x01(\x03R\x07maxLeaf\"\xca\x01\n\rBeTreeLocator\x12\x44\n\x0broot_pageid\x18\x01 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\nrootPageid\x12!\n\x0binline_data\x18\x04 \x01(\x0cH\x00R\ninlineData\x12#\n\relement_count\x18\x02 \x01(\x03R\x0c\x65lementCount\x12\x1f\n\x0btree_height\x18\x03 \x01(\x03R\ntreeHeightB\n\n\x08location\"\xca\x01\n\x07\x43SVData\x12\x39\n\x07locator\x18\x01 \x01(\x0b\x32\x1f.relationalai.lqp.v1.CSVLocatorR\x07locator\x12\x36\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1e.relationalai.lqp.v1.CSVConfigR\x06\x63onfig\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\x1e.relationalai.lqp.v1.CSVColumnR\x07\x63olumns\x12\x12\n\x04\x61sof\x18\x04 \x01(\tR\x04\x61sof\"C\n\nCSVLocator\x12\x14\n\x05paths\x18\x01 \x03(\tR\x05paths\x12\x1f\n\x0binline_data\x18\x02 \x01(\x0cR\ninlineData\"\x8f\x03\n\tCSVConfig\x12\x1d\n\nheader_row\x18\x01 \x01(\x05R\theaderRow\x12\x12\n\x04skip\x18\x02 \x01(\x03R\x04skip\x12\x19\n\x08new_line\x18\x03 \x01(\tR\x07newLine\x12\x1c\n\tdelimiter\x18\x04 \x01(\tR\tdelimiter\x12\x1c\n\tquotechar\x18\x05 \x01(\tR\tquotechar\x12\x1e\n\nescapechar\x18\x06 \x01(\tR\nescapechar\x12\x18\n\x07\x63omment\x18\x07 \x01(\tR\x07\x63omment\x12\'\n\x0fmissing_strings\x18\x08 \x03(\tR\x0emissingStrings\x12+\n\x11\x64\x65\x63imal_separator\x18\t \x01(\tR\x10\x64\x65\x63imalSeparator\x12\x1a\n\x08\x65ncoding\x18\n \x01(\tR\x08\x65ncoding\x12 \n\x0b\x63ompression\x18\x0b \x01(\tR\x0b\x63ompression\x12*\n\x11partition_size_mb\x18\x0c \x01(\x03R\x0fpartitionSizeMb\"\x9b\x01\n\tCSVColumn\x12\x1f\n\x0b\x63olumn_name\x18\x01 \x01(\tR\ncolumnName\x12<\n\ttarget_id\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.RelationIdR\x08targetId\x12/\n\x05types\x18\x03 \x03(\x0b\x32\x19.relationalai.lqp.v1.TypeR\x05types\"<\n\nRelationId\x12\x15\n\x06id_low\x18\x01 \x01(\x06R\x05idLow\x12\x17\n\x07id_high\x18\x02 \x01(\x06R\x06idHigh\"\x89\x06\n\x04Type\x12Q\n\x10unspecified_type\x18\x01 \x01(\x0b\x32$.relationalai.lqp.v1.UnspecifiedTypeH\x00R\x0funspecifiedType\x12\x42\n\x0bstring_type\x18\x02 \x01(\x0b\x32\x1f.relationalai.lqp.v1.StringTypeH\x00R\nstringType\x12\x39\n\x08int_type\x18\x03 \x01(\x0b\x32\x1c.relationalai.lqp.v1.IntTypeH\x00R\x07intType\x12?\n\nfloat_type\x18\x04 \x01(\x0b\x32\x1e.relationalai.lqp.v1.FloatTypeH\x00R\tfloatType\x12\x45\n\x0cuint128_type\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.UInt128TypeH\x00R\x0buint128Type\x12\x42\n\x0bint128_type\x18\x06 \x01(\x0b\x32\x1f.relationalai.lqp.v1.Int128TypeH\x00R\nint128Type\x12<\n\tdate_type\x18\x07 \x01(\x0b\x32\x1d.relationalai.lqp.v1.DateTypeH\x00R\x08\x64\x61teType\x12H\n\rdatetime_type\x18\x08 \x01(\x0b\x32!.relationalai.lqp.v1.DateTimeTypeH\x00R\x0c\x64\x61tetimeType\x12\x45\n\x0cmissing_type\x18\t \x01(\x0b\x32 .relationalai.lqp.v1.MissingTypeH\x00R\x0bmissingType\x12\x45\n\x0c\x64\x65\x63imal_type\x18\n \x01(\x0b\x32 .relationalai.lqp.v1.DecimalTypeH\x00R\x0b\x64\x65\x63imalType\x12\x45\n\x0c\x62oolean_type\x18\x0b \x01(\x0b\x32 .relationalai.lqp.v1.BooleanTypeH\x00R\x0b\x62ooleanTypeB\x06\n\x04type\"\x11\n\x0fUnspecifiedType\"\x0c\n\nStringType\"\t\n\x07IntType\"\x0b\n\tFloatType\"\r\n\x0bUInt128Type\"\x0c\n\nInt128Type\"\n\n\x08\x44\x61teType\"\x0e\n\x0c\x44\x61teTimeType\"\r\n\x0bMissingType\"A\n\x0b\x44\x65\x63imalType\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\"\r\n\x0b\x42ooleanType\"\xd1\x04\n\x05Value\x12#\n\x0cstring_value\x18\x01 \x01(\tH\x00R\x0bstringValue\x12\x1d\n\tint_value\x18\x02 \x01(\x03H\x00R\x08intValue\x12!\n\x0b\x66loat_value\x18\x03 \x01(\x01H\x00R\nfloatValue\x12H\n\ruint128_value\x18\x04 \x01(\x0b\x32!.relationalai.lqp.v1.UInt128ValueH\x00R\x0cuint128Value\x12\x45\n\x0cint128_value\x18\x05 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueH\x00R\x0bint128Value\x12H\n\rmissing_value\x18\x06 \x01(\x0b\x32!.relationalai.lqp.v1.MissingValueH\x00R\x0cmissingValue\x12?\n\ndate_value\x18\x07 \x01(\x0b\x32\x1e.relationalai.lqp.v1.DateValueH\x00R\tdateValue\x12K\n\x0e\x64\x61tetime_value\x18\x08 \x01(\x0b\x32\".relationalai.lqp.v1.DateTimeValueH\x00R\rdatetimeValue\x12H\n\rdecimal_value\x18\t \x01(\x0b\x32!.relationalai.lqp.v1.DecimalValueH\x00R\x0c\x64\x65\x63imalValue\x12%\n\rboolean_value\x18\n \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"4\n\x0cUInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"3\n\x0bInt128Value\x12\x10\n\x03low\x18\x01 \x01(\x06R\x03low\x12\x12\n\x04high\x18\x02 \x01(\x06R\x04high\"\x0e\n\x0cMissingValue\"G\n\tDateValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\"\xb1\x01\n\rDateTimeValue\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\x12\x12\n\x04hour\x18\x04 \x01(\x05R\x04hour\x12\x16\n\x06minute\x18\x05 \x01(\x05R\x06minute\x12\x16\n\x06second\x18\x06 \x01(\x05R\x06second\x12 \n\x0bmicrosecond\x18\x07 \x01(\x05R\x0bmicrosecond\"z\n\x0c\x44\x65\x63imalValue\x12\x1c\n\tprecision\x18\x01 \x01(\x05R\tprecision\x12\x14\n\x05scale\x18\x02 \x01(\x05R\x05scale\x12\x36\n\x05value\x18\x03 \x01(\x0b\x32 .relationalai.lqp.v1.Int128ValueR\x05valueB\x1fZ\x1dlogical-query-protocol/lqp/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -113,47 +113,47 @@ _globals['_CSVLOCATOR']._serialized_start=6760 _globals['_CSVLOCATOR']._serialized_end=6827 _globals['_CSVCONFIG']._serialized_start=6830 - _globals['_CSVCONFIG']._serialized_end=7224 - _globals['_CSVCOLUMN']._serialized_start=7227 - _globals['_CSVCOLUMN']._serialized_end=7382 - _globals['_RELATIONID']._serialized_start=7384 - _globals['_RELATIONID']._serialized_end=7444 - _globals['_TYPE']._serialized_start=7447 - _globals['_TYPE']._serialized_end=8224 - _globals['_UNSPECIFIEDTYPE']._serialized_start=8226 - _globals['_UNSPECIFIEDTYPE']._serialized_end=8243 - _globals['_STRINGTYPE']._serialized_start=8245 - _globals['_STRINGTYPE']._serialized_end=8257 - _globals['_INTTYPE']._serialized_start=8259 - _globals['_INTTYPE']._serialized_end=8268 - _globals['_FLOATTYPE']._serialized_start=8270 - _globals['_FLOATTYPE']._serialized_end=8281 - _globals['_UINT128TYPE']._serialized_start=8283 - _globals['_UINT128TYPE']._serialized_end=8296 - _globals['_INT128TYPE']._serialized_start=8298 - _globals['_INT128TYPE']._serialized_end=8310 - _globals['_DATETYPE']._serialized_start=8312 - _globals['_DATETYPE']._serialized_end=8322 - _globals['_DATETIMETYPE']._serialized_start=8324 - _globals['_DATETIMETYPE']._serialized_end=8338 - _globals['_MISSINGTYPE']._serialized_start=8340 - _globals['_MISSINGTYPE']._serialized_end=8353 - _globals['_DECIMALTYPE']._serialized_start=8355 - _globals['_DECIMALTYPE']._serialized_end=8420 - _globals['_BOOLEANTYPE']._serialized_start=8422 - _globals['_BOOLEANTYPE']._serialized_end=8435 - _globals['_VALUE']._serialized_start=8438 - _globals['_VALUE']._serialized_end=9031 - _globals['_UINT128VALUE']._serialized_start=9033 - _globals['_UINT128VALUE']._serialized_end=9085 - _globals['_INT128VALUE']._serialized_start=9087 - _globals['_INT128VALUE']._serialized_end=9138 - _globals['_MISSINGVALUE']._serialized_start=9140 - _globals['_MISSINGVALUE']._serialized_end=9154 - _globals['_DATEVALUE']._serialized_start=9156 - _globals['_DATEVALUE']._serialized_end=9227 - _globals['_DATETIMEVALUE']._serialized_start=9230 - _globals['_DATETIMEVALUE']._serialized_end=9407 - _globals['_DECIMALVALUE']._serialized_start=9409 - _globals['_DECIMALVALUE']._serialized_end=9531 + _globals['_CSVCONFIG']._serialized_end=7229 + _globals['_CSVCOLUMN']._serialized_start=7232 + _globals['_CSVCOLUMN']._serialized_end=7387 + _globals['_RELATIONID']._serialized_start=7389 + _globals['_RELATIONID']._serialized_end=7449 + _globals['_TYPE']._serialized_start=7452 + _globals['_TYPE']._serialized_end=8229 + _globals['_UNSPECIFIEDTYPE']._serialized_start=8231 + _globals['_UNSPECIFIEDTYPE']._serialized_end=8248 + _globals['_STRINGTYPE']._serialized_start=8250 + _globals['_STRINGTYPE']._serialized_end=8262 + _globals['_INTTYPE']._serialized_start=8264 + _globals['_INTTYPE']._serialized_end=8273 + _globals['_FLOATTYPE']._serialized_start=8275 + _globals['_FLOATTYPE']._serialized_end=8286 + _globals['_UINT128TYPE']._serialized_start=8288 + _globals['_UINT128TYPE']._serialized_end=8301 + _globals['_INT128TYPE']._serialized_start=8303 + _globals['_INT128TYPE']._serialized_end=8315 + _globals['_DATETYPE']._serialized_start=8317 + _globals['_DATETYPE']._serialized_end=8327 + _globals['_DATETIMETYPE']._serialized_start=8329 + _globals['_DATETIMETYPE']._serialized_end=8343 + _globals['_MISSINGTYPE']._serialized_start=8345 + _globals['_MISSINGTYPE']._serialized_end=8358 + _globals['_DECIMALTYPE']._serialized_start=8360 + _globals['_DECIMALTYPE']._serialized_end=8425 + _globals['_BOOLEANTYPE']._serialized_start=8427 + _globals['_BOOLEANTYPE']._serialized_end=8440 + _globals['_VALUE']._serialized_start=8443 + _globals['_VALUE']._serialized_end=9036 + _globals['_UINT128VALUE']._serialized_start=9038 + _globals['_UINT128VALUE']._serialized_end=9090 + _globals['_INT128VALUE']._serialized_start=9092 + _globals['_INT128VALUE']._serialized_end=9143 + _globals['_MISSINGVALUE']._serialized_start=9145 + _globals['_MISSINGVALUE']._serialized_end=9159 + _globals['_DATEVALUE']._serialized_start=9161 + _globals['_DATEVALUE']._serialized_end=9232 + _globals['_DATETIMEVALUE']._serialized_start=9235 + _globals['_DATETIMEVALUE']._serialized_end=9412 + _globals['_DECIMALVALUE']._serialized_start=9414 + _globals['_DECIMALVALUE']._serialized_end=9536 # @@protoc_insertion_point(module_scope) diff --git a/sdks/python/src/lqp/proto/v1/logic_pb2.pyi b/sdks/python/src/lqp/proto/v1/logic_pb2.pyi index 1d3738a8..507faa57 100644 --- a/sdks/python/src/lqp/proto/v1/logic_pb2.pyi +++ b/sdks/python/src/lqp/proto/v1/logic_pb2.pyi @@ -421,7 +421,7 @@ class CSVLocator(_message.Message): def __init__(self, paths: _Optional[_Iterable[str]] = ..., inline_data: _Optional[bytes] = ...) -> None: ... class CSVConfig(_message.Message): - __slots__ = ("header_row", "skip", "new_line", "delimiter", "quotechar", "escapechar", "comment", "missing_strings", "decimal_separator", "encoding", "compression", "partition_size") + __slots__ = ("header_row", "skip", "new_line", "delimiter", "quotechar", "escapechar", "comment", "missing_strings", "decimal_separator", "encoding", "compression", "partition_size_mb") HEADER_ROW_FIELD_NUMBER: _ClassVar[int] SKIP_FIELD_NUMBER: _ClassVar[int] NEW_LINE_FIELD_NUMBER: _ClassVar[int] @@ -433,7 +433,7 @@ class CSVConfig(_message.Message): DECIMAL_SEPARATOR_FIELD_NUMBER: _ClassVar[int] ENCODING_FIELD_NUMBER: _ClassVar[int] COMPRESSION_FIELD_NUMBER: _ClassVar[int] - PARTITION_SIZE_FIELD_NUMBER: _ClassVar[int] + PARTITION_SIZE_MB_FIELD_NUMBER: _ClassVar[int] header_row: int skip: int new_line: str @@ -445,8 +445,8 @@ class CSVConfig(_message.Message): decimal_separator: str encoding: str compression: str - partition_size: int - def __init__(self, header_row: _Optional[int] = ..., skip: _Optional[int] = ..., new_line: _Optional[str] = ..., delimiter: _Optional[str] = ..., quotechar: _Optional[str] = ..., escapechar: _Optional[str] = ..., comment: _Optional[str] = ..., missing_strings: _Optional[_Iterable[str]] = ..., decimal_separator: _Optional[str] = ..., encoding: _Optional[str] = ..., compression: _Optional[str] = ..., partition_size: _Optional[int] = ...) -> None: ... + partition_size_mb: int + def __init__(self, header_row: _Optional[int] = ..., skip: _Optional[int] = ..., new_line: _Optional[str] = ..., delimiter: _Optional[str] = ..., quotechar: _Optional[str] = ..., escapechar: _Optional[str] = ..., comment: _Optional[str] = ..., missing_strings: _Optional[_Iterable[str]] = ..., decimal_separator: _Optional[str] = ..., encoding: _Optional[str] = ..., compression: _Optional[str] = ..., partition_size_mb: _Optional[int] = ...) -> None: ... class CSVColumn(_message.Message): __slots__ = ("column_name", "target_id", "types") From 1f53c82f77b45f6c322945d054a350a4aa3be9fa Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 13:48:04 +1100 Subject: [PATCH 09/27] Update grammar to distinguish between new and legacy ExportCSVConfig versions --- meta/src/meta/grammar.y | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/src/meta/grammar.y b/meta/src/meta/grammar.y index 919d9645..e88409e6 100644 --- a/meta/src/meta/grammar.y +++ b/meta/src/meta/grammar.y @@ -1054,13 +1054,13 @@ export export_csv_config : "(" "export_csv_config_v2" export_csv_path export_csv_source csv_config ")" construct: $$ = construct_export_csv_config_with_source($3, $4, $5) - deconstruct: + deconstruct if builtin.length($$.data_columns) == 0: $3: String = $$.path $4: transactions.ExportCSVSource = $$.csv_source $5: logic.CSVConfig = $$.csv_config | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" construct: $$ = construct_export_csv_config($3, $6, $8) - deconstruct: + deconstruct if builtin.length($$.data_columns) != 0: $3: String = $$.path $6: Sequence[transactions.ExportCSVColumn] = $$.data_columns $8: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) @@ -1290,8 +1290,8 @@ def construct_export_csv_config( def construct_export_csv_config_with_source( path: String, - csv_source: Any, - csv_config: Optional[logic.CSVConfig], + csv_source: transactions.ExportCSVSource, + csv_config: logic.CSVConfig, ) -> transactions.ExportCSVConfig: return transactions.ExportCSVConfig( path=path, From 15b982d67d15968c58b6767f1a46fdccc7833048 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 13:48:47 +1100 Subject: [PATCH 10/27] Update pretty printer generator to support field unwrapping under conditionals --- meta/src/meta/pretty_gen.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/src/meta/pretty_gen.py b/meta/src/meta/pretty_gen.py index 7a832f67..cc1719c1 100644 --- a/meta/src/meta/pretty_gen.py +++ b/meta/src/meta/pretty_gen.py @@ -395,8 +395,10 @@ def _generate_pretty_sequence_from_fields( prev_lit_name = None # Extract field from tuple or use directly - if non_lit_count > 1 and isinstance(fields_var.type, TupleType): - elem_type = fields_var.type.elements[field_idx] + is_tuple_type = isinstance(fields_var.type, TupleType) or \ + isinstance(fields_var.type, OptionType) and isinstance(fields_var.type.element_type, TupleType) + if non_lit_count > 1 and is_tuple_type: + elem_type = fields_var.type.elements[field_idx] if isinstance(fields_var.type, TupleType) else fields_var.type.element_type.elements[field_idx] elem_var = Var(gensym("field"), elem_type) elem_expr = GetElement(fields_var, field_idx) pretty_elem = _pretty_print_element( From c2a838b35e326c55794495a506846ee40b0ea4f4 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 13:49:00 +1100 Subject: [PATCH 11/27] Update generated sdks --- sdks/go/src/parser.go | 278 +- sdks/julia/LogicalQueryProtocol/src/parser.jl | 186 +- sdks/python/src/lqp/gen/parser.py | 142 +- sdks/python/src/lqp/gen/pretty.py | 2796 +++++++++-------- 4 files changed, 1740 insertions(+), 1662 deletions(-) diff --git a/sdks/go/src/parser.go b/sdks/go/src/parser.go index 6c92fa6e..f3a73c68 100644 --- a/sdks/go/src/parser.go +++ b/sdks/go/src/parser.go @@ -639,88 +639,107 @@ func toPascalCase(s string) string { // --- Helper functions --- -func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { - if (value != nil && hasProtoField(value, "int_value")) { - return int32(value.GetIntValue()) +func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { + config := dictFromList(config_dict) + _t983 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) + epsilon := _t983 + _t984 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) + max_pivots := _t984 + _t985 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) + max_deltas := _t985 + _t986 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) + max_leaf := _t986 + _t987 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} + storage_config := _t987 + _t988 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) + root_pageid := _t988 + _t989 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) + inline_data := _t989 + _t990 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) + element_count := _t990 + _t991 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) + tree_height := _t991 + _t992 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} + if root_pageid != nil { + _t992.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} + } else { + _t992.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} } - return int32(default_) + relation_locator := _t992 + _t993 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} + return _t993 } -func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { - if (value != nil && hasProtoField(value, "float_value")) { - return ptr(value.GetFloatValue()) - } - return nil +func (p *Parser) construct_export_csv_config_with_source(path string, csv_source *pb.ExportCSVSource, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { + _t994 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} + return _t994 } -func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { - if (value != nil && hasProtoField(value, "int_value")) { - return ptr(value.GetIntValue()) +func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure { + config := dictFromList(config_dict) + maintenance_level_val := dictGetValue(config, "ivm.maintenance_level") + maintenance_level := pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF + if (maintenance_level_val != nil && hasProtoField(maintenance_level_val, "string_value")) { + if maintenance_level_val.GetStringValue() == "off" { + maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF + } else { + if maintenance_level_val.GetStringValue() == "auto" { + maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_AUTO + } else { + if maintenance_level_val.GetStringValue() == "all" { + maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_ALL + } else { + maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF + } + } + } } - return nil + _t995 := &pb.IVMConfig{Level: maintenance_level} + ivm_config := _t995 + _t996 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) + semantics_version := _t996 + _t997 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} + return _t997 } -func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { - config := dictFromList(config_dict) - _t983 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) - partition_size := _t983 - _t984 := p._extract_value_string(dictGetValue(config, "compression"), "") - compression := _t984 - _t985 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) - syntax_header_row := _t985 - _t986 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") - syntax_missing_string := _t986 - _t987 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") - syntax_delim := _t987 - _t988 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") - syntax_quotechar := _t988 - _t989 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") - syntax_escapechar := _t989 - _t990 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} - return _t990 +func (p *Parser) default_configure() *pb.Configure { + _t998 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} + ivm_config := _t998 + _t999 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} + return _t999 } -func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { - config := dictFromList(config_dict) - _t991 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) - epsilon := _t991 - _t992 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) - max_pivots := _t992 - _t993 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) - max_deltas := _t993 - _t994 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) - max_leaf := _t994 - _t995 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} - storage_config := _t995 - _t996 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) - root_pageid := _t996 - _t997 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) - inline_data := _t997 - _t998 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) - element_count := _t998 - _t999 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) - tree_height := _t999 - _t1000 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} - if root_pageid != nil { - _t1000.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} - } else { - _t1000.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} +func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { + if (value != nil && hasProtoField(value, "string_value")) { + return value.GetStringValue() } - relation_locator := _t1000 - _t1001 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} - return _t1001 + return default_ } -func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { - if (value != nil && hasProtoField(value, "string_value")) { - return []string{value.GetStringValue()} +func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { + if (value != nil && hasProtoField(value, "boolean_value")) { + return value.GetBooleanValue() } return default_ } -func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { - if (value != nil && hasProtoField(value, "string_value")) { - return []byte(value.GetStringValue()) +func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { + if (value != nil && hasProtoField(value, "int_value")) { + return value.GetIntValue() + } + return default_ +} + +func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { + if (value != nil && hasProtoField(value, "int_value")) { + return ptr(value.GetIntValue()) + } + return nil +} + +func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { + if (value != nil && hasProtoField(value, "float_value")) { + return ptr(value.GetFloatValue()) } return nil } @@ -732,93 +751,74 @@ func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { return nil } -func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { - config := dictFromList(config_dict) - _t1002 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) - header_row := _t1002 - _t1003 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) - skip := _t1003 - _t1004 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") - new_line := _t1004 - _t1005 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") - delimiter := _t1005 - _t1006 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") - quotechar := _t1006 - _t1007 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") - escapechar := _t1007 - _t1008 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") - comment := _t1008 - _t1009 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) - missing_strings := _t1009 - _t1010 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") - decimal_separator := _t1010 - _t1011 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") - encoding := _t1011 - _t1012 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") - compression := _t1012 - _t1013 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) - partition_size := _t1013 - _t1014 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} - return _t1014 -} - -func (p *Parser) construct_export_csv_config_with_source(path string, csv_source interface{}, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { - _t1015 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} - return _t1015 -} - -func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { - if (value != nil && hasProtoField(value, "boolean_value")) { - return value.GetBooleanValue() +func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { + if (value != nil && hasProtoField(value, "string_value")) { + return []byte(value.GetStringValue()) } - return default_ + return nil } -func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { +func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { if (value != nil && hasProtoField(value, "int_value")) { - return value.GetIntValue() + return int32(value.GetIntValue()) } - return default_ + return int32(default_) } -func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { +func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { + config := dictFromList(config_dict) + _t1000 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) + partition_size := _t1000 + _t1001 := p._extract_value_string(dictGetValue(config, "compression"), "") + compression := _t1001 + _t1002 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) + syntax_header_row := _t1002 + _t1003 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") + syntax_missing_string := _t1003 + _t1004 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") + syntax_delim := _t1004 + _t1005 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") + syntax_quotechar := _t1005 + _t1006 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") + syntax_escapechar := _t1006 + _t1007 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} + return _t1007 +} + +func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { if (value != nil && hasProtoField(value, "string_value")) { - return value.GetStringValue() + return []string{value.GetStringValue()} } return default_ } -func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure { +func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { config := dictFromList(config_dict) - maintenance_level_val := dictGetValue(config, "ivm.maintenance_level") - maintenance_level := pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF - if (maintenance_level_val != nil && hasProtoField(maintenance_level_val, "string_value")) { - if maintenance_level_val.GetStringValue() == "off" { - maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF - } else { - if maintenance_level_val.GetStringValue() == "auto" { - maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_AUTO - } else { - if maintenance_level_val.GetStringValue() == "all" { - maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_ALL - } else { - maintenance_level = pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF - } - } - } - } - _t1016 := &pb.IVMConfig{Level: maintenance_level} - ivm_config := _t1016 - _t1017 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) - semantics_version := _t1017 - _t1018 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} - return _t1018 -} - -func (p *Parser) default_configure() *pb.Configure { - _t1019 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} - ivm_config := _t1019 - _t1020 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} + _t1008 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) + header_row := _t1008 + _t1009 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) + skip := _t1009 + _t1010 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") + new_line := _t1010 + _t1011 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") + delimiter := _t1011 + _t1012 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") + quotechar := _t1012 + _t1013 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") + escapechar := _t1013 + _t1014 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") + comment := _t1014 + _t1015 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) + missing_strings := _t1015 + _t1016 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") + decimal_separator := _t1016 + _t1017 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") + encoding := _t1017 + _t1018 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") + compression := _t1018 + _t1019 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) + partition_size := _t1019 + _t1020 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} return _t1020 } diff --git a/sdks/julia/LogicalQueryProtocol/src/parser.jl b/sdks/julia/LogicalQueryProtocol/src/parser.jl index 3c3386fa..25ae96d6 100644 --- a/sdks/julia/LogicalQueryProtocol/src/parser.jl +++ b/sdks/julia/LogicalQueryProtocol/src/parser.jl @@ -325,89 +325,37 @@ end # --- Helper functions --- -function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} +function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return String[_get_oneof_field(value, :string_value)] + return Vector{UInt8}(_get_oneof_field(value, :string_value)) end - return default -end - -function default_configure(parser::Parser)::Proto.Configure - _t972 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t972 - _t973 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) - return _t973 + return nothing end -function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool - if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) - return _get_oneof_field(value, :boolean_value) +function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} + if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) + return _get_oneof_field(value, :float_value) end - return default + return nothing end -function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int32 +function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return Int32(_get_oneof_field(value, :int_value)) + return _get_oneof_field(value, :int_value) end - return Int32(default) -end - -function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.CSVConfig - config = Dict(config_dict) - _t974 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) - header_row = _t974 - _t975 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) - skip = _t975 - _t976 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") - new_line = _t976 - _t977 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") - delimiter = _t977 - _t978 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") - quotechar = _t978 - _t979 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") - escapechar = _t979 - _t980 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") - comment = _t980 - _t981 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) - missing_strings = _t981 - _t982 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") - decimal_separator = _t982 - _t983 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") - encoding = _t983 - _t984 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") - compression = _t984 - _t985 = _extract_value_int64(parser, get(config, "csv_partition_size_mb", nothing), 0) - partition_size = _t985 - _t986 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) - return _t986 + return nothing end -function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig - config = Dict(config_dict) - _t987 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) - partition_size = _t987 - _t988 = _extract_value_string(parser, get(config, "compression", nothing), "") - compression = _t988 - _t989 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) - syntax_header_row = _t989 - _t990 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") - syntax_missing_string = _t990 - _t991 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") - syntax_delim = _t991 - _t992 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") - syntax_quotechar = _t992 - _t993 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") - syntax_escapechar = _t993 - _t994 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t994 +function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Proto.ExportCSVSource, csv_config::Proto.CSVConfig)::Proto.ExportCSVConfig + _t972 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t972 end -function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} +function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return Vector{UInt8}(_get_oneof_field(value, :string_value)) + return _get_oneof_field(value, :string_value) end - return nothing + return default end function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.Configure @@ -429,19 +377,12 @@ function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, P end end end - _t995 = Proto.IVMConfig(level=maintenance_level) - ivm_config = _t995 - _t996 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) - semantics_version = _t996 - _t997 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t997 -end - -function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return _get_oneof_field(value, :string_value) - end - return default + _t973 = Proto.IVMConfig(level=maintenance_level) + ivm_config = _t973 + _t974 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) + semantics_version = _t974 + _t975 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t975 end function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Proto.UInt128Value} @@ -451,30 +392,89 @@ function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto. return nothing end -function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} - if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return _get_oneof_field(value, :int_value) +function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool + if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) + return _get_oneof_field(value, :boolean_value) end - return nothing + return default end -function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int64 +function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int32 if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return _get_oneof_field(value, :int_value) + return Int32(_get_oneof_field(value, :int_value)) + end + return Int32(default) +end + +function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return String[_get_oneof_field(value, :string_value)] end return default end -function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Any, csv_config::Union{Nothing, Proto.CSVConfig})::Proto.ExportCSVConfig - _t998 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) +function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig + config = Dict(config_dict) + _t976 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) + partition_size = _t976 + _t977 = _extract_value_string(parser, get(config, "compression", nothing), "") + compression = _t977 + _t978 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) + syntax_header_row = _t978 + _t979 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") + syntax_missing_string = _t979 + _t980 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") + syntax_delim = _t980 + _t981 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") + syntax_quotechar = _t981 + _t982 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") + syntax_escapechar = _t982 + _t983 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t983 +end + +function default_configure(parser::Parser)::Proto.Configure + _t984 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t984 + _t985 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) + return _t985 +end + +function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.CSVConfig + config = Dict(config_dict) + _t986 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) + header_row = _t986 + _t987 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) + skip = _t987 + _t988 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") + new_line = _t988 + _t989 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") + delimiter = _t989 + _t990 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") + quotechar = _t990 + _t991 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") + escapechar = _t991 + _t992 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") + comment = _t992 + _t993 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) + missing_strings = _t993 + _t994 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") + decimal_separator = _t994 + _t995 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") + encoding = _t995 + _t996 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") + compression = _t996 + _t997 = _extract_value_int64(parser, get(config, "csv_partition_size_mb", nothing), 0) + partition_size = _t997 + _t998 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) return _t998 end -function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} - if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) - return _get_oneof_field(value, :float_value) +function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int64 + if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) + return _get_oneof_field(value, :int_value) end - return nothing + return default end function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo diff --git a/sdks/python/src/lqp/gen/parser.py b/sdks/python/src/lqp/gen/parser.py index aeb20400..8109ab7c 100644 --- a/sdks/python/src/lqp/gen/parser.py +++ b/sdks/python/src/lqp/gen/parser.py @@ -278,29 +278,29 @@ def relation_id_to_uint128(self, msg): # --- Helper functions --- - def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: + def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t972 = value.HasField('string_value') + _t972 = value.HasField('int_value') else: _t972 = False if _t972: assert value is not None - return value.string_value - return default + return int(value.int_value) + return int(default) - def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: + def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: if value is not None: assert value is not None - _t973 = value.HasField('int_value') + _t973 = value.HasField('boolean_value') else: _t973 = False if _t973: assert value is not None - return value.int_value - return None + return value.boolean_value + return default def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: config = dict(config_dict) @@ -339,17 +339,17 @@ def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional return value.string_value.encode() return None - def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: + def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Optional[float]: if value is not None: assert value is not None - _t986 = value.HasField('int_value') + _t986 = value.HasField('float_value') else: _t986 = False if _t986: assert value is not None - return int(value.int_value) - return int(default) + return value.float_value + return None def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.Configure: config = dict(config_dict) @@ -373,93 +373,93 @@ def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]] _t989 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) return _t989 - def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: + def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: + config = dict(config_dict) + _t990 = self._extract_value_int32(config.get('csv_header_row'), 1) + header_row = _t990 + _t991 = self._extract_value_int64(config.get('csv_skip'), 0) + skip = _t991 + _t992 = self._extract_value_string(config.get('csv_new_line'), '') + new_line = _t992 + _t993 = self._extract_value_string(config.get('csv_delimiter'), ',') + delimiter = _t993 + _t994 = self._extract_value_string(config.get('csv_quotechar'), '"') + quotechar = _t994 + _t995 = self._extract_value_string(config.get('csv_escapechar'), '"') + escapechar = _t995 + _t996 = self._extract_value_string(config.get('csv_comment'), '') + comment = _t996 + _t997 = self._extract_value_string_list(config.get('csv_missing_strings'), []) + missing_strings = _t997 + _t998 = self._extract_value_string(config.get('csv_decimal_separator'), '.') + decimal_separator = _t998 + _t999 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') + encoding = _t999 + _t1000 = self._extract_value_string(config.get('csv_compression'), 'auto') + compression = _t1000 + _t1001 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) + partition_size = _t1001 + _t1002 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + return _t1002 + + def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t990 = value.HasField('uint128_value') + _t1003 = value.HasField('int_value') else: - _t990 = False - if _t990: + _t1003 = False + if _t1003: assert value is not None - return value.uint128_value - return None + return value.int_value + return default - def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: + def construct_export_csv_config_with_source(self, path: str, csv_source: transactions_pb2.ExportCSVSource, csv_config: logic_pb2.CSVConfig) -> transactions_pb2.ExportCSVConfig: + _t1004 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t1004 + + def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: if value is not None: assert value is not None - _t991 = value.HasField('int_value') + _t1005 = value.HasField('string_value') else: - _t991 = False - if _t991: + _t1005 = False + if _t1005: assert value is not None - return value.int_value + return value.string_value return default def default_configure(self) -> transactions_pb2.Configure: - _t992 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t992 - _t993 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) - return _t993 + _t1006 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t1006 + _t1007 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) + return _t1007 - def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: + def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: if value is not None: assert value is not None - _t994 = value.HasField('boolean_value') + _t1008 = value.HasField('uint128_value') else: - _t994 = False - if _t994: + _t1008 = False + if _t1008: assert value is not None - return value.boolean_value - return default - - def construct_export_csv_config_with_source(self, path: str, csv_source: Any, csv_config: Optional[logic_pb2.CSVConfig]) -> transactions_pb2.ExportCSVConfig: - _t995 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) - return _t995 + return value.uint128_value + return None - def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Optional[float]: + def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: if value is not None: assert value is not None - _t996 = value.HasField('float_value') + _t1009 = value.HasField('int_value') else: - _t996 = False - if _t996: + _t1009 = False + if _t1009: assert value is not None - return value.float_value + return value.int_value return None - def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: - config = dict(config_dict) - _t997 = self._extract_value_int32(config.get('csv_header_row'), 1) - header_row = _t997 - _t998 = self._extract_value_int64(config.get('csv_skip'), 0) - skip = _t998 - _t999 = self._extract_value_string(config.get('csv_new_line'), '') - new_line = _t999 - _t1000 = self._extract_value_string(config.get('csv_delimiter'), ',') - delimiter = _t1000 - _t1001 = self._extract_value_string(config.get('csv_quotechar'), '"') - quotechar = _t1001 - _t1002 = self._extract_value_string(config.get('csv_escapechar'), '"') - escapechar = _t1002 - _t1003 = self._extract_value_string(config.get('csv_comment'), '') - comment = _t1003 - _t1004 = self._extract_value_string_list(config.get('csv_missing_strings'), []) - missing_strings = _t1004 - _t1005 = self._extract_value_string(config.get('csv_decimal_separator'), '.') - decimal_separator = _t1005 - _t1006 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') - encoding = _t1006 - _t1007 = self._extract_value_string(config.get('csv_compression'), 'auto') - compression = _t1007 - _t1008 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) - partition_size = _t1008 - _t1009 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) - return _t1009 - def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: config = dict(config_dict) _t1010 = self._extract_value_int64(config.get('partition_size'), 0) diff --git a/sdks/python/src/lqp/gen/pretty.py b/sdks/python/src/lqp/gen/pretty.py index bc14718d..8931d91e 100644 --- a/sdks/python/src/lqp/gen/pretty.py +++ b/sdks/python/src/lqp/gen/pretty.py @@ -118,139 +118,175 @@ def format_string_value(self, s: str) -> str: # --- Helper functions --- - def deconstruct_relation_id_string(self, msg: logic_pb2.RelationId) -> Optional[str]: - name = self.relation_id_to_string(msg) - if name != '': - return name - return None - - def deconstruct_bindings(self, abs: logic_pb2.Abstraction) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: - n = len(abs.vars) - return (abs.vars[0:n], [],) + def deconstruct_configure(self, msg: transactions_pb2.Configure) -> list[tuple[str, logic_pb2.Value]]: + result = [] + if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO: + _t1270 = self._make_value_string('auto') + result.append(('ivm.maintenance_level', _t1270,)) + else: + if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL: + _t1271 = self._make_value_string('all') + result.append(('ivm.maintenance_level', _t1271,)) + else: + if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF: + _t1272 = self._make_value_string('off') + result.append(('ivm.maintenance_level', _t1272,)) + _t1273 = self._make_value_int64(msg.semantics_version) + result.append(('semantics_version', _t1273,)) + return sorted(result) def _make_value_int64(self, v: int) -> logic_pb2.Value: - _t1264 = logic_pb2.Value(int_value=v) - return _t1264 - - def _make_value_uint128(self, v: logic_pb2.UInt128Value) -> logic_pb2.Value: - _t1265 = logic_pb2.Value(uint128_value=v) - return _t1265 + _t1274 = logic_pb2.Value(int_value=v) + return _t1274 def _make_value_string(self, v: str) -> logic_pb2.Value: - _t1266 = logic_pb2.Value(string_value=v) - return _t1266 + _t1275 = logic_pb2.Value(string_value=v) + return _t1275 - def deconstruct_bindings_with_arity(self, abs: logic_pb2.Abstraction, value_arity: int) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: - n = len(abs.vars) - key_end = (n - value_arity) - return (abs.vars[0:key_end], abs.vars[key_end:n],) + def _make_value_boolean(self, v: bool) -> logic_pb2.Value: + _t1276 = logic_pb2.Value(boolean_value=v) + return _t1276 def _make_value_int32(self, v: int) -> logic_pb2.Value: - _t1267 = logic_pb2.Value(int_value=int(v)) - return _t1267 + _t1277 = logic_pb2.Value(int_value=int(v)) + return _t1277 - def _make_value_float64(self, v: float) -> logic_pb2.Value: - _t1268 = logic_pb2.Value(float_value=v) - return _t1268 + def _make_value_uint128(self, v: logic_pb2.UInt128Value) -> logic_pb2.Value: + _t1278 = logic_pb2.Value(uint128_value=v) + return _t1278 + + def deconstruct_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> list[tuple[str, logic_pb2.Value]]: + result = [] + if msg.partition_size is not None: + assert msg.partition_size is not None + _t1279 = self._make_value_int64(msg.partition_size) + result.append(('partition_size', _t1279,)) + if msg.compression is not None: + assert msg.compression is not None + _t1280 = self._make_value_string(msg.compression) + result.append(('compression', _t1280,)) + if msg.syntax_header_row is not None: + assert msg.syntax_header_row is not None + _t1281 = self._make_value_boolean(msg.syntax_header_row) + result.append(('syntax_header_row', _t1281,)) + if msg.syntax_missing_string is not None: + assert msg.syntax_missing_string is not None + _t1282 = self._make_value_string(msg.syntax_missing_string) + result.append(('syntax_missing_string', _t1282,)) + if msg.syntax_delim is not None: + assert msg.syntax_delim is not None + _t1283 = self._make_value_string(msg.syntax_delim) + result.append(('syntax_delim', _t1283,)) + if msg.syntax_quotechar is not None: + assert msg.syntax_quotechar is not None + _t1284 = self._make_value_string(msg.syntax_quotechar) + result.append(('syntax_quotechar', _t1284,)) + if msg.syntax_escapechar is not None: + assert msg.syntax_escapechar is not None + _t1285 = self._make_value_string(msg.syntax_escapechar) + result.append(('syntax_escapechar', _t1285,)) + return sorted(result) + + def deconstruct_relation_id_uint128(self, msg: logic_pb2.RelationId) -> Optional[logic_pb2.UInt128Value]: + name = self.relation_id_to_string(msg) + if name == '': + return self.relation_id_to_uint128(msg) + return None def deconstruct_betree_info_config(self, msg: logic_pb2.BeTreeInfo) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1269 = self._make_value_float64(msg.storage_config.epsilon) - result.append(('betree_config_epsilon', _t1269,)) - _t1270 = self._make_value_int64(msg.storage_config.max_pivots) - result.append(('betree_config_max_pivots', _t1270,)) - _t1271 = self._make_value_int64(msg.storage_config.max_deltas) - result.append(('betree_config_max_deltas', _t1271,)) - _t1272 = self._make_value_int64(msg.storage_config.max_leaf) - result.append(('betree_config_max_leaf', _t1272,)) + _t1286 = self._make_value_float64(msg.storage_config.epsilon) + result.append(('betree_config_epsilon', _t1286,)) + _t1287 = self._make_value_int64(msg.storage_config.max_pivots) + result.append(('betree_config_max_pivots', _t1287,)) + _t1288 = self._make_value_int64(msg.storage_config.max_deltas) + result.append(('betree_config_max_deltas', _t1288,)) + _t1289 = self._make_value_int64(msg.storage_config.max_leaf) + result.append(('betree_config_max_leaf', _t1289,)) if msg.relation_locator.HasField('root_pageid'): if msg.relation_locator.root_pageid is not None: assert msg.relation_locator.root_pageid is not None - _t1273 = self._make_value_uint128(msg.relation_locator.root_pageid) - result.append(('betree_locator_root_pageid', _t1273,)) + _t1290 = self._make_value_uint128(msg.relation_locator.root_pageid) + result.append(('betree_locator_root_pageid', _t1290,)) if msg.relation_locator.HasField('inline_data'): if msg.relation_locator.inline_data is not None: assert msg.relation_locator.inline_data is not None - _t1274 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) - result.append(('betree_locator_inline_data', _t1274,)) - _t1275 = self._make_value_int64(msg.relation_locator.element_count) - result.append(('betree_locator_element_count', _t1275,)) - _t1276 = self._make_value_int64(msg.relation_locator.tree_height) - result.append(('betree_locator_tree_height', _t1276,)) - return sorted(result) - - def deconstruct_configure(self, msg: transactions_pb2.Configure) -> list[tuple[str, logic_pb2.Value]]: - result = [] - if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO: - _t1277 = self._make_value_string('auto') - result.append(('ivm.maintenance_level', _t1277,)) - else: - if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL: - _t1278 = self._make_value_string('all') - result.append(('ivm.maintenance_level', _t1278,)) - else: - if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF: - _t1279 = self._make_value_string('off') - result.append(('ivm.maintenance_level', _t1279,)) - _t1280 = self._make_value_int64(msg.semantics_version) - result.append(('semantics_version', _t1280,)) + _t1291 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) + result.append(('betree_locator_inline_data', _t1291,)) + _t1292 = self._make_value_int64(msg.relation_locator.element_count) + result.append(('betree_locator_element_count', _t1292,)) + _t1293 = self._make_value_int64(msg.relation_locator.tree_height) + result.append(('betree_locator_tree_height', _t1293,)) return sorted(result) - def deconstruct_relation_id_uint128(self, msg: logic_pb2.RelationId) -> Optional[logic_pb2.UInt128Value]: - name = self.relation_id_to_string(msg) - if name == '': - return self.relation_id_to_uint128(msg) - return None + def _make_value_float64(self, v: float) -> logic_pb2.Value: + _t1294 = logic_pb2.Value(float_value=v) + return _t1294 def deconstruct_csv_config(self, msg: logic_pb2.CSVConfig) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1281 = self._make_value_int32(msg.header_row) - result.append(('csv_header_row', _t1281,)) - _t1282 = self._make_value_int64(msg.skip) - result.append(('csv_skip', _t1282,)) + _t1295 = self._make_value_int32(msg.header_row) + result.append(('csv_header_row', _t1295,)) + _t1296 = self._make_value_int64(msg.skip) + result.append(('csv_skip', _t1296,)) if msg.new_line != '': - _t1283 = self._make_value_string(msg.new_line) - result.append(('csv_new_line', _t1283,)) - _t1284 = self._make_value_string(msg.delimiter) - result.append(('csv_delimiter', _t1284,)) - _t1285 = self._make_value_string(msg.quotechar) - result.append(('csv_quotechar', _t1285,)) - _t1286 = self._make_value_string(msg.escapechar) - result.append(('csv_escapechar', _t1286,)) + _t1297 = self._make_value_string(msg.new_line) + result.append(('csv_new_line', _t1297,)) + _t1298 = self._make_value_string(msg.delimiter) + result.append(('csv_delimiter', _t1298,)) + _t1299 = self._make_value_string(msg.quotechar) + result.append(('csv_quotechar', _t1299,)) + _t1300 = self._make_value_string(msg.escapechar) + result.append(('csv_escapechar', _t1300,)) if msg.comment != '': - _t1287 = self._make_value_string(msg.comment) - result.append(('csv_comment', _t1287,)) + _t1301 = self._make_value_string(msg.comment) + result.append(('csv_comment', _t1301,)) for missing_string in msg.missing_strings: - _t1288 = self._make_value_string(missing_string) - result.append(('csv_missing_strings', _t1288,)) - _t1289 = self._make_value_string(msg.decimal_separator) - result.append(('csv_decimal_separator', _t1289,)) - _t1290 = self._make_value_string(msg.encoding) - result.append(('csv_encoding', _t1290,)) - _t1291 = self._make_value_string(msg.compression) - result.append(('csv_compression', _t1291,)) + _t1302 = self._make_value_string(missing_string) + result.append(('csv_missing_strings', _t1302,)) + _t1303 = self._make_value_string(msg.decimal_separator) + result.append(('csv_decimal_separator', _t1303,)) + _t1304 = self._make_value_string(msg.encoding) + result.append(('csv_encoding', _t1304,)) + _t1305 = self._make_value_string(msg.compression) + result.append(('csv_compression', _t1305,)) if msg.partition_size_mb != 0: - _t1292 = self._make_value_int64(msg.partition_size_mb) - result.append(('csv_partition_size_mb', _t1292,)) + _t1306 = self._make_value_int64(msg.partition_size_mb) + result.append(('csv_partition_size_mb', _t1306,)) return sorted(result) + def deconstruct_bindings_with_arity(self, abs: logic_pb2.Abstraction, value_arity: int) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: + n = len(abs.vars) + key_end = (n - value_arity) + return (abs.vars[0:key_end], abs.vars[key_end:n],) + + def deconstruct_bindings(self, abs: logic_pb2.Abstraction) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: + n = len(abs.vars) + return (abs.vars[0:n], [],) + + def deconstruct_relation_id_string(self, msg: logic_pb2.RelationId) -> Optional[str]: + name = self.relation_id_to_string(msg) + if name != '': + return name + return None + # --- Pretty-print methods --- def pretty_transaction(self, msg: transactions_pb2.Transaction) -> Optional[NoReturn]: - def _t497(_dollar_dollar): + def _t495(_dollar_dollar): if _dollar_dollar.HasField('configure'): - _t498 = _dollar_dollar.configure + _t496 = _dollar_dollar.configure else: - _t498 = None + _t496 = None if _dollar_dollar.HasField('sync'): - _t499 = _dollar_dollar.sync + _t497 = _dollar_dollar.sync else: - _t499 = None - return (_t498, _t499, _dollar_dollar.epochs,) - _t500 = _t497(msg) - fields0 = _t500 + _t497 = None + return (_t496, _t497, _dollar_dollar.epochs,) + _t498 = _t495(msg) + fields0 = _t498 assert fields0 is not None unwrapped_fields1 = fields0 self.write('(') @@ -262,53 +298,53 @@ def _t497(_dollar_dollar): self.newline() assert field2 is not None opt_val3 = field2 - _t502 = self.pretty_configure(opt_val3) - _t501 = _t502 + _t500 = self.pretty_configure(opt_val3) + _t499 = _t500 else: - _t501 = None + _t499 = None field4 = unwrapped_fields1[1] if field4 is not None: self.newline() assert field4 is not None opt_val5 = field4 - _t504 = self.pretty_sync(opt_val5) - _t503 = _t504 + _t502 = self.pretty_sync(opt_val5) + _t501 = _t502 else: - _t503 = None + _t501 = None field6 = unwrapped_fields1[2] if not len(field6) == 0: self.newline() for i8, elem7 in enumerate(field6): if (i8 > 0): self.newline() - _t505 = self.pretty_epoch(elem7) + _t503 = self.pretty_epoch(elem7) self.dedent() self.write(')') return None def pretty_configure(self, msg: transactions_pb2.Configure) -> Optional[NoReturn]: - def _t506(_dollar_dollar): - _t507 = self.deconstruct_configure(_dollar_dollar) - return _t507 - _t508 = _t506(msg) - fields9 = _t508 + def _t504(_dollar_dollar): + _t505 = self.deconstruct_configure(_dollar_dollar) + return _t505 + _t506 = _t504(msg) + fields9 = _t506 assert fields9 is not None unwrapped_fields10 = fields9 self.write('(') self.write('configure') self.indent() self.newline() - _t509 = self.pretty_config_dict(unwrapped_fields10) + _t507 = self.pretty_config_dict(unwrapped_fields10) self.dedent() self.write(')') return None def pretty_config_dict(self, msg: Sequence[tuple[str, logic_pb2.Value]]) -> Optional[NoReturn]: - def _t510(_dollar_dollar): + def _t508(_dollar_dollar): return _dollar_dollar - _t511 = _t510(msg) - fields11 = _t511 + _t509 = _t508(msg) + fields11 = _t509 assert fields11 is not None unwrapped_fields12 = fields11 self.write('{') @@ -317,15 +353,15 @@ def _t510(_dollar_dollar): for i14, elem13 in enumerate(unwrapped_fields12): if (i14 > 0): self.newline() - _t512 = self.pretty_config_key_value(elem13) + _t510 = self.pretty_config_key_value(elem13) self.write('}') return None def pretty_config_key_value(self, msg: tuple[str, logic_pb2.Value]) -> Optional[NoReturn]: - def _t513(_dollar_dollar): + def _t511(_dollar_dollar): return (_dollar_dollar[0], _dollar_dollar[1],) - _t514 = _t513(msg) - fields15 = _t514 + _t512 = _t511(msg) + fields15 = _t512 assert fields15 is not None unwrapped_fields16 = fields15 self.write(':') @@ -333,159 +369,159 @@ def _t513(_dollar_dollar): self.write(field17) self.write(' ') field18 = unwrapped_fields16[1] - _t515 = self.pretty_value(field18) - return _t515 + _t513 = self.pretty_value(field18) + return _t513 def pretty_value(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t516(_dollar_dollar): + def _t514(_dollar_dollar): if _dollar_dollar.HasField('date_value'): - _t517 = _dollar_dollar.date_value + _t515 = _dollar_dollar.date_value else: - _t517 = None - return _t517 - _t518 = _t516(msg) - deconstruct_result29 = _t518 + _t515 = None + return _t515 + _t516 = _t514(msg) + deconstruct_result29 = _t516 if deconstruct_result29 is not None: - _t520 = self.pretty_date(deconstruct_result29) - _t519 = _t520 + _t518 = self.pretty_date(deconstruct_result29) + _t517 = _t518 else: - def _t521(_dollar_dollar): + def _t519(_dollar_dollar): if _dollar_dollar.HasField('datetime_value'): - _t522 = _dollar_dollar.datetime_value + _t520 = _dollar_dollar.datetime_value else: - _t522 = None - return _t522 - _t523 = _t521(msg) - deconstruct_result28 = _t523 + _t520 = None + return _t520 + _t521 = _t519(msg) + deconstruct_result28 = _t521 if deconstruct_result28 is not None: - _t525 = self.pretty_datetime(deconstruct_result28) - _t524 = _t525 + _t523 = self.pretty_datetime(deconstruct_result28) + _t522 = _t523 else: - def _t526(_dollar_dollar): + def _t524(_dollar_dollar): if _dollar_dollar.HasField('string_value'): - _t527 = _dollar_dollar.string_value + _t525 = _dollar_dollar.string_value else: - _t527 = None - return _t527 - _t528 = _t526(msg) - deconstruct_result27 = _t528 + _t525 = None + return _t525 + _t526 = _t524(msg) + deconstruct_result27 = _t526 if deconstruct_result27 is not None: self.write(self.format_string_value(deconstruct_result27)) - _t529 = None + _t527 = None else: - def _t530(_dollar_dollar): + def _t528(_dollar_dollar): if _dollar_dollar.HasField('int_value'): - _t531 = _dollar_dollar.int_value + _t529 = _dollar_dollar.int_value else: - _t531 = None - return _t531 - _t532 = _t530(msg) - deconstruct_result26 = _t532 + _t529 = None + return _t529 + _t530 = _t528(msg) + deconstruct_result26 = _t530 if deconstruct_result26 is not None: self.write(str(deconstruct_result26)) - _t533 = None + _t531 = None else: - def _t534(_dollar_dollar): + def _t532(_dollar_dollar): if _dollar_dollar.HasField('float_value'): - _t535 = _dollar_dollar.float_value + _t533 = _dollar_dollar.float_value else: - _t535 = None - return _t535 - _t536 = _t534(msg) - deconstruct_result25 = _t536 + _t533 = None + return _t533 + _t534 = _t532(msg) + deconstruct_result25 = _t534 if deconstruct_result25 is not None: self.write(str(deconstruct_result25)) - _t537 = None + _t535 = None else: - def _t538(_dollar_dollar): + def _t536(_dollar_dollar): if _dollar_dollar.HasField('uint128_value'): - _t539 = _dollar_dollar.uint128_value + _t537 = _dollar_dollar.uint128_value else: - _t539 = None - return _t539 - _t540 = _t538(msg) - deconstruct_result24 = _t540 + _t537 = None + return _t537 + _t538 = _t536(msg) + deconstruct_result24 = _t538 if deconstruct_result24 is not None: self.write(self.format_uint128(deconstruct_result24)) - _t541 = None + _t539 = None else: - def _t542(_dollar_dollar): + def _t540(_dollar_dollar): if _dollar_dollar.HasField('int128_value'): - _t543 = _dollar_dollar.int128_value + _t541 = _dollar_dollar.int128_value else: - _t543 = None - return _t543 - _t544 = _t542(msg) - deconstruct_result23 = _t544 + _t541 = None + return _t541 + _t542 = _t540(msg) + deconstruct_result23 = _t542 if deconstruct_result23 is not None: self.write(self.format_int128(deconstruct_result23)) - _t545 = None + _t543 = None else: - def _t546(_dollar_dollar): + def _t544(_dollar_dollar): if _dollar_dollar.HasField('decimal_value'): - _t547 = _dollar_dollar.decimal_value + _t545 = _dollar_dollar.decimal_value else: - _t547 = None - return _t547 - _t548 = _t546(msg) - deconstruct_result22 = _t548 + _t545 = None + return _t545 + _t546 = _t544(msg) + deconstruct_result22 = _t546 if deconstruct_result22 is not None: self.write(self.format_decimal(deconstruct_result22)) - _t549 = None + _t547 = None else: - def _t550(_dollar_dollar): + def _t548(_dollar_dollar): if _dollar_dollar.HasField('boolean_value'): - _t551 = _dollar_dollar.boolean_value + _t549 = _dollar_dollar.boolean_value else: - _t551 = None - return _t551 - _t552 = _t550(msg) - deconstruct_result21 = _t552 + _t549 = None + return _t549 + _t550 = _t548(msg) + deconstruct_result21 = _t550 if deconstruct_result21 is not None: - _t554 = self.pretty_boolean_value(deconstruct_result21) - _t553 = _t554 + _t552 = self.pretty_boolean_value(deconstruct_result21) + _t551 = _t552 else: - def _t555(_dollar_dollar): + def _t553(_dollar_dollar): return _dollar_dollar - _t556 = _t555(msg) - fields19 = _t556 + _t554 = _t553(msg) + fields19 = _t554 assert fields19 is not None unwrapped_fields20 = fields19 self.write('missing') - _t553 = None - _t549 = _t553 - _t545 = _t549 - _t541 = _t545 - _t537 = _t541 - _t533 = _t537 - _t529 = _t533 - _t524 = _t529 - _t519 = _t524 - return _t519 + _t551 = None + _t547 = _t551 + _t543 = _t547 + _t539 = _t543 + _t535 = _t539 + _t531 = _t535 + _t527 = _t531 + _t522 = _t527 + _t517 = _t522 + return _t517 def pretty_date(self, msg: logic_pb2.DateValue) -> Optional[NoReturn]: - def _t557(_dollar_dollar): + def _t555(_dollar_dollar): return (int(_dollar_dollar.year), int(_dollar_dollar.month), int(_dollar_dollar.day),) - _t558 = _t557(msg) - fields30 = _t558 + _t556 = _t555(msg) + fields30 = _t556 assert fields30 is not None unwrapped_fields31 = fields30 self.write('(') @@ -505,10 +541,10 @@ def _t557(_dollar_dollar): return None def pretty_datetime(self, msg: logic_pb2.DateTimeValue) -> Optional[NoReturn]: - def _t559(_dollar_dollar): + def _t557(_dollar_dollar): return (int(_dollar_dollar.year), int(_dollar_dollar.month), int(_dollar_dollar.day), int(_dollar_dollar.hour), int(_dollar_dollar.minute), int(_dollar_dollar.second), int(_dollar_dollar.microsecond),) - _t560 = _t559(msg) - fields35 = _t560 + _t558 = _t557(msg) + fields35 = _t558 assert fields35 is not None unwrapped_fields36 = fields35 self.write('(') @@ -543,27 +579,27 @@ def _t559(_dollar_dollar): return None def pretty_boolean_value(self, msg: bool) -> Optional[NoReturn]: - def _t561(_dollar_dollar): + def _t559(_dollar_dollar): if _dollar_dollar: - _t562 = () + _t560 = () else: - _t562 = None - return _t562 - _t563 = _t561(msg) - deconstruct_result46 = _t563 + _t560 = None + return _t560 + _t561 = _t559(msg) + deconstruct_result46 = _t561 if deconstruct_result46 is not None: self.write('true') else: - def _t564(_dollar_dollar): + def _t562(_dollar_dollar): if not _dollar_dollar: - _t565 = () + _t563 = () else: - _t565 = None - return _t565 - _t566 = _t564(msg) - deconstruct_result45 = _t566 + _t563 = None + return _t563 + _t564 = _t562(msg) + deconstruct_result45 = _t564 if deconstruct_result45 is not None: self.write('false') else: @@ -571,10 +607,10 @@ def _t564(_dollar_dollar): return None def pretty_sync(self, msg: transactions_pb2.Sync) -> Optional[NoReturn]: - def _t567(_dollar_dollar): + def _t565(_dollar_dollar): return _dollar_dollar.fragments - _t568 = _t567(msg) - fields47 = _t568 + _t566 = _t565(msg) + fields47 = _t566 assert fields47 is not None unwrapped_fields48 = fields47 self.write('(') @@ -585,16 +621,16 @@ def _t567(_dollar_dollar): for i50, elem49 in enumerate(unwrapped_fields48): if (i50 > 0): self.newline() - _t569 = self.pretty_fragment_id(elem49) + _t567 = self.pretty_fragment_id(elem49) self.dedent() self.write(')') return None def pretty_fragment_id(self, msg: fragments_pb2.FragmentId) -> Optional[NoReturn]: - def _t570(_dollar_dollar): + def _t568(_dollar_dollar): return self.fragment_id_to_string(_dollar_dollar) - _t571 = _t570(msg) - fields51 = _t571 + _t569 = _t568(msg) + fields51 = _t569 assert fields51 is not None unwrapped_fields52 = fields51 self.write(':') @@ -602,20 +638,20 @@ def _t570(_dollar_dollar): return None def pretty_epoch(self, msg: transactions_pb2.Epoch) -> Optional[NoReturn]: - def _t572(_dollar_dollar): + def _t570(_dollar_dollar): if not len(_dollar_dollar.writes) == 0: - _t573 = _dollar_dollar.writes + _t571 = _dollar_dollar.writes else: - _t573 = None + _t571 = None if not len(_dollar_dollar.reads) == 0: - _t574 = _dollar_dollar.reads + _t572 = _dollar_dollar.reads else: - _t574 = None - return (_t573, _t574,) - _t575 = _t572(msg) - fields53 = _t575 + _t572 = None + return (_t571, _t572,) + _t573 = _t570(msg) + fields53 = _t573 assert fields53 is not None unwrapped_fields54 = fields53 self.write('(') @@ -627,29 +663,29 @@ def _t572(_dollar_dollar): self.newline() assert field55 is not None opt_val56 = field55 - _t577 = self.pretty_epoch_writes(opt_val56) - _t576 = _t577 + _t575 = self.pretty_epoch_writes(opt_val56) + _t574 = _t575 else: - _t576 = None + _t574 = None field57 = unwrapped_fields54[1] if field57 is not None: self.newline() assert field57 is not None opt_val58 = field57 - _t579 = self.pretty_epoch_reads(opt_val58) - _t578 = _t579 + _t577 = self.pretty_epoch_reads(opt_val58) + _t576 = _t577 else: - _t578 = None + _t576 = None self.dedent() self.write(')') return None def pretty_epoch_writes(self, msg: Sequence[transactions_pb2.Write]) -> Optional[NoReturn]: - def _t580(_dollar_dollar): + def _t578(_dollar_dollar): return _dollar_dollar - _t581 = _t580(msg) - fields59 = _t581 + _t579 = _t578(msg) + fields59 = _t579 assert fields59 is not None unwrapped_fields60 = fields59 self.write('(') @@ -660,81 +696,81 @@ def _t580(_dollar_dollar): for i62, elem61 in enumerate(unwrapped_fields60): if (i62 > 0): self.newline() - _t582 = self.pretty_write(elem61) + _t580 = self.pretty_write(elem61) self.dedent() self.write(')') return None def pretty_write(self, msg: transactions_pb2.Write) -> Optional[NoReturn]: - def _t583(_dollar_dollar): + def _t581(_dollar_dollar): if _dollar_dollar.HasField('define'): - _t584 = _dollar_dollar.define + _t582 = _dollar_dollar.define else: - _t584 = None - return _t584 - _t585 = _t583(msg) - deconstruct_result65 = _t585 + _t582 = None + return _t582 + _t583 = _t581(msg) + deconstruct_result65 = _t583 if deconstruct_result65 is not None: - _t587 = self.pretty_define(deconstruct_result65) - _t586 = _t587 + _t585 = self.pretty_define(deconstruct_result65) + _t584 = _t585 else: - def _t588(_dollar_dollar): + def _t586(_dollar_dollar): if _dollar_dollar.HasField('undefine'): - _t589 = _dollar_dollar.undefine + _t587 = _dollar_dollar.undefine else: - _t589 = None - return _t589 - _t590 = _t588(msg) - deconstruct_result64 = _t590 + _t587 = None + return _t587 + _t588 = _t586(msg) + deconstruct_result64 = _t588 if deconstruct_result64 is not None: - _t592 = self.pretty_undefine(deconstruct_result64) - _t591 = _t592 + _t590 = self.pretty_undefine(deconstruct_result64) + _t589 = _t590 else: - def _t593(_dollar_dollar): + def _t591(_dollar_dollar): if _dollar_dollar.HasField('context'): - _t594 = _dollar_dollar.context + _t592 = _dollar_dollar.context else: - _t594 = None - return _t594 - _t595 = _t593(msg) - deconstruct_result63 = _t595 + _t592 = None + return _t592 + _t593 = _t591(msg) + deconstruct_result63 = _t593 if deconstruct_result63 is not None: - _t597 = self.pretty_context(deconstruct_result63) - _t596 = _t597 + _t595 = self.pretty_context(deconstruct_result63) + _t594 = _t595 else: raise ParseError('No matching rule for write') - _t591 = _t596 - _t586 = _t591 - return _t586 + _t589 = _t594 + _t584 = _t589 + return _t584 def pretty_define(self, msg: transactions_pb2.Define) -> Optional[NoReturn]: - def _t598(_dollar_dollar): + def _t596(_dollar_dollar): return _dollar_dollar.fragment - _t599 = _t598(msg) - fields66 = _t599 + _t597 = _t596(msg) + fields66 = _t597 assert fields66 is not None unwrapped_fields67 = fields66 self.write('(') self.write('define') self.indent() self.newline() - _t600 = self.pretty_fragment(unwrapped_fields67) + _t598 = self.pretty_fragment(unwrapped_fields67) self.dedent() self.write(')') return None def pretty_fragment(self, msg: fragments_pb2.Fragment) -> Optional[NoReturn]: - def _t601(_dollar_dollar): - _t602 = self.start_pretty_fragment(_dollar_dollar) + def _t599(_dollar_dollar): + _t600 = self.start_pretty_fragment(_dollar_dollar) return (_dollar_dollar.id, _dollar_dollar.declarations,) - _t603 = _t601(msg) - fields68 = _t603 + _t601 = _t599(msg) + fields68 = _t601 assert fields68 is not None unwrapped_fields69 = fields68 self.write('(') @@ -742,101 +778,101 @@ def _t601(_dollar_dollar): self.indent() self.newline() field70 = unwrapped_fields69[0] - _t604 = self.pretty_new_fragment_id(field70) + _t602 = self.pretty_new_fragment_id(field70) field71 = unwrapped_fields69[1] if not len(field71) == 0: self.newline() for i73, elem72 in enumerate(field71): if (i73 > 0): self.newline() - _t605 = self.pretty_declaration(elem72) + _t603 = self.pretty_declaration(elem72) self.dedent() self.write(')') return None def pretty_new_fragment_id(self, msg: fragments_pb2.FragmentId) -> Optional[NoReturn]: - def _t606(_dollar_dollar): + def _t604(_dollar_dollar): return _dollar_dollar - _t607 = _t606(msg) - fields74 = _t607 + _t605 = _t604(msg) + fields74 = _t605 assert fields74 is not None unwrapped_fields75 = fields74 - _t608 = self.pretty_fragment_id(unwrapped_fields75) - return _t608 + _t606 = self.pretty_fragment_id(unwrapped_fields75) + return _t606 def pretty_declaration(self, msg: logic_pb2.Declaration) -> Optional[NoReturn]: - def _t609(_dollar_dollar): + def _t607(_dollar_dollar): if _dollar_dollar.HasField('def'): - _t610 = getattr(_dollar_dollar, 'def') + _t608 = getattr(_dollar_dollar, 'def') else: - _t610 = None - return _t610 - _t611 = _t609(msg) - deconstruct_result79 = _t611 + _t608 = None + return _t608 + _t609 = _t607(msg) + deconstruct_result79 = _t609 if deconstruct_result79 is not None: - _t613 = self.pretty_def(deconstruct_result79) - _t612 = _t613 + _t611 = self.pretty_def(deconstruct_result79) + _t610 = _t611 else: - def _t614(_dollar_dollar): + def _t612(_dollar_dollar): if _dollar_dollar.HasField('algorithm'): - _t615 = _dollar_dollar.algorithm + _t613 = _dollar_dollar.algorithm else: - _t615 = None - return _t615 - _t616 = _t614(msg) - deconstruct_result78 = _t616 + _t613 = None + return _t613 + _t614 = _t612(msg) + deconstruct_result78 = _t614 if deconstruct_result78 is not None: - _t618 = self.pretty_algorithm(deconstruct_result78) - _t617 = _t618 + _t616 = self.pretty_algorithm(deconstruct_result78) + _t615 = _t616 else: - def _t619(_dollar_dollar): + def _t617(_dollar_dollar): if _dollar_dollar.HasField('constraint'): - _t620 = _dollar_dollar.constraint + _t618 = _dollar_dollar.constraint else: - _t620 = None - return _t620 - _t621 = _t619(msg) - deconstruct_result77 = _t621 + _t618 = None + return _t618 + _t619 = _t617(msg) + deconstruct_result77 = _t619 if deconstruct_result77 is not None: - _t623 = self.pretty_constraint(deconstruct_result77) - _t622 = _t623 + _t621 = self.pretty_constraint(deconstruct_result77) + _t620 = _t621 else: - def _t624(_dollar_dollar): + def _t622(_dollar_dollar): if _dollar_dollar.HasField('data'): - _t625 = _dollar_dollar.data + _t623 = _dollar_dollar.data else: - _t625 = None - return _t625 - _t626 = _t624(msg) - deconstruct_result76 = _t626 + _t623 = None + return _t623 + _t624 = _t622(msg) + deconstruct_result76 = _t624 if deconstruct_result76 is not None: - _t628 = self.pretty_data(deconstruct_result76) - _t627 = _t628 + _t626 = self.pretty_data(deconstruct_result76) + _t625 = _t626 else: raise ParseError('No matching rule for declaration') - _t622 = _t627 - _t617 = _t622 - _t612 = _t617 - return _t612 + _t620 = _t625 + _t615 = _t620 + _t610 = _t615 + return _t610 def pretty_def(self, msg: logic_pb2.Def) -> Optional[NoReturn]: - def _t629(_dollar_dollar): + def _t627(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t630 = _dollar_dollar.attrs + _t628 = _dollar_dollar.attrs else: - _t630 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t630,) - _t631 = _t629(msg) - fields80 = _t631 + _t628 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t628,) + _t629 = _t627(msg) + fields80 = _t629 assert fields80 is not None unwrapped_fields81 = fields80 self.write('(') @@ -844,39 +880,39 @@ def _t629(_dollar_dollar): self.indent() self.newline() field82 = unwrapped_fields81[0] - _t632 = self.pretty_relation_id(field82) + _t630 = self.pretty_relation_id(field82) self.newline() field83 = unwrapped_fields81[1] - _t633 = self.pretty_abstraction(field83) + _t631 = self.pretty_abstraction(field83) field84 = unwrapped_fields81[2] if field84 is not None: self.newline() assert field84 is not None opt_val85 = field84 - _t635 = self.pretty_attrs(opt_val85) - _t634 = _t635 + _t633 = self.pretty_attrs(opt_val85) + _t632 = _t633 else: - _t634 = None + _t632 = None self.dedent() self.write(')') return None def pretty_relation_id(self, msg: logic_pb2.RelationId) -> Optional[NoReturn]: - def _t636(_dollar_dollar): - _t637 = self.deconstruct_relation_id_string(_dollar_dollar) - return _t637 - _t638 = _t636(msg) - deconstruct_result87 = _t638 + def _t634(_dollar_dollar): + _t635 = self.deconstruct_relation_id_string(_dollar_dollar) + return _t635 + _t636 = _t634(msg) + deconstruct_result87 = _t636 if deconstruct_result87 is not None: self.write(':') self.write(deconstruct_result87) else: - def _t639(_dollar_dollar): - _t640 = self.deconstruct_relation_id_uint128(_dollar_dollar) - return _t640 - _t641 = _t639(msg) - deconstruct_result86 = _t641 + def _t637(_dollar_dollar): + _t638 = self.deconstruct_relation_id_uint128(_dollar_dollar) + return _t638 + _t639 = _t637(msg) + deconstruct_result86 = _t639 if deconstruct_result86 is not None: self.write(self.format_uint128(deconstruct_result86)) else: @@ -884,32 +920,32 @@ def _t639(_dollar_dollar): return None def pretty_abstraction(self, msg: logic_pb2.Abstraction) -> Optional[NoReturn]: - def _t642(_dollar_dollar): - _t643 = self.deconstruct_bindings(_dollar_dollar) - return (_t643, _dollar_dollar.value,) - _t644 = _t642(msg) - fields88 = _t644 + def _t640(_dollar_dollar): + _t641 = self.deconstruct_bindings(_dollar_dollar) + return (_t641, _dollar_dollar.value,) + _t642 = _t640(msg) + fields88 = _t642 assert fields88 is not None unwrapped_fields89 = fields88 self.write('(') field90 = unwrapped_fields89[0] - _t645 = self.pretty_bindings(field90) + _t643 = self.pretty_bindings(field90) self.write(' ') field91 = unwrapped_fields89[1] - _t646 = self.pretty_formula(field91) + _t644 = self.pretty_formula(field91) self.write(')') return None def pretty_bindings(self, msg: tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]) -> Optional[NoReturn]: - def _t647(_dollar_dollar): + def _t645(_dollar_dollar): if not len(_dollar_dollar[1]) == 0: - _t648 = _dollar_dollar[1] + _t646 = _dollar_dollar[1] else: - _t648 = None - return (_dollar_dollar[0], _t648,) - _t649 = _t647(msg) - fields92 = _t649 + _t646 = None + return (_dollar_dollar[0], _t646,) + _t647 = _t645(msg) + fields92 = _t647 assert fields92 is not None unwrapped_fields93 = fields92 self.write('[') @@ -917,297 +953,297 @@ def _t647(_dollar_dollar): for i96, elem95 in enumerate(field94): if (i96 > 0): self.newline() - _t650 = self.pretty_binding(elem95) + _t648 = self.pretty_binding(elem95) field97 = unwrapped_fields93[1] if field97 is not None: self.write(' ') assert field97 is not None opt_val98 = field97 - _t652 = self.pretty_value_bindings(opt_val98) - _t651 = _t652 + _t650 = self.pretty_value_bindings(opt_val98) + _t649 = _t650 else: - _t651 = None + _t649 = None self.write(']') return None def pretty_binding(self, msg: logic_pb2.Binding) -> Optional[NoReturn]: - def _t653(_dollar_dollar): + def _t651(_dollar_dollar): return (_dollar_dollar.var.name, _dollar_dollar.type,) - _t654 = _t653(msg) - fields99 = _t654 + _t652 = _t651(msg) + fields99 = _t652 assert fields99 is not None unwrapped_fields100 = fields99 field101 = unwrapped_fields100[0] self.write(field101) self.write('::') field102 = unwrapped_fields100[1] - _t655 = self.pretty_type(field102) - return _t655 + _t653 = self.pretty_type(field102) + return _t653 def pretty_type(self, msg: logic_pb2.Type) -> Optional[NoReturn]: - def _t656(_dollar_dollar): + def _t654(_dollar_dollar): if _dollar_dollar.HasField('unspecified_type'): - _t657 = _dollar_dollar.unspecified_type + _t655 = _dollar_dollar.unspecified_type else: - _t657 = None - return _t657 - _t658 = _t656(msg) - deconstruct_result113 = _t658 + _t655 = None + return _t655 + _t656 = _t654(msg) + deconstruct_result113 = _t656 if deconstruct_result113 is not None: - _t660 = self.pretty_unspecified_type(deconstruct_result113) - _t659 = _t660 + _t658 = self.pretty_unspecified_type(deconstruct_result113) + _t657 = _t658 else: - def _t661(_dollar_dollar): + def _t659(_dollar_dollar): if _dollar_dollar.HasField('string_type'): - _t662 = _dollar_dollar.string_type + _t660 = _dollar_dollar.string_type else: - _t662 = None - return _t662 - _t663 = _t661(msg) - deconstruct_result112 = _t663 + _t660 = None + return _t660 + _t661 = _t659(msg) + deconstruct_result112 = _t661 if deconstruct_result112 is not None: - _t665 = self.pretty_string_type(deconstruct_result112) - _t664 = _t665 + _t663 = self.pretty_string_type(deconstruct_result112) + _t662 = _t663 else: - def _t666(_dollar_dollar): + def _t664(_dollar_dollar): if _dollar_dollar.HasField('int_type'): - _t667 = _dollar_dollar.int_type + _t665 = _dollar_dollar.int_type else: - _t667 = None - return _t667 - _t668 = _t666(msg) - deconstruct_result111 = _t668 + _t665 = None + return _t665 + _t666 = _t664(msg) + deconstruct_result111 = _t666 if deconstruct_result111 is not None: - _t670 = self.pretty_int_type(deconstruct_result111) - _t669 = _t670 + _t668 = self.pretty_int_type(deconstruct_result111) + _t667 = _t668 else: - def _t671(_dollar_dollar): + def _t669(_dollar_dollar): if _dollar_dollar.HasField('float_type'): - _t672 = _dollar_dollar.float_type + _t670 = _dollar_dollar.float_type else: - _t672 = None - return _t672 - _t673 = _t671(msg) - deconstruct_result110 = _t673 + _t670 = None + return _t670 + _t671 = _t669(msg) + deconstruct_result110 = _t671 if deconstruct_result110 is not None: - _t675 = self.pretty_float_type(deconstruct_result110) - _t674 = _t675 + _t673 = self.pretty_float_type(deconstruct_result110) + _t672 = _t673 else: - def _t676(_dollar_dollar): + def _t674(_dollar_dollar): if _dollar_dollar.HasField('uint128_type'): - _t677 = _dollar_dollar.uint128_type + _t675 = _dollar_dollar.uint128_type else: - _t677 = None - return _t677 - _t678 = _t676(msg) - deconstruct_result109 = _t678 + _t675 = None + return _t675 + _t676 = _t674(msg) + deconstruct_result109 = _t676 if deconstruct_result109 is not None: - _t680 = self.pretty_uint128_type(deconstruct_result109) - _t679 = _t680 + _t678 = self.pretty_uint128_type(deconstruct_result109) + _t677 = _t678 else: - def _t681(_dollar_dollar): + def _t679(_dollar_dollar): if _dollar_dollar.HasField('int128_type'): - _t682 = _dollar_dollar.int128_type + _t680 = _dollar_dollar.int128_type else: - _t682 = None - return _t682 - _t683 = _t681(msg) - deconstruct_result108 = _t683 + _t680 = None + return _t680 + _t681 = _t679(msg) + deconstruct_result108 = _t681 if deconstruct_result108 is not None: - _t685 = self.pretty_int128_type(deconstruct_result108) - _t684 = _t685 + _t683 = self.pretty_int128_type(deconstruct_result108) + _t682 = _t683 else: - def _t686(_dollar_dollar): + def _t684(_dollar_dollar): if _dollar_dollar.HasField('date_type'): - _t687 = _dollar_dollar.date_type + _t685 = _dollar_dollar.date_type else: - _t687 = None - return _t687 - _t688 = _t686(msg) - deconstruct_result107 = _t688 + _t685 = None + return _t685 + _t686 = _t684(msg) + deconstruct_result107 = _t686 if deconstruct_result107 is not None: - _t690 = self.pretty_date_type(deconstruct_result107) - _t689 = _t690 + _t688 = self.pretty_date_type(deconstruct_result107) + _t687 = _t688 else: - def _t691(_dollar_dollar): + def _t689(_dollar_dollar): if _dollar_dollar.HasField('datetime_type'): - _t692 = _dollar_dollar.datetime_type + _t690 = _dollar_dollar.datetime_type else: - _t692 = None - return _t692 - _t693 = _t691(msg) - deconstruct_result106 = _t693 + _t690 = None + return _t690 + _t691 = _t689(msg) + deconstruct_result106 = _t691 if deconstruct_result106 is not None: - _t695 = self.pretty_datetime_type(deconstruct_result106) - _t694 = _t695 + _t693 = self.pretty_datetime_type(deconstruct_result106) + _t692 = _t693 else: - def _t696(_dollar_dollar): + def _t694(_dollar_dollar): if _dollar_dollar.HasField('missing_type'): - _t697 = _dollar_dollar.missing_type + _t695 = _dollar_dollar.missing_type else: - _t697 = None - return _t697 - _t698 = _t696(msg) - deconstruct_result105 = _t698 + _t695 = None + return _t695 + _t696 = _t694(msg) + deconstruct_result105 = _t696 if deconstruct_result105 is not None: - _t700 = self.pretty_missing_type(deconstruct_result105) - _t699 = _t700 + _t698 = self.pretty_missing_type(deconstruct_result105) + _t697 = _t698 else: - def _t701(_dollar_dollar): + def _t699(_dollar_dollar): if _dollar_dollar.HasField('decimal_type'): - _t702 = _dollar_dollar.decimal_type + _t700 = _dollar_dollar.decimal_type else: - _t702 = None - return _t702 - _t703 = _t701(msg) - deconstruct_result104 = _t703 + _t700 = None + return _t700 + _t701 = _t699(msg) + deconstruct_result104 = _t701 if deconstruct_result104 is not None: - _t705 = self.pretty_decimal_type(deconstruct_result104) - _t704 = _t705 + _t703 = self.pretty_decimal_type(deconstruct_result104) + _t702 = _t703 else: - def _t706(_dollar_dollar): + def _t704(_dollar_dollar): if _dollar_dollar.HasField('boolean_type'): - _t707 = _dollar_dollar.boolean_type + _t705 = _dollar_dollar.boolean_type else: - _t707 = None - return _t707 - _t708 = _t706(msg) - deconstruct_result103 = _t708 + _t705 = None + return _t705 + _t706 = _t704(msg) + deconstruct_result103 = _t706 if deconstruct_result103 is not None: - _t710 = self.pretty_boolean_type(deconstruct_result103) - _t709 = _t710 + _t708 = self.pretty_boolean_type(deconstruct_result103) + _t707 = _t708 else: raise ParseError('No matching rule for type') - _t704 = _t709 - _t699 = _t704 - _t694 = _t699 - _t689 = _t694 - _t684 = _t689 - _t679 = _t684 - _t674 = _t679 - _t669 = _t674 - _t664 = _t669 - _t659 = _t664 - return _t659 + _t702 = _t707 + _t697 = _t702 + _t692 = _t697 + _t687 = _t692 + _t682 = _t687 + _t677 = _t682 + _t672 = _t677 + _t667 = _t672 + _t662 = _t667 + _t657 = _t662 + return _t657 def pretty_unspecified_type(self, msg: logic_pb2.UnspecifiedType) -> Optional[NoReturn]: - def _t711(_dollar_dollar): + def _t709(_dollar_dollar): return _dollar_dollar - _t712 = _t711(msg) - fields114 = _t712 + _t710 = _t709(msg) + fields114 = _t710 assert fields114 is not None unwrapped_fields115 = fields114 self.write('UNKNOWN') return None def pretty_string_type(self, msg: logic_pb2.StringType) -> Optional[NoReturn]: - def _t713(_dollar_dollar): + def _t711(_dollar_dollar): return _dollar_dollar - _t714 = _t713(msg) - fields116 = _t714 + _t712 = _t711(msg) + fields116 = _t712 assert fields116 is not None unwrapped_fields117 = fields116 self.write('STRING') return None def pretty_int_type(self, msg: logic_pb2.IntType) -> Optional[NoReturn]: - def _t715(_dollar_dollar): + def _t713(_dollar_dollar): return _dollar_dollar - _t716 = _t715(msg) - fields118 = _t716 + _t714 = _t713(msg) + fields118 = _t714 assert fields118 is not None unwrapped_fields119 = fields118 self.write('INT') return None def pretty_float_type(self, msg: logic_pb2.FloatType) -> Optional[NoReturn]: - def _t717(_dollar_dollar): + def _t715(_dollar_dollar): return _dollar_dollar - _t718 = _t717(msg) - fields120 = _t718 + _t716 = _t715(msg) + fields120 = _t716 assert fields120 is not None unwrapped_fields121 = fields120 self.write('FLOAT') return None def pretty_uint128_type(self, msg: logic_pb2.UInt128Type) -> Optional[NoReturn]: - def _t719(_dollar_dollar): + def _t717(_dollar_dollar): return _dollar_dollar - _t720 = _t719(msg) - fields122 = _t720 + _t718 = _t717(msg) + fields122 = _t718 assert fields122 is not None unwrapped_fields123 = fields122 self.write('UINT128') return None def pretty_int128_type(self, msg: logic_pb2.Int128Type) -> Optional[NoReturn]: - def _t721(_dollar_dollar): + def _t719(_dollar_dollar): return _dollar_dollar - _t722 = _t721(msg) - fields124 = _t722 + _t720 = _t719(msg) + fields124 = _t720 assert fields124 is not None unwrapped_fields125 = fields124 self.write('INT128') return None def pretty_date_type(self, msg: logic_pb2.DateType) -> Optional[NoReturn]: - def _t723(_dollar_dollar): + def _t721(_dollar_dollar): return _dollar_dollar - _t724 = _t723(msg) - fields126 = _t724 + _t722 = _t721(msg) + fields126 = _t722 assert fields126 is not None unwrapped_fields127 = fields126 self.write('DATE') return None def pretty_datetime_type(self, msg: logic_pb2.DateTimeType) -> Optional[NoReturn]: - def _t725(_dollar_dollar): + def _t723(_dollar_dollar): return _dollar_dollar - _t726 = _t725(msg) - fields128 = _t726 + _t724 = _t723(msg) + fields128 = _t724 assert fields128 is not None unwrapped_fields129 = fields128 self.write('DATETIME') return None def pretty_missing_type(self, msg: logic_pb2.MissingType) -> Optional[NoReturn]: - def _t727(_dollar_dollar): + def _t725(_dollar_dollar): return _dollar_dollar - _t728 = _t727(msg) - fields130 = _t728 + _t726 = _t725(msg) + fields130 = _t726 assert fields130 is not None unwrapped_fields131 = fields130 self.write('MISSING') return None def pretty_decimal_type(self, msg: logic_pb2.DecimalType) -> Optional[NoReturn]: - def _t729(_dollar_dollar): + def _t727(_dollar_dollar): return (int(_dollar_dollar.precision), int(_dollar_dollar.scale),) - _t730 = _t729(msg) - fields132 = _t730 + _t728 = _t727(msg) + fields132 = _t728 assert fields132 is not None unwrapped_fields133 = fields132 self.write('(') @@ -1224,20 +1260,20 @@ def _t729(_dollar_dollar): return None def pretty_boolean_type(self, msg: logic_pb2.BooleanType) -> Optional[NoReturn]: - def _t731(_dollar_dollar): + def _t729(_dollar_dollar): return _dollar_dollar - _t732 = _t731(msg) - fields136 = _t732 + _t730 = _t729(msg) + fields136 = _t730 assert fields136 is not None unwrapped_fields137 = fields136 self.write('BOOLEAN') return None def pretty_value_bindings(self, msg: Sequence[logic_pb2.Binding]) -> Optional[NoReturn]: - def _t733(_dollar_dollar): + def _t731(_dollar_dollar): return _dollar_dollar - _t734 = _t733(msg) - fields138 = _t734 + _t732 = _t731(msg) + fields138 = _t732 assert fields138 is not None unwrapped_fields139 = fields138 self.write('|') @@ -1246,212 +1282,212 @@ def _t733(_dollar_dollar): for i141, elem140 in enumerate(unwrapped_fields139): if (i141 > 0): self.newline() - _t735 = self.pretty_binding(elem140) + _t733 = self.pretty_binding(elem140) return None def pretty_formula(self, msg: logic_pb2.Formula) -> Optional[NoReturn]: - def _t736(_dollar_dollar): + def _t734(_dollar_dollar): if (_dollar_dollar.HasField('conjunction') and len(_dollar_dollar.conjunction.args) == 0): - _t737 = _dollar_dollar.conjunction + _t735 = _dollar_dollar.conjunction else: - _t737 = None - return _t737 - _t738 = _t736(msg) - deconstruct_result154 = _t738 + _t735 = None + return _t735 + _t736 = _t734(msg) + deconstruct_result154 = _t736 if deconstruct_result154 is not None: - _t740 = self.pretty_true(deconstruct_result154) - _t739 = _t740 + _t738 = self.pretty_true(deconstruct_result154) + _t737 = _t738 else: - def _t741(_dollar_dollar): + def _t739(_dollar_dollar): if (_dollar_dollar.HasField('disjunction') and len(_dollar_dollar.disjunction.args) == 0): - _t742 = _dollar_dollar.disjunction + _t740 = _dollar_dollar.disjunction else: - _t742 = None - return _t742 - _t743 = _t741(msg) - deconstruct_result153 = _t743 + _t740 = None + return _t740 + _t741 = _t739(msg) + deconstruct_result153 = _t741 if deconstruct_result153 is not None: - _t745 = self.pretty_false(deconstruct_result153) - _t744 = _t745 + _t743 = self.pretty_false(deconstruct_result153) + _t742 = _t743 else: - def _t746(_dollar_dollar): + def _t744(_dollar_dollar): if _dollar_dollar.HasField('exists'): - _t747 = _dollar_dollar.exists + _t745 = _dollar_dollar.exists else: - _t747 = None - return _t747 - _t748 = _t746(msg) - deconstruct_result152 = _t748 + _t745 = None + return _t745 + _t746 = _t744(msg) + deconstruct_result152 = _t746 if deconstruct_result152 is not None: - _t750 = self.pretty_exists(deconstruct_result152) - _t749 = _t750 + _t748 = self.pretty_exists(deconstruct_result152) + _t747 = _t748 else: - def _t751(_dollar_dollar): + def _t749(_dollar_dollar): if _dollar_dollar.HasField('reduce'): - _t752 = _dollar_dollar.reduce + _t750 = _dollar_dollar.reduce else: - _t752 = None - return _t752 - _t753 = _t751(msg) - deconstruct_result151 = _t753 + _t750 = None + return _t750 + _t751 = _t749(msg) + deconstruct_result151 = _t751 if deconstruct_result151 is not None: - _t755 = self.pretty_reduce(deconstruct_result151) - _t754 = _t755 + _t753 = self.pretty_reduce(deconstruct_result151) + _t752 = _t753 else: - def _t756(_dollar_dollar): + def _t754(_dollar_dollar): if _dollar_dollar.HasField('conjunction'): - _t757 = _dollar_dollar.conjunction + _t755 = _dollar_dollar.conjunction else: - _t757 = None - return _t757 - _t758 = _t756(msg) - deconstruct_result150 = _t758 + _t755 = None + return _t755 + _t756 = _t754(msg) + deconstruct_result150 = _t756 if deconstruct_result150 is not None: - _t760 = self.pretty_conjunction(deconstruct_result150) - _t759 = _t760 + _t758 = self.pretty_conjunction(deconstruct_result150) + _t757 = _t758 else: - def _t761(_dollar_dollar): + def _t759(_dollar_dollar): if _dollar_dollar.HasField('disjunction'): - _t762 = _dollar_dollar.disjunction + _t760 = _dollar_dollar.disjunction else: - _t762 = None - return _t762 - _t763 = _t761(msg) - deconstruct_result149 = _t763 + _t760 = None + return _t760 + _t761 = _t759(msg) + deconstruct_result149 = _t761 if deconstruct_result149 is not None: - _t765 = self.pretty_disjunction(deconstruct_result149) - _t764 = _t765 + _t763 = self.pretty_disjunction(deconstruct_result149) + _t762 = _t763 else: - def _t766(_dollar_dollar): + def _t764(_dollar_dollar): if _dollar_dollar.HasField('not'): - _t767 = getattr(_dollar_dollar, 'not') + _t765 = getattr(_dollar_dollar, 'not') else: - _t767 = None - return _t767 - _t768 = _t766(msg) - deconstruct_result148 = _t768 + _t765 = None + return _t765 + _t766 = _t764(msg) + deconstruct_result148 = _t766 if deconstruct_result148 is not None: - _t770 = self.pretty_not(deconstruct_result148) - _t769 = _t770 + _t768 = self.pretty_not(deconstruct_result148) + _t767 = _t768 else: - def _t771(_dollar_dollar): + def _t769(_dollar_dollar): if _dollar_dollar.HasField('ffi'): - _t772 = _dollar_dollar.ffi + _t770 = _dollar_dollar.ffi else: - _t772 = None - return _t772 - _t773 = _t771(msg) - deconstruct_result147 = _t773 + _t770 = None + return _t770 + _t771 = _t769(msg) + deconstruct_result147 = _t771 if deconstruct_result147 is not None: - _t775 = self.pretty_ffi(deconstruct_result147) - _t774 = _t775 + _t773 = self.pretty_ffi(deconstruct_result147) + _t772 = _t773 else: - def _t776(_dollar_dollar): + def _t774(_dollar_dollar): if _dollar_dollar.HasField('atom'): - _t777 = _dollar_dollar.atom + _t775 = _dollar_dollar.atom else: - _t777 = None - return _t777 - _t778 = _t776(msg) - deconstruct_result146 = _t778 + _t775 = None + return _t775 + _t776 = _t774(msg) + deconstruct_result146 = _t776 if deconstruct_result146 is not None: - _t780 = self.pretty_atom(deconstruct_result146) - _t779 = _t780 + _t778 = self.pretty_atom(deconstruct_result146) + _t777 = _t778 else: - def _t781(_dollar_dollar): + def _t779(_dollar_dollar): if _dollar_dollar.HasField('pragma'): - _t782 = _dollar_dollar.pragma + _t780 = _dollar_dollar.pragma else: - _t782 = None - return _t782 - _t783 = _t781(msg) - deconstruct_result145 = _t783 + _t780 = None + return _t780 + _t781 = _t779(msg) + deconstruct_result145 = _t781 if deconstruct_result145 is not None: - _t785 = self.pretty_pragma(deconstruct_result145) - _t784 = _t785 + _t783 = self.pretty_pragma(deconstruct_result145) + _t782 = _t783 else: - def _t786(_dollar_dollar): + def _t784(_dollar_dollar): if _dollar_dollar.HasField('primitive'): - _t787 = _dollar_dollar.primitive + _t785 = _dollar_dollar.primitive else: - _t787 = None - return _t787 - _t788 = _t786(msg) - deconstruct_result144 = _t788 + _t785 = None + return _t785 + _t786 = _t784(msg) + deconstruct_result144 = _t786 if deconstruct_result144 is not None: - _t790 = self.pretty_primitive(deconstruct_result144) - _t789 = _t790 + _t788 = self.pretty_primitive(deconstruct_result144) + _t787 = _t788 else: - def _t791(_dollar_dollar): + def _t789(_dollar_dollar): if _dollar_dollar.HasField('rel_atom'): - _t792 = _dollar_dollar.rel_atom + _t790 = _dollar_dollar.rel_atom else: - _t792 = None - return _t792 - _t793 = _t791(msg) - deconstruct_result143 = _t793 + _t790 = None + return _t790 + _t791 = _t789(msg) + deconstruct_result143 = _t791 if deconstruct_result143 is not None: - _t795 = self.pretty_rel_atom(deconstruct_result143) - _t794 = _t795 + _t793 = self.pretty_rel_atom(deconstruct_result143) + _t792 = _t793 else: - def _t796(_dollar_dollar): + def _t794(_dollar_dollar): if _dollar_dollar.HasField('cast'): - _t797 = _dollar_dollar.cast + _t795 = _dollar_dollar.cast else: - _t797 = None - return _t797 - _t798 = _t796(msg) - deconstruct_result142 = _t798 + _t795 = None + return _t795 + _t796 = _t794(msg) + deconstruct_result142 = _t796 if deconstruct_result142 is not None: - _t800 = self.pretty_cast(deconstruct_result142) - _t799 = _t800 + _t798 = self.pretty_cast(deconstruct_result142) + _t797 = _t798 else: raise ParseError('No matching rule for formula') - _t794 = _t799 - _t789 = _t794 - _t784 = _t789 - _t779 = _t784 - _t774 = _t779 - _t769 = _t774 - _t764 = _t769 - _t759 = _t764 - _t754 = _t759 - _t749 = _t754 - _t744 = _t749 - _t739 = _t744 - return _t739 + _t792 = _t797 + _t787 = _t792 + _t782 = _t787 + _t777 = _t782 + _t772 = _t777 + _t767 = _t772 + _t762 = _t767 + _t757 = _t762 + _t752 = _t757 + _t747 = _t752 + _t742 = _t747 + _t737 = _t742 + return _t737 def pretty_true(self, msg: logic_pb2.Conjunction) -> Optional[NoReturn]: - def _t801(_dollar_dollar): + def _t799(_dollar_dollar): return _dollar_dollar - _t802 = _t801(msg) - fields155 = _t802 + _t800 = _t799(msg) + fields155 = _t800 assert fields155 is not None unwrapped_fields156 = fields155 self.write('(') @@ -1460,10 +1496,10 @@ def _t801(_dollar_dollar): return None def pretty_false(self, msg: logic_pb2.Disjunction) -> Optional[NoReturn]: - def _t803(_dollar_dollar): + def _t801(_dollar_dollar): return _dollar_dollar - _t804 = _t803(msg) - fields157 = _t804 + _t802 = _t801(msg) + fields157 = _t802 assert fields157 is not None unwrapped_fields158 = fields157 self.write('(') @@ -1472,11 +1508,11 @@ def _t803(_dollar_dollar): return None def pretty_exists(self, msg: logic_pb2.Exists) -> Optional[NoReturn]: - def _t805(_dollar_dollar): - _t806 = self.deconstruct_bindings(_dollar_dollar.body) - return (_t806, _dollar_dollar.body.value,) - _t807 = _t805(msg) - fields159 = _t807 + def _t803(_dollar_dollar): + _t804 = self.deconstruct_bindings(_dollar_dollar.body) + return (_t804, _dollar_dollar.body.value,) + _t805 = _t803(msg) + fields159 = _t805 assert fields159 is not None unwrapped_fields160 = fields159 self.write('(') @@ -1484,19 +1520,19 @@ def _t805(_dollar_dollar): self.indent() self.newline() field161 = unwrapped_fields160[0] - _t808 = self.pretty_bindings(field161) + _t806 = self.pretty_bindings(field161) self.newline() field162 = unwrapped_fields160[1] - _t809 = self.pretty_formula(field162) + _t807 = self.pretty_formula(field162) self.dedent() self.write(')') return None def pretty_reduce(self, msg: logic_pb2.Reduce) -> Optional[NoReturn]: - def _t810(_dollar_dollar): + def _t808(_dollar_dollar): return (_dollar_dollar.op, _dollar_dollar.body, _dollar_dollar.terms,) - _t811 = _t810(msg) - fields163 = _t811 + _t809 = _t808(msg) + fields163 = _t809 assert fields163 is not None unwrapped_fields164 = fields163 self.write('(') @@ -1504,22 +1540,22 @@ def _t810(_dollar_dollar): self.indent() self.newline() field165 = unwrapped_fields164[0] - _t812 = self.pretty_abstraction(field165) + _t810 = self.pretty_abstraction(field165) self.newline() field166 = unwrapped_fields164[1] - _t813 = self.pretty_abstraction(field166) + _t811 = self.pretty_abstraction(field166) self.newline() field167 = unwrapped_fields164[2] - _t814 = self.pretty_terms(field167) + _t812 = self.pretty_terms(field167) self.dedent() self.write(')') return None def pretty_terms(self, msg: Sequence[logic_pb2.Term]) -> Optional[NoReturn]: - def _t815(_dollar_dollar): + def _t813(_dollar_dollar): return _dollar_dollar - _t816 = _t815(msg) - fields168 = _t816 + _t814 = _t813(msg) + fields168 = _t814 assert fields168 is not None unwrapped_fields169 = fields168 self.write('(') @@ -1530,69 +1566,69 @@ def _t815(_dollar_dollar): for i171, elem170 in enumerate(unwrapped_fields169): if (i171 > 0): self.newline() - _t817 = self.pretty_term(elem170) + _t815 = self.pretty_term(elem170) self.dedent() self.write(')') return None def pretty_term(self, msg: logic_pb2.Term) -> Optional[NoReturn]: - def _t818(_dollar_dollar): + def _t816(_dollar_dollar): if _dollar_dollar.HasField('var'): - _t819 = _dollar_dollar.var + _t817 = _dollar_dollar.var else: - _t819 = None - return _t819 - _t820 = _t818(msg) - deconstruct_result173 = _t820 + _t817 = None + return _t817 + _t818 = _t816(msg) + deconstruct_result173 = _t818 if deconstruct_result173 is not None: - _t822 = self.pretty_var(deconstruct_result173) - _t821 = _t822 + _t820 = self.pretty_var(deconstruct_result173) + _t819 = _t820 else: - def _t823(_dollar_dollar): + def _t821(_dollar_dollar): if _dollar_dollar.HasField('constant'): - _t824 = _dollar_dollar.constant + _t822 = _dollar_dollar.constant else: - _t824 = None - return _t824 - _t825 = _t823(msg) - deconstruct_result172 = _t825 + _t822 = None + return _t822 + _t823 = _t821(msg) + deconstruct_result172 = _t823 if deconstruct_result172 is not None: - _t827 = self.pretty_constant(deconstruct_result172) - _t826 = _t827 + _t825 = self.pretty_constant(deconstruct_result172) + _t824 = _t825 else: raise ParseError('No matching rule for term') - _t821 = _t826 - return _t821 + _t819 = _t824 + return _t819 def pretty_var(self, msg: logic_pb2.Var) -> Optional[NoReturn]: - def _t828(_dollar_dollar): + def _t826(_dollar_dollar): return _dollar_dollar.name - _t829 = _t828(msg) - fields174 = _t829 + _t827 = _t826(msg) + fields174 = _t827 assert fields174 is not None unwrapped_fields175 = fields174 self.write(unwrapped_fields175) return None def pretty_constant(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t830(_dollar_dollar): + def _t828(_dollar_dollar): return _dollar_dollar - _t831 = _t830(msg) - fields176 = _t831 + _t829 = _t828(msg) + fields176 = _t829 assert fields176 is not None unwrapped_fields177 = fields176 - _t832 = self.pretty_value(unwrapped_fields177) - return _t832 + _t830 = self.pretty_value(unwrapped_fields177) + return _t830 def pretty_conjunction(self, msg: logic_pb2.Conjunction) -> Optional[NoReturn]: - def _t833(_dollar_dollar): + def _t831(_dollar_dollar): return _dollar_dollar.args - _t834 = _t833(msg) - fields178 = _t834 + _t832 = _t831(msg) + fields178 = _t832 assert fields178 is not None unwrapped_fields179 = fields178 self.write('(') @@ -1603,16 +1639,16 @@ def _t833(_dollar_dollar): for i181, elem180 in enumerate(unwrapped_fields179): if (i181 > 0): self.newline() - _t835 = self.pretty_formula(elem180) + _t833 = self.pretty_formula(elem180) self.dedent() self.write(')') return None def pretty_disjunction(self, msg: logic_pb2.Disjunction) -> Optional[NoReturn]: - def _t836(_dollar_dollar): + def _t834(_dollar_dollar): return _dollar_dollar.args - _t837 = _t836(msg) - fields182 = _t837 + _t835 = _t834(msg) + fields182 = _t835 assert fields182 is not None unwrapped_fields183 = fields182 self.write('(') @@ -1623,32 +1659,32 @@ def _t836(_dollar_dollar): for i185, elem184 in enumerate(unwrapped_fields183): if (i185 > 0): self.newline() - _t838 = self.pretty_formula(elem184) + _t836 = self.pretty_formula(elem184) self.dedent() self.write(')') return None def pretty_not(self, msg: logic_pb2.Not) -> Optional[NoReturn]: - def _t839(_dollar_dollar): + def _t837(_dollar_dollar): return _dollar_dollar.arg - _t840 = _t839(msg) - fields186 = _t840 + _t838 = _t837(msg) + fields186 = _t838 assert fields186 is not None unwrapped_fields187 = fields186 self.write('(') self.write('not') self.indent() self.newline() - _t841 = self.pretty_formula(unwrapped_fields187) + _t839 = self.pretty_formula(unwrapped_fields187) self.dedent() self.write(')') return None def pretty_ffi(self, msg: logic_pb2.FFI) -> Optional[NoReturn]: - def _t842(_dollar_dollar): + def _t840(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.args, _dollar_dollar.terms,) - _t843 = _t842(msg) - fields188 = _t843 + _t841 = _t840(msg) + fields188 = _t841 assert fields188 is not None unwrapped_fields189 = fields188 self.write('(') @@ -1656,22 +1692,22 @@ def _t842(_dollar_dollar): self.indent() self.newline() field190 = unwrapped_fields189[0] - _t844 = self.pretty_name(field190) + _t842 = self.pretty_name(field190) self.newline() field191 = unwrapped_fields189[1] - _t845 = self.pretty_ffi_args(field191) + _t843 = self.pretty_ffi_args(field191) self.newline() field192 = unwrapped_fields189[2] - _t846 = self.pretty_terms(field192) + _t844 = self.pretty_terms(field192) self.dedent() self.write(')') return None def pretty_name(self, msg: str) -> Optional[NoReturn]: - def _t847(_dollar_dollar): + def _t845(_dollar_dollar): return _dollar_dollar - _t848 = _t847(msg) - fields193 = _t848 + _t846 = _t845(msg) + fields193 = _t846 assert fields193 is not None unwrapped_fields194 = fields193 self.write(':') @@ -1679,10 +1715,10 @@ def _t847(_dollar_dollar): return None def pretty_ffi_args(self, msg: Sequence[logic_pb2.Abstraction]) -> Optional[NoReturn]: - def _t849(_dollar_dollar): + def _t847(_dollar_dollar): return _dollar_dollar - _t850 = _t849(msg) - fields195 = _t850 + _t848 = _t847(msg) + fields195 = _t848 assert fields195 is not None unwrapped_fields196 = fields195 self.write('(') @@ -1693,16 +1729,16 @@ def _t849(_dollar_dollar): for i198, elem197 in enumerate(unwrapped_fields196): if (i198 > 0): self.newline() - _t851 = self.pretty_abstraction(elem197) + _t849 = self.pretty_abstraction(elem197) self.dedent() self.write(')') return None def pretty_atom(self, msg: logic_pb2.Atom) -> Optional[NoReturn]: - def _t852(_dollar_dollar): + def _t850(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t853 = _t852(msg) - fields199 = _t853 + _t851 = _t850(msg) + fields199 = _t851 assert fields199 is not None unwrapped_fields200 = fields199 self.write('(') @@ -1710,23 +1746,23 @@ def _t852(_dollar_dollar): self.indent() self.newline() field201 = unwrapped_fields200[0] - _t854 = self.pretty_relation_id(field201) + _t852 = self.pretty_relation_id(field201) field202 = unwrapped_fields200[1] if not len(field202) == 0: self.newline() for i204, elem203 in enumerate(field202): if (i204 > 0): self.newline() - _t855 = self.pretty_term(elem203) + _t853 = self.pretty_term(elem203) self.dedent() self.write(')') return None def pretty_pragma(self, msg: logic_pb2.Pragma) -> Optional[NoReturn]: - def _t856(_dollar_dollar): + def _t854(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t857 = _t856(msg) - fields205 = _t857 + _t855 = _t854(msg) + fields205 = _t855 assert fields205 is not None unwrapped_fields206 = fields205 self.write('(') @@ -1734,149 +1770,149 @@ def _t856(_dollar_dollar): self.indent() self.newline() field207 = unwrapped_fields206[0] - _t858 = self.pretty_name(field207) + _t856 = self.pretty_name(field207) field208 = unwrapped_fields206[1] if not len(field208) == 0: self.newline() for i210, elem209 in enumerate(field208): if (i210 > 0): self.newline() - _t859 = self.pretty_term(elem209) + _t857 = self.pretty_term(elem209) self.dedent() self.write(')') return None def pretty_primitive(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t860(_dollar_dollar): + def _t858(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_eq': - _t861 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t859 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t861 = None - return _t861 - _t862 = _t860(msg) - guard_result225 = _t862 + _t859 = None + return _t859 + _t860 = _t858(msg) + guard_result225 = _t860 if guard_result225 is not None: - _t864 = self.pretty_eq(msg) - _t863 = _t864 + _t862 = self.pretty_eq(msg) + _t861 = _t862 else: - def _t865(_dollar_dollar): + def _t863(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_monotype': - _t866 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t864 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t866 = None - return _t866 - _t867 = _t865(msg) - guard_result224 = _t867 + _t864 = None + return _t864 + _t865 = _t863(msg) + guard_result224 = _t865 if guard_result224 is not None: - _t869 = self.pretty_lt(msg) - _t868 = _t869 + _t867 = self.pretty_lt(msg) + _t866 = _t867 else: - def _t870(_dollar_dollar): + def _t868(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_eq_monotype': - _t871 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t869 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t871 = None - return _t871 - _t872 = _t870(msg) - guard_result223 = _t872 + _t869 = None + return _t869 + _t870 = _t868(msg) + guard_result223 = _t870 if guard_result223 is not None: - _t874 = self.pretty_lt_eq(msg) - _t873 = _t874 + _t872 = self.pretty_lt_eq(msg) + _t871 = _t872 else: - def _t875(_dollar_dollar): + def _t873(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_monotype': - _t876 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t874 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t876 = None - return _t876 - _t877 = _t875(msg) - guard_result222 = _t877 + _t874 = None + return _t874 + _t875 = _t873(msg) + guard_result222 = _t875 if guard_result222 is not None: - _t879 = self.pretty_gt(msg) - _t878 = _t879 + _t877 = self.pretty_gt(msg) + _t876 = _t877 else: - def _t880(_dollar_dollar): + def _t878(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_eq_monotype': - _t881 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t879 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t881 = None - return _t881 - _t882 = _t880(msg) - guard_result221 = _t882 + _t879 = None + return _t879 + _t880 = _t878(msg) + guard_result221 = _t880 if guard_result221 is not None: - _t884 = self.pretty_gt_eq(msg) - _t883 = _t884 + _t882 = self.pretty_gt_eq(msg) + _t881 = _t882 else: - def _t885(_dollar_dollar): + def _t883(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_add_monotype': - _t886 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t884 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t886 = None - return _t886 - _t887 = _t885(msg) - guard_result220 = _t887 + _t884 = None + return _t884 + _t885 = _t883(msg) + guard_result220 = _t885 if guard_result220 is not None: - _t889 = self.pretty_add(msg) - _t888 = _t889 + _t887 = self.pretty_add(msg) + _t886 = _t887 else: - def _t890(_dollar_dollar): + def _t888(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_subtract_monotype': - _t891 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t889 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t891 = None - return _t891 - _t892 = _t890(msg) - guard_result219 = _t892 + _t889 = None + return _t889 + _t890 = _t888(msg) + guard_result219 = _t890 if guard_result219 is not None: - _t894 = self.pretty_minus(msg) - _t893 = _t894 + _t892 = self.pretty_minus(msg) + _t891 = _t892 else: - def _t895(_dollar_dollar): + def _t893(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_multiply_monotype': - _t896 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t894 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t896 = None - return _t896 - _t897 = _t895(msg) - guard_result218 = _t897 + _t894 = None + return _t894 + _t895 = _t893(msg) + guard_result218 = _t895 if guard_result218 is not None: - _t899 = self.pretty_multiply(msg) - _t898 = _t899 + _t897 = self.pretty_multiply(msg) + _t896 = _t897 else: - def _t900(_dollar_dollar): + def _t898(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_divide_monotype': - _t901 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t899 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t901 = None - return _t901 - _t902 = _t900(msg) - guard_result217 = _t902 + _t899 = None + return _t899 + _t900 = _t898(msg) + guard_result217 = _t900 if guard_result217 is not None: - _t904 = self.pretty_divide(msg) - _t903 = _t904 + _t902 = self.pretty_divide(msg) + _t901 = _t902 else: - def _t905(_dollar_dollar): + def _t903(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t906 = _t905(msg) - fields211 = _t906 + _t904 = _t903(msg) + fields211 = _t904 assert fields211 is not None unwrapped_fields212 = fields211 self.write('(') @@ -1884,37 +1920,37 @@ def _t905(_dollar_dollar): self.indent() self.newline() field213 = unwrapped_fields212[0] - _t907 = self.pretty_name(field213) + _t905 = self.pretty_name(field213) field214 = unwrapped_fields212[1] if not len(field214) == 0: self.newline() for i216, elem215 in enumerate(field214): if (i216 > 0): self.newline() - _t908 = self.pretty_rel_term(elem215) + _t906 = self.pretty_rel_term(elem215) self.dedent() self.write(')') - _t903 = None - _t898 = _t903 - _t893 = _t898 - _t888 = _t893 - _t883 = _t888 - _t878 = _t883 - _t873 = _t878 - _t868 = _t873 - _t863 = _t868 - return _t863 + _t901 = None + _t896 = _t901 + _t891 = _t896 + _t886 = _t891 + _t881 = _t886 + _t876 = _t881 + _t871 = _t876 + _t866 = _t871 + _t861 = _t866 + return _t861 def pretty_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t909(_dollar_dollar): + def _t907(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_eq': - _t910 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t908 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t910 = None - return _t910 - _t911 = _t909(msg) - fields226 = _t911 + _t908 = None + return _t908 + _t909 = _t907(msg) + fields226 = _t909 assert fields226 is not None unwrapped_fields227 = fields226 self.write('(') @@ -1922,24 +1958,24 @@ def _t909(_dollar_dollar): self.indent() self.newline() field228 = unwrapped_fields227[0] - _t912 = self.pretty_term(field228) + _t910 = self.pretty_term(field228) self.newline() field229 = unwrapped_fields227[1] - _t913 = self.pretty_term(field229) + _t911 = self.pretty_term(field229) self.dedent() self.write(')') return None def pretty_lt(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t914(_dollar_dollar): + def _t912(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_monotype': - _t915 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t913 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t915 = None - return _t915 - _t916 = _t914(msg) - fields230 = _t916 + _t913 = None + return _t913 + _t914 = _t912(msg) + fields230 = _t914 assert fields230 is not None unwrapped_fields231 = fields230 self.write('(') @@ -1947,24 +1983,24 @@ def _t914(_dollar_dollar): self.indent() self.newline() field232 = unwrapped_fields231[0] - _t917 = self.pretty_term(field232) + _t915 = self.pretty_term(field232) self.newline() field233 = unwrapped_fields231[1] - _t918 = self.pretty_term(field233) + _t916 = self.pretty_term(field233) self.dedent() self.write(')') return None def pretty_lt_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t919(_dollar_dollar): + def _t917(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_eq_monotype': - _t920 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t918 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t920 = None - return _t920 - _t921 = _t919(msg) - fields234 = _t921 + _t918 = None + return _t918 + _t919 = _t917(msg) + fields234 = _t919 assert fields234 is not None unwrapped_fields235 = fields234 self.write('(') @@ -1972,24 +2008,24 @@ def _t919(_dollar_dollar): self.indent() self.newline() field236 = unwrapped_fields235[0] - _t922 = self.pretty_term(field236) + _t920 = self.pretty_term(field236) self.newline() field237 = unwrapped_fields235[1] - _t923 = self.pretty_term(field237) + _t921 = self.pretty_term(field237) self.dedent() self.write(')') return None def pretty_gt(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t924(_dollar_dollar): + def _t922(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_monotype': - _t925 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t923 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t925 = None - return _t925 - _t926 = _t924(msg) - fields238 = _t926 + _t923 = None + return _t923 + _t924 = _t922(msg) + fields238 = _t924 assert fields238 is not None unwrapped_fields239 = fields238 self.write('(') @@ -1997,24 +2033,24 @@ def _t924(_dollar_dollar): self.indent() self.newline() field240 = unwrapped_fields239[0] - _t927 = self.pretty_term(field240) + _t925 = self.pretty_term(field240) self.newline() field241 = unwrapped_fields239[1] - _t928 = self.pretty_term(field241) + _t926 = self.pretty_term(field241) self.dedent() self.write(')') return None def pretty_gt_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t929(_dollar_dollar): + def _t927(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_eq_monotype': - _t930 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t928 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t930 = None - return _t930 - _t931 = _t929(msg) - fields242 = _t931 + _t928 = None + return _t928 + _t929 = _t927(msg) + fields242 = _t929 assert fields242 is not None unwrapped_fields243 = fields242 self.write('(') @@ -2022,24 +2058,24 @@ def _t929(_dollar_dollar): self.indent() self.newline() field244 = unwrapped_fields243[0] - _t932 = self.pretty_term(field244) + _t930 = self.pretty_term(field244) self.newline() field245 = unwrapped_fields243[1] - _t933 = self.pretty_term(field245) + _t931 = self.pretty_term(field245) self.dedent() self.write(')') return None def pretty_add(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t934(_dollar_dollar): + def _t932(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_add_monotype': - _t935 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t933 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t935 = None - return _t935 - _t936 = _t934(msg) - fields246 = _t936 + _t933 = None + return _t933 + _t934 = _t932(msg) + fields246 = _t934 assert fields246 is not None unwrapped_fields247 = fields246 self.write('(') @@ -2047,27 +2083,27 @@ def _t934(_dollar_dollar): self.indent() self.newline() field248 = unwrapped_fields247[0] - _t937 = self.pretty_term(field248) + _t935 = self.pretty_term(field248) self.newline() field249 = unwrapped_fields247[1] - _t938 = self.pretty_term(field249) + _t936 = self.pretty_term(field249) self.newline() field250 = unwrapped_fields247[2] - _t939 = self.pretty_term(field250) + _t937 = self.pretty_term(field250) self.dedent() self.write(')') return None def pretty_minus(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t940(_dollar_dollar): + def _t938(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_subtract_monotype': - _t941 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t939 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t941 = None - return _t941 - _t942 = _t940(msg) - fields251 = _t942 + _t939 = None + return _t939 + _t940 = _t938(msg) + fields251 = _t940 assert fields251 is not None unwrapped_fields252 = fields251 self.write('(') @@ -2075,27 +2111,27 @@ def _t940(_dollar_dollar): self.indent() self.newline() field253 = unwrapped_fields252[0] - _t943 = self.pretty_term(field253) + _t941 = self.pretty_term(field253) self.newline() field254 = unwrapped_fields252[1] - _t944 = self.pretty_term(field254) + _t942 = self.pretty_term(field254) self.newline() field255 = unwrapped_fields252[2] - _t945 = self.pretty_term(field255) + _t943 = self.pretty_term(field255) self.dedent() self.write(')') return None def pretty_multiply(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t946(_dollar_dollar): + def _t944(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_multiply_monotype': - _t947 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t945 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t947 = None - return _t947 - _t948 = _t946(msg) - fields256 = _t948 + _t945 = None + return _t945 + _t946 = _t944(msg) + fields256 = _t946 assert fields256 is not None unwrapped_fields257 = fields256 self.write('(') @@ -2103,27 +2139,27 @@ def _t946(_dollar_dollar): self.indent() self.newline() field258 = unwrapped_fields257[0] - _t949 = self.pretty_term(field258) + _t947 = self.pretty_term(field258) self.newline() field259 = unwrapped_fields257[1] - _t950 = self.pretty_term(field259) + _t948 = self.pretty_term(field259) self.newline() field260 = unwrapped_fields257[2] - _t951 = self.pretty_term(field260) + _t949 = self.pretty_term(field260) self.dedent() self.write(')') return None def pretty_divide(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t952(_dollar_dollar): + def _t950(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_divide_monotype': - _t953 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t951 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t953 = None - return _t953 - _t954 = _t952(msg) - fields261 = _t954 + _t951 = None + return _t951 + _t952 = _t950(msg) + fields261 = _t952 assert fields261 is not None unwrapped_fields262 = fields261 self.write('(') @@ -2131,66 +2167,66 @@ def _t952(_dollar_dollar): self.indent() self.newline() field263 = unwrapped_fields262[0] - _t955 = self.pretty_term(field263) + _t953 = self.pretty_term(field263) self.newline() field264 = unwrapped_fields262[1] - _t956 = self.pretty_term(field264) + _t954 = self.pretty_term(field264) self.newline() field265 = unwrapped_fields262[2] - _t957 = self.pretty_term(field265) + _t955 = self.pretty_term(field265) self.dedent() self.write(')') return None def pretty_rel_term(self, msg: logic_pb2.RelTerm) -> Optional[NoReturn]: - def _t958(_dollar_dollar): + def _t956(_dollar_dollar): if _dollar_dollar.HasField('specialized_value'): - _t959 = _dollar_dollar.specialized_value + _t957 = _dollar_dollar.specialized_value else: - _t959 = None - return _t959 - _t960 = _t958(msg) - deconstruct_result267 = _t960 + _t957 = None + return _t957 + _t958 = _t956(msg) + deconstruct_result267 = _t958 if deconstruct_result267 is not None: - _t962 = self.pretty_specialized_value(deconstruct_result267) - _t961 = _t962 + _t960 = self.pretty_specialized_value(deconstruct_result267) + _t959 = _t960 else: - def _t963(_dollar_dollar): + def _t961(_dollar_dollar): if _dollar_dollar.HasField('term'): - _t964 = _dollar_dollar.term + _t962 = _dollar_dollar.term else: - _t964 = None - return _t964 - _t965 = _t963(msg) - deconstruct_result266 = _t965 + _t962 = None + return _t962 + _t963 = _t961(msg) + deconstruct_result266 = _t963 if deconstruct_result266 is not None: - _t967 = self.pretty_term(deconstruct_result266) - _t966 = _t967 + _t965 = self.pretty_term(deconstruct_result266) + _t964 = _t965 else: raise ParseError('No matching rule for rel_term') - _t961 = _t966 - return _t961 + _t959 = _t964 + return _t959 def pretty_specialized_value(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t968(_dollar_dollar): + def _t966(_dollar_dollar): return _dollar_dollar - _t969 = _t968(msg) - fields268 = _t969 + _t967 = _t966(msg) + fields268 = _t967 assert fields268 is not None unwrapped_fields269 = fields268 self.write('#') - _t970 = self.pretty_value(unwrapped_fields269) - return _t970 + _t968 = self.pretty_value(unwrapped_fields269) + return _t968 def pretty_rel_atom(self, msg: logic_pb2.RelAtom) -> Optional[NoReturn]: - def _t971(_dollar_dollar): + def _t969(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t972 = _t971(msg) - fields270 = _t972 + _t970 = _t969(msg) + fields270 = _t970 assert fields270 is not None unwrapped_fields271 = fields270 self.write('(') @@ -2198,23 +2234,23 @@ def _t971(_dollar_dollar): self.indent() self.newline() field272 = unwrapped_fields271[0] - _t973 = self.pretty_name(field272) + _t971 = self.pretty_name(field272) field273 = unwrapped_fields271[1] if not len(field273) == 0: self.newline() for i275, elem274 in enumerate(field273): if (i275 > 0): self.newline() - _t974 = self.pretty_rel_term(elem274) + _t972 = self.pretty_rel_term(elem274) self.dedent() self.write(')') return None def pretty_cast(self, msg: logic_pb2.Cast) -> Optional[NoReturn]: - def _t975(_dollar_dollar): + def _t973(_dollar_dollar): return (_dollar_dollar.input, _dollar_dollar.result,) - _t976 = _t975(msg) - fields276 = _t976 + _t974 = _t973(msg) + fields276 = _t974 assert fields276 is not None unwrapped_fields277 = fields276 self.write('(') @@ -2222,19 +2258,19 @@ def _t975(_dollar_dollar): self.indent() self.newline() field278 = unwrapped_fields277[0] - _t977 = self.pretty_term(field278) + _t975 = self.pretty_term(field278) self.newline() field279 = unwrapped_fields277[1] - _t978 = self.pretty_term(field279) + _t976 = self.pretty_term(field279) self.dedent() self.write(')') return None def pretty_attrs(self, msg: Sequence[logic_pb2.Attribute]) -> Optional[NoReturn]: - def _t979(_dollar_dollar): + def _t977(_dollar_dollar): return _dollar_dollar - _t980 = _t979(msg) - fields280 = _t980 + _t978 = _t977(msg) + fields280 = _t978 assert fields280 is not None unwrapped_fields281 = fields280 self.write('(') @@ -2245,16 +2281,16 @@ def _t979(_dollar_dollar): for i283, elem282 in enumerate(unwrapped_fields281): if (i283 > 0): self.newline() - _t981 = self.pretty_attribute(elem282) + _t979 = self.pretty_attribute(elem282) self.dedent() self.write(')') return None def pretty_attribute(self, msg: logic_pb2.Attribute) -> Optional[NoReturn]: - def _t982(_dollar_dollar): + def _t980(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.args,) - _t983 = _t982(msg) - fields284 = _t983 + _t981 = _t980(msg) + fields284 = _t981 assert fields284 is not None unwrapped_fields285 = fields284 self.write('(') @@ -2262,23 +2298,23 @@ def _t982(_dollar_dollar): self.indent() self.newline() field286 = unwrapped_fields285[0] - _t984 = self.pretty_name(field286) + _t982 = self.pretty_name(field286) field287 = unwrapped_fields285[1] if not len(field287) == 0: self.newline() for i289, elem288 in enumerate(field287): if (i289 > 0): self.newline() - _t985 = self.pretty_value(elem288) + _t983 = self.pretty_value(elem288) self.dedent() self.write(')') return None def pretty_algorithm(self, msg: logic_pb2.Algorithm) -> Optional[NoReturn]: - def _t986(_dollar_dollar): + def _t984(_dollar_dollar): return (getattr(_dollar_dollar, 'global'), _dollar_dollar.body,) - _t987 = _t986(msg) - fields290 = _t987 + _t985 = _t984(msg) + fields290 = _t985 assert fields290 is not None unwrapped_fields291 = fields290 self.write('(') @@ -2290,19 +2326,19 @@ def _t986(_dollar_dollar): for i294, elem293 in enumerate(field292): if (i294 > 0): self.newline() - _t988 = self.pretty_relation_id(elem293) + _t986 = self.pretty_relation_id(elem293) self.newline() field295 = unwrapped_fields291[1] - _t989 = self.pretty_script(field295) + _t987 = self.pretty_script(field295) self.dedent() self.write(')') return None def pretty_script(self, msg: logic_pb2.Script) -> Optional[NoReturn]: - def _t990(_dollar_dollar): + def _t988(_dollar_dollar): return _dollar_dollar.constructs - _t991 = _t990(msg) - fields296 = _t991 + _t989 = _t988(msg) + fields296 = _t989 assert fields296 is not None unwrapped_fields297 = fields296 self.write('(') @@ -2313,49 +2349,49 @@ def _t990(_dollar_dollar): for i299, elem298 in enumerate(unwrapped_fields297): if (i299 > 0): self.newline() - _t992 = self.pretty_construct(elem298) + _t990 = self.pretty_construct(elem298) self.dedent() self.write(')') return None def pretty_construct(self, msg: logic_pb2.Construct) -> Optional[NoReturn]: - def _t993(_dollar_dollar): + def _t991(_dollar_dollar): if _dollar_dollar.HasField('loop'): - _t994 = _dollar_dollar.loop + _t992 = _dollar_dollar.loop else: - _t994 = None - return _t994 - _t995 = _t993(msg) - deconstruct_result301 = _t995 + _t992 = None + return _t992 + _t993 = _t991(msg) + deconstruct_result301 = _t993 if deconstruct_result301 is not None: - _t997 = self.pretty_loop(deconstruct_result301) - _t996 = _t997 + _t995 = self.pretty_loop(deconstruct_result301) + _t994 = _t995 else: - def _t998(_dollar_dollar): + def _t996(_dollar_dollar): if _dollar_dollar.HasField('instruction'): - _t999 = _dollar_dollar.instruction + _t997 = _dollar_dollar.instruction else: - _t999 = None - return _t999 - _t1000 = _t998(msg) - deconstruct_result300 = _t1000 + _t997 = None + return _t997 + _t998 = _t996(msg) + deconstruct_result300 = _t998 if deconstruct_result300 is not None: - _t1002 = self.pretty_instruction(deconstruct_result300) - _t1001 = _t1002 + _t1000 = self.pretty_instruction(deconstruct_result300) + _t999 = _t1000 else: raise ParseError('No matching rule for construct') - _t996 = _t1001 - return _t996 + _t994 = _t999 + return _t994 def pretty_loop(self, msg: logic_pb2.Loop) -> Optional[NoReturn]: - def _t1003(_dollar_dollar): + def _t1001(_dollar_dollar): return (_dollar_dollar.init, _dollar_dollar.body,) - _t1004 = _t1003(msg) - fields302 = _t1004 + _t1002 = _t1001(msg) + fields302 = _t1002 assert fields302 is not None unwrapped_fields303 = fields302 self.write('(') @@ -2363,19 +2399,19 @@ def _t1003(_dollar_dollar): self.indent() self.newline() field304 = unwrapped_fields303[0] - _t1005 = self.pretty_init(field304) + _t1003 = self.pretty_init(field304) self.newline() field305 = unwrapped_fields303[1] - _t1006 = self.pretty_script(field305) + _t1004 = self.pretty_script(field305) self.dedent() self.write(')') return None def pretty_init(self, msg: Sequence[logic_pb2.Instruction]) -> Optional[NoReturn]: - def _t1007(_dollar_dollar): + def _t1005(_dollar_dollar): return _dollar_dollar - _t1008 = _t1007(msg) - fields306 = _t1008 + _t1006 = _t1005(msg) + fields306 = _t1006 assert fields306 is not None unwrapped_fields307 = fields306 self.write('(') @@ -2386,99 +2422,99 @@ def _t1007(_dollar_dollar): for i309, elem308 in enumerate(unwrapped_fields307): if (i309 > 0): self.newline() - _t1009 = self.pretty_instruction(elem308) + _t1007 = self.pretty_instruction(elem308) self.dedent() self.write(')') return None def pretty_instruction(self, msg: logic_pb2.Instruction) -> Optional[NoReturn]: - def _t1010(_dollar_dollar): + def _t1008(_dollar_dollar): if _dollar_dollar.HasField('assign'): - _t1011 = _dollar_dollar.assign + _t1009 = _dollar_dollar.assign else: - _t1011 = None - return _t1011 - _t1012 = _t1010(msg) - deconstruct_result314 = _t1012 + _t1009 = None + return _t1009 + _t1010 = _t1008(msg) + deconstruct_result314 = _t1010 if deconstruct_result314 is not None: - _t1014 = self.pretty_assign(deconstruct_result314) - _t1013 = _t1014 + _t1012 = self.pretty_assign(deconstruct_result314) + _t1011 = _t1012 else: - def _t1015(_dollar_dollar): + def _t1013(_dollar_dollar): if _dollar_dollar.HasField('upsert'): - _t1016 = _dollar_dollar.upsert + _t1014 = _dollar_dollar.upsert else: - _t1016 = None - return _t1016 - _t1017 = _t1015(msg) - deconstruct_result313 = _t1017 + _t1014 = None + return _t1014 + _t1015 = _t1013(msg) + deconstruct_result313 = _t1015 if deconstruct_result313 is not None: - _t1019 = self.pretty_upsert(deconstruct_result313) - _t1018 = _t1019 + _t1017 = self.pretty_upsert(deconstruct_result313) + _t1016 = _t1017 else: - def _t1020(_dollar_dollar): + def _t1018(_dollar_dollar): if _dollar_dollar.HasField('break'): - _t1021 = getattr(_dollar_dollar, 'break') + _t1019 = getattr(_dollar_dollar, 'break') else: - _t1021 = None - return _t1021 - _t1022 = _t1020(msg) - deconstruct_result312 = _t1022 + _t1019 = None + return _t1019 + _t1020 = _t1018(msg) + deconstruct_result312 = _t1020 if deconstruct_result312 is not None: - _t1024 = self.pretty_break(deconstruct_result312) - _t1023 = _t1024 + _t1022 = self.pretty_break(deconstruct_result312) + _t1021 = _t1022 else: - def _t1025(_dollar_dollar): + def _t1023(_dollar_dollar): if _dollar_dollar.HasField('monoid_def'): - _t1026 = _dollar_dollar.monoid_def + _t1024 = _dollar_dollar.monoid_def else: - _t1026 = None - return _t1026 - _t1027 = _t1025(msg) - deconstruct_result311 = _t1027 + _t1024 = None + return _t1024 + _t1025 = _t1023(msg) + deconstruct_result311 = _t1025 if deconstruct_result311 is not None: - _t1029 = self.pretty_monoid_def(deconstruct_result311) - _t1028 = _t1029 + _t1027 = self.pretty_monoid_def(deconstruct_result311) + _t1026 = _t1027 else: - def _t1030(_dollar_dollar): + def _t1028(_dollar_dollar): if _dollar_dollar.HasField('monus_def'): - _t1031 = _dollar_dollar.monus_def + _t1029 = _dollar_dollar.monus_def else: - _t1031 = None - return _t1031 - _t1032 = _t1030(msg) - deconstruct_result310 = _t1032 + _t1029 = None + return _t1029 + _t1030 = _t1028(msg) + deconstruct_result310 = _t1030 if deconstruct_result310 is not None: - _t1034 = self.pretty_monus_def(deconstruct_result310) - _t1033 = _t1034 + _t1032 = self.pretty_monus_def(deconstruct_result310) + _t1031 = _t1032 else: raise ParseError('No matching rule for instruction') - _t1028 = _t1033 - _t1023 = _t1028 - _t1018 = _t1023 - _t1013 = _t1018 - return _t1013 + _t1026 = _t1031 + _t1021 = _t1026 + _t1016 = _t1021 + _t1011 = _t1016 + return _t1011 def pretty_assign(self, msg: logic_pb2.Assign) -> Optional[NoReturn]: - def _t1035(_dollar_dollar): + def _t1033(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1036 = _dollar_dollar.attrs + _t1034 = _dollar_dollar.attrs else: - _t1036 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t1036,) - _t1037 = _t1035(msg) - fields315 = _t1037 + _t1034 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t1034,) + _t1035 = _t1033(msg) + fields315 = _t1035 assert fields315 is not None unwrapped_fields316 = fields315 self.write('(') @@ -2486,34 +2522,34 @@ def _t1035(_dollar_dollar): self.indent() self.newline() field317 = unwrapped_fields316[0] - _t1038 = self.pretty_relation_id(field317) + _t1036 = self.pretty_relation_id(field317) self.newline() field318 = unwrapped_fields316[1] - _t1039 = self.pretty_abstraction(field318) + _t1037 = self.pretty_abstraction(field318) field319 = unwrapped_fields316[2] if field319 is not None: self.newline() assert field319 is not None opt_val320 = field319 - _t1041 = self.pretty_attrs(opt_val320) - _t1040 = _t1041 + _t1039 = self.pretty_attrs(opt_val320) + _t1038 = _t1039 else: - _t1040 = None + _t1038 = None self.dedent() self.write(')') return None def pretty_upsert(self, msg: logic_pb2.Upsert) -> Optional[NoReturn]: - def _t1042(_dollar_dollar): + def _t1040(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1043 = _dollar_dollar.attrs + _t1041 = _dollar_dollar.attrs else: - _t1043 = None - return (_dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1043,) - _t1044 = _t1042(msg) - fields321 = _t1044 + _t1041 = None + return (_dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1041,) + _t1042 = _t1040(msg) + fields321 = _t1042 assert fields321 is not None unwrapped_fields322 = fields321 self.write('(') @@ -2521,51 +2557,51 @@ def _t1042(_dollar_dollar): self.indent() self.newline() field323 = unwrapped_fields322[0] - _t1045 = self.pretty_relation_id(field323) + _t1043 = self.pretty_relation_id(field323) self.newline() field324 = unwrapped_fields322[1] - _t1046 = self.pretty_abstraction_with_arity(field324) + _t1044 = self.pretty_abstraction_with_arity(field324) field325 = unwrapped_fields322[2] if field325 is not None: self.newline() assert field325 is not None opt_val326 = field325 - _t1048 = self.pretty_attrs(opt_val326) - _t1047 = _t1048 + _t1046 = self.pretty_attrs(opt_val326) + _t1045 = _t1046 else: - _t1047 = None + _t1045 = None self.dedent() self.write(')') return None def pretty_abstraction_with_arity(self, msg: tuple[logic_pb2.Abstraction, int]) -> Optional[NoReturn]: - def _t1049(_dollar_dollar): - _t1050 = self.deconstruct_bindings_with_arity(_dollar_dollar[0], _dollar_dollar[1]) - return (_t1050, _dollar_dollar[0].value,) - _t1051 = _t1049(msg) - fields327 = _t1051 + def _t1047(_dollar_dollar): + _t1048 = self.deconstruct_bindings_with_arity(_dollar_dollar[0], _dollar_dollar[1]) + return (_t1048, _dollar_dollar[0].value,) + _t1049 = _t1047(msg) + fields327 = _t1049 assert fields327 is not None unwrapped_fields328 = fields327 self.write('(') field329 = unwrapped_fields328[0] - _t1052 = self.pretty_bindings(field329) + _t1050 = self.pretty_bindings(field329) self.write(' ') field330 = unwrapped_fields328[1] - _t1053 = self.pretty_formula(field330) + _t1051 = self.pretty_formula(field330) self.write(')') return None def pretty_break(self, msg: logic_pb2.Break) -> Optional[NoReturn]: - def _t1054(_dollar_dollar): + def _t1052(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1055 = _dollar_dollar.attrs + _t1053 = _dollar_dollar.attrs else: - _t1055 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t1055,) - _t1056 = _t1054(msg) - fields331 = _t1056 + _t1053 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t1053,) + _t1054 = _t1052(msg) + fields331 = _t1054 assert fields331 is not None unwrapped_fields332 = fields331 self.write('(') @@ -2573,34 +2609,34 @@ def _t1054(_dollar_dollar): self.indent() self.newline() field333 = unwrapped_fields332[0] - _t1057 = self.pretty_relation_id(field333) + _t1055 = self.pretty_relation_id(field333) self.newline() field334 = unwrapped_fields332[1] - _t1058 = self.pretty_abstraction(field334) + _t1056 = self.pretty_abstraction(field334) field335 = unwrapped_fields332[2] if field335 is not None: self.newline() assert field335 is not None opt_val336 = field335 - _t1060 = self.pretty_attrs(opt_val336) - _t1059 = _t1060 + _t1058 = self.pretty_attrs(opt_val336) + _t1057 = _t1058 else: - _t1059 = None + _t1057 = None self.dedent() self.write(')') return None def pretty_monoid_def(self, msg: logic_pb2.MonoidDef) -> Optional[NoReturn]: - def _t1061(_dollar_dollar): + def _t1059(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1062 = _dollar_dollar.attrs + _t1060 = _dollar_dollar.attrs else: - _t1062 = None - return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1062,) - _t1063 = _t1061(msg) - fields337 = _t1063 + _t1060 = None + return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1060,) + _t1061 = _t1059(msg) + fields337 = _t1061 assert fields337 is not None unwrapped_fields338 = fields337 self.write('(') @@ -2608,95 +2644,95 @@ def _t1061(_dollar_dollar): self.indent() self.newline() field339 = unwrapped_fields338[0] - _t1064 = self.pretty_monoid(field339) + _t1062 = self.pretty_monoid(field339) self.newline() field340 = unwrapped_fields338[1] - _t1065 = self.pretty_relation_id(field340) + _t1063 = self.pretty_relation_id(field340) self.newline() field341 = unwrapped_fields338[2] - _t1066 = self.pretty_abstraction_with_arity(field341) + _t1064 = self.pretty_abstraction_with_arity(field341) field342 = unwrapped_fields338[3] if field342 is not None: self.newline() assert field342 is not None opt_val343 = field342 - _t1068 = self.pretty_attrs(opt_val343) - _t1067 = _t1068 + _t1066 = self.pretty_attrs(opt_val343) + _t1065 = _t1066 else: - _t1067 = None + _t1065 = None self.dedent() self.write(')') return None def pretty_monoid(self, msg: logic_pb2.Monoid) -> Optional[NoReturn]: - def _t1069(_dollar_dollar): + def _t1067(_dollar_dollar): if _dollar_dollar.HasField('or_monoid'): - _t1070 = _dollar_dollar.or_monoid + _t1068 = _dollar_dollar.or_monoid else: - _t1070 = None - return _t1070 - _t1071 = _t1069(msg) - deconstruct_result347 = _t1071 + _t1068 = None + return _t1068 + _t1069 = _t1067(msg) + deconstruct_result347 = _t1069 if deconstruct_result347 is not None: - _t1073 = self.pretty_or_monoid(deconstruct_result347) - _t1072 = _t1073 + _t1071 = self.pretty_or_monoid(deconstruct_result347) + _t1070 = _t1071 else: - def _t1074(_dollar_dollar): + def _t1072(_dollar_dollar): if _dollar_dollar.HasField('min_monoid'): - _t1075 = _dollar_dollar.min_monoid + _t1073 = _dollar_dollar.min_monoid else: - _t1075 = None - return _t1075 - _t1076 = _t1074(msg) - deconstruct_result346 = _t1076 + _t1073 = None + return _t1073 + _t1074 = _t1072(msg) + deconstruct_result346 = _t1074 if deconstruct_result346 is not None: - _t1078 = self.pretty_min_monoid(deconstruct_result346) - _t1077 = _t1078 + _t1076 = self.pretty_min_monoid(deconstruct_result346) + _t1075 = _t1076 else: - def _t1079(_dollar_dollar): + def _t1077(_dollar_dollar): if _dollar_dollar.HasField('max_monoid'): - _t1080 = _dollar_dollar.max_monoid + _t1078 = _dollar_dollar.max_monoid else: - _t1080 = None - return _t1080 - _t1081 = _t1079(msg) - deconstruct_result345 = _t1081 + _t1078 = None + return _t1078 + _t1079 = _t1077(msg) + deconstruct_result345 = _t1079 if deconstruct_result345 is not None: - _t1083 = self.pretty_max_monoid(deconstruct_result345) - _t1082 = _t1083 + _t1081 = self.pretty_max_monoid(deconstruct_result345) + _t1080 = _t1081 else: - def _t1084(_dollar_dollar): + def _t1082(_dollar_dollar): if _dollar_dollar.HasField('sum_monoid'): - _t1085 = _dollar_dollar.sum_monoid + _t1083 = _dollar_dollar.sum_monoid else: - _t1085 = None - return _t1085 - _t1086 = _t1084(msg) - deconstruct_result344 = _t1086 + _t1083 = None + return _t1083 + _t1084 = _t1082(msg) + deconstruct_result344 = _t1084 if deconstruct_result344 is not None: - _t1088 = self.pretty_sum_monoid(deconstruct_result344) - _t1087 = _t1088 + _t1086 = self.pretty_sum_monoid(deconstruct_result344) + _t1085 = _t1086 else: raise ParseError('No matching rule for monoid') - _t1082 = _t1087 - _t1077 = _t1082 - _t1072 = _t1077 - return _t1072 + _t1080 = _t1085 + _t1075 = _t1080 + _t1070 = _t1075 + return _t1070 def pretty_or_monoid(self, msg: logic_pb2.OrMonoid) -> Optional[NoReturn]: - def _t1089(_dollar_dollar): + def _t1087(_dollar_dollar): return _dollar_dollar - _t1090 = _t1089(msg) - fields348 = _t1090 + _t1088 = _t1087(msg) + fields348 = _t1088 assert fields348 is not None unwrapped_fields349 = fields348 self.write('(') @@ -2705,63 +2741,63 @@ def _t1089(_dollar_dollar): return None def pretty_min_monoid(self, msg: logic_pb2.MinMonoid) -> Optional[NoReturn]: - def _t1091(_dollar_dollar): + def _t1089(_dollar_dollar): return _dollar_dollar.type - _t1092 = _t1091(msg) - fields350 = _t1092 + _t1090 = _t1089(msg) + fields350 = _t1090 assert fields350 is not None unwrapped_fields351 = fields350 self.write('(') self.write('min') self.indent() self.newline() - _t1093 = self.pretty_type(unwrapped_fields351) + _t1091 = self.pretty_type(unwrapped_fields351) self.dedent() self.write(')') return None def pretty_max_monoid(self, msg: logic_pb2.MaxMonoid) -> Optional[NoReturn]: - def _t1094(_dollar_dollar): + def _t1092(_dollar_dollar): return _dollar_dollar.type - _t1095 = _t1094(msg) - fields352 = _t1095 + _t1093 = _t1092(msg) + fields352 = _t1093 assert fields352 is not None unwrapped_fields353 = fields352 self.write('(') self.write('max') self.indent() self.newline() - _t1096 = self.pretty_type(unwrapped_fields353) + _t1094 = self.pretty_type(unwrapped_fields353) self.dedent() self.write(')') return None def pretty_sum_monoid(self, msg: logic_pb2.SumMonoid) -> Optional[NoReturn]: - def _t1097(_dollar_dollar): + def _t1095(_dollar_dollar): return _dollar_dollar.type - _t1098 = _t1097(msg) - fields354 = _t1098 + _t1096 = _t1095(msg) + fields354 = _t1096 assert fields354 is not None unwrapped_fields355 = fields354 self.write('(') self.write('sum') self.indent() self.newline() - _t1099 = self.pretty_type(unwrapped_fields355) + _t1097 = self.pretty_type(unwrapped_fields355) self.dedent() self.write(')') return None def pretty_monus_def(self, msg: logic_pb2.MonusDef) -> Optional[NoReturn]: - def _t1100(_dollar_dollar): + def _t1098(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1101 = _dollar_dollar.attrs + _t1099 = _dollar_dollar.attrs else: - _t1101 = None - return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1101,) - _t1102 = _t1100(msg) - fields356 = _t1102 + _t1099 = None + return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1099,) + _t1100 = _t1098(msg) + fields356 = _t1100 assert fields356 is not None unwrapped_fields357 = fields356 self.write('(') @@ -2769,32 +2805,32 @@ def _t1100(_dollar_dollar): self.indent() self.newline() field358 = unwrapped_fields357[0] - _t1103 = self.pretty_monoid(field358) + _t1101 = self.pretty_monoid(field358) self.newline() field359 = unwrapped_fields357[1] - _t1104 = self.pretty_relation_id(field359) + _t1102 = self.pretty_relation_id(field359) self.newline() field360 = unwrapped_fields357[2] - _t1105 = self.pretty_abstraction_with_arity(field360) + _t1103 = self.pretty_abstraction_with_arity(field360) field361 = unwrapped_fields357[3] if field361 is not None: self.newline() assert field361 is not None opt_val362 = field361 - _t1107 = self.pretty_attrs(opt_val362) - _t1106 = _t1107 + _t1105 = self.pretty_attrs(opt_val362) + _t1104 = _t1105 else: - _t1106 = None + _t1104 = None self.dedent() self.write(')') return None def pretty_constraint(self, msg: logic_pb2.Constraint) -> Optional[NoReturn]: - def _t1108(_dollar_dollar): + def _t1106(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.functional_dependency.guard, _dollar_dollar.functional_dependency.keys, _dollar_dollar.functional_dependency.values,) - _t1109 = _t1108(msg) - fields363 = _t1109 + _t1107 = _t1106(msg) + fields363 = _t1107 assert fields363 is not None unwrapped_fields364 = fields363 self.write('(') @@ -2802,25 +2838,25 @@ def _t1108(_dollar_dollar): self.indent() self.newline() field365 = unwrapped_fields364[0] - _t1110 = self.pretty_relation_id(field365) + _t1108 = self.pretty_relation_id(field365) self.newline() field366 = unwrapped_fields364[1] - _t1111 = self.pretty_abstraction(field366) + _t1109 = self.pretty_abstraction(field366) self.newline() field367 = unwrapped_fields364[2] - _t1112 = self.pretty_functional_dependency_keys(field367) + _t1110 = self.pretty_functional_dependency_keys(field367) self.newline() field368 = unwrapped_fields364[3] - _t1113 = self.pretty_functional_dependency_values(field368) + _t1111 = self.pretty_functional_dependency_values(field368) self.dedent() self.write(')') return None def pretty_functional_dependency_keys(self, msg: Sequence[logic_pb2.Var]) -> Optional[NoReturn]: - def _t1114(_dollar_dollar): + def _t1112(_dollar_dollar): return _dollar_dollar - _t1115 = _t1114(msg) - fields369 = _t1115 + _t1113 = _t1112(msg) + fields369 = _t1113 assert fields369 is not None unwrapped_fields370 = fields369 self.write('(') @@ -2831,16 +2867,16 @@ def _t1114(_dollar_dollar): for i372, elem371 in enumerate(unwrapped_fields370): if (i372 > 0): self.newline() - _t1116 = self.pretty_var(elem371) + _t1114 = self.pretty_var(elem371) self.dedent() self.write(')') return None def pretty_functional_dependency_values(self, msg: Sequence[logic_pb2.Var]) -> Optional[NoReturn]: - def _t1117(_dollar_dollar): + def _t1115(_dollar_dollar): return _dollar_dollar - _t1118 = _t1117(msg) - fields373 = _t1118 + _t1116 = _t1115(msg) + fields373 = _t1116 assert fields373 is not None unwrapped_fields374 = fields373 self.write('(') @@ -2851,64 +2887,64 @@ def _t1117(_dollar_dollar): for i376, elem375 in enumerate(unwrapped_fields374): if (i376 > 0): self.newline() - _t1119 = self.pretty_var(elem375) + _t1117 = self.pretty_var(elem375) self.dedent() self.write(')') return None def pretty_data(self, msg: logic_pb2.Data) -> Optional[NoReturn]: - def _t1120(_dollar_dollar): + def _t1118(_dollar_dollar): if _dollar_dollar.HasField('rel_edb'): - _t1121 = _dollar_dollar.rel_edb + _t1119 = _dollar_dollar.rel_edb else: - _t1121 = None - return _t1121 - _t1122 = _t1120(msg) - deconstruct_result379 = _t1122 + _t1119 = None + return _t1119 + _t1120 = _t1118(msg) + deconstruct_result379 = _t1120 if deconstruct_result379 is not None: - _t1124 = self.pretty_rel_edb(deconstruct_result379) - _t1123 = _t1124 + _t1122 = self.pretty_rel_edb(deconstruct_result379) + _t1121 = _t1122 else: - def _t1125(_dollar_dollar): + def _t1123(_dollar_dollar): if _dollar_dollar.HasField('betree_relation'): - _t1126 = _dollar_dollar.betree_relation + _t1124 = _dollar_dollar.betree_relation else: - _t1126 = None - return _t1126 - _t1127 = _t1125(msg) - deconstruct_result378 = _t1127 + _t1124 = None + return _t1124 + _t1125 = _t1123(msg) + deconstruct_result378 = _t1125 if deconstruct_result378 is not None: - _t1129 = self.pretty_betree_relation(deconstruct_result378) - _t1128 = _t1129 + _t1127 = self.pretty_betree_relation(deconstruct_result378) + _t1126 = _t1127 else: - def _t1130(_dollar_dollar): + def _t1128(_dollar_dollar): if _dollar_dollar.HasField('csv_data'): - _t1131 = _dollar_dollar.csv_data + _t1129 = _dollar_dollar.csv_data else: - _t1131 = None - return _t1131 - _t1132 = _t1130(msg) - deconstruct_result377 = _t1132 + _t1129 = None + return _t1129 + _t1130 = _t1128(msg) + deconstruct_result377 = _t1130 if deconstruct_result377 is not None: - _t1134 = self.pretty_csv_data(deconstruct_result377) - _t1133 = _t1134 + _t1132 = self.pretty_csv_data(deconstruct_result377) + _t1131 = _t1132 else: raise ParseError('No matching rule for data') - _t1128 = _t1133 - _t1123 = _t1128 - return _t1123 + _t1126 = _t1131 + _t1121 = _t1126 + return _t1121 def pretty_rel_edb(self, msg: logic_pb2.RelEDB) -> Optional[NoReturn]: - def _t1135(_dollar_dollar): + def _t1133(_dollar_dollar): return (_dollar_dollar.target_id, _dollar_dollar.path, _dollar_dollar.types,) - _t1136 = _t1135(msg) - fields380 = _t1136 + _t1134 = _t1133(msg) + fields380 = _t1134 assert fields380 is not None unwrapped_fields381 = fields380 self.write('(') @@ -2916,22 +2952,22 @@ def _t1135(_dollar_dollar): self.indent() self.newline() field382 = unwrapped_fields381[0] - _t1137 = self.pretty_relation_id(field382) + _t1135 = self.pretty_relation_id(field382) self.newline() field383 = unwrapped_fields381[1] - _t1138 = self.pretty_rel_edb_path(field383) + _t1136 = self.pretty_rel_edb_path(field383) self.newline() field384 = unwrapped_fields381[2] - _t1139 = self.pretty_rel_edb_types(field384) + _t1137 = self.pretty_rel_edb_types(field384) self.dedent() self.write(')') return None def pretty_rel_edb_path(self, msg: Sequence[str]) -> Optional[NoReturn]: - def _t1140(_dollar_dollar): + def _t1138(_dollar_dollar): return _dollar_dollar - _t1141 = _t1140(msg) - fields385 = _t1141 + _t1139 = _t1138(msg) + fields385 = _t1139 assert fields385 is not None unwrapped_fields386 = fields385 self.write('[') @@ -2943,25 +2979,25 @@ def _t1140(_dollar_dollar): return None def pretty_rel_edb_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1142(_dollar_dollar): + def _t1140(_dollar_dollar): return _dollar_dollar - _t1143 = _t1142(msg) - fields389 = _t1143 + _t1141 = _t1140(msg) + fields389 = _t1141 assert fields389 is not None unwrapped_fields390 = fields389 self.write('[') for i392, elem391 in enumerate(unwrapped_fields390): if (i392 > 0): self.newline() - _t1144 = self.pretty_type(elem391) + _t1142 = self.pretty_type(elem391) self.write(']') return None def pretty_betree_relation(self, msg: logic_pb2.BeTreeRelation) -> Optional[NoReturn]: - def _t1145(_dollar_dollar): + def _t1143(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.relation_info,) - _t1146 = _t1145(msg) - fields393 = _t1146 + _t1144 = _t1143(msg) + fields393 = _t1144 assert fields393 is not None unwrapped_fields394 = fields393 self.write('(') @@ -2969,20 +3005,20 @@ def _t1145(_dollar_dollar): self.indent() self.newline() field395 = unwrapped_fields394[0] - _t1147 = self.pretty_relation_id(field395) + _t1145 = self.pretty_relation_id(field395) self.newline() field396 = unwrapped_fields394[1] - _t1148 = self.pretty_betree_info(field396) + _t1146 = self.pretty_betree_info(field396) self.dedent() self.write(')') return None def pretty_betree_info(self, msg: logic_pb2.BeTreeInfo) -> Optional[NoReturn]: - def _t1149(_dollar_dollar): - _t1150 = self.deconstruct_betree_info_config(_dollar_dollar) - return (_dollar_dollar.key_types, _dollar_dollar.value_types, _t1150,) - _t1151 = _t1149(msg) - fields397 = _t1151 + def _t1147(_dollar_dollar): + _t1148 = self.deconstruct_betree_info_config(_dollar_dollar) + return (_dollar_dollar.key_types, _dollar_dollar.value_types, _t1148,) + _t1149 = _t1147(msg) + fields397 = _t1149 assert fields397 is not None unwrapped_fields398 = fields397 self.write('(') @@ -2990,22 +3026,22 @@ def _t1149(_dollar_dollar): self.indent() self.newline() field399 = unwrapped_fields398[0] - _t1152 = self.pretty_betree_info_key_types(field399) + _t1150 = self.pretty_betree_info_key_types(field399) self.newline() field400 = unwrapped_fields398[1] - _t1153 = self.pretty_betree_info_value_types(field400) + _t1151 = self.pretty_betree_info_value_types(field400) self.newline() field401 = unwrapped_fields398[2] - _t1154 = self.pretty_config_dict(field401) + _t1152 = self.pretty_config_dict(field401) self.dedent() self.write(')') return None def pretty_betree_info_key_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1155(_dollar_dollar): + def _t1153(_dollar_dollar): return _dollar_dollar - _t1156 = _t1155(msg) - fields402 = _t1156 + _t1154 = _t1153(msg) + fields402 = _t1154 assert fields402 is not None unwrapped_fields403 = fields402 self.write('(') @@ -3016,16 +3052,16 @@ def _t1155(_dollar_dollar): for i405, elem404 in enumerate(unwrapped_fields403): if (i405 > 0): self.newline() - _t1157 = self.pretty_type(elem404) + _t1155 = self.pretty_type(elem404) self.dedent() self.write(')') return None def pretty_betree_info_value_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1158(_dollar_dollar): + def _t1156(_dollar_dollar): return _dollar_dollar - _t1159 = _t1158(msg) - fields406 = _t1159 + _t1157 = _t1156(msg) + fields406 = _t1157 assert fields406 is not None unwrapped_fields407 = fields406 self.write('(') @@ -3036,16 +3072,16 @@ def _t1158(_dollar_dollar): for i409, elem408 in enumerate(unwrapped_fields407): if (i409 > 0): self.newline() - _t1160 = self.pretty_type(elem408) + _t1158 = self.pretty_type(elem408) self.dedent() self.write(')') return None def pretty_csv_data(self, msg: logic_pb2.CSVData) -> Optional[NoReturn]: - def _t1161(_dollar_dollar): + def _t1159(_dollar_dollar): return (_dollar_dollar.locator, _dollar_dollar.config, _dollar_dollar.columns, _dollar_dollar.asof,) - _t1162 = _t1161(msg) - fields410 = _t1162 + _t1160 = _t1159(msg) + fields410 = _t1160 assert fields410 is not None unwrapped_fields411 = fields410 self.write('(') @@ -3053,35 +3089,35 @@ def _t1161(_dollar_dollar): self.indent() self.newline() field412 = unwrapped_fields411[0] - _t1163 = self.pretty_csvlocator(field412) + _t1161 = self.pretty_csvlocator(field412) self.newline() field413 = unwrapped_fields411[1] - _t1164 = self.pretty_csv_config(field413) + _t1162 = self.pretty_csv_config(field413) self.newline() field414 = unwrapped_fields411[2] - _t1165 = self.pretty_csv_columns(field414) + _t1163 = self.pretty_csv_columns(field414) self.newline() field415 = unwrapped_fields411[3] - _t1166 = self.pretty_csv_asof(field415) + _t1164 = self.pretty_csv_asof(field415) self.dedent() self.write(')') return None def pretty_csvlocator(self, msg: logic_pb2.CSVLocator) -> Optional[NoReturn]: - def _t1167(_dollar_dollar): + def _t1165(_dollar_dollar): if not len(_dollar_dollar.paths) == 0: - _t1168 = _dollar_dollar.paths + _t1166 = _dollar_dollar.paths else: - _t1168 = None + _t1166 = None if _dollar_dollar.inline_data.decode('utf-8') != '': - _t1169 = _dollar_dollar.inline_data.decode('utf-8') + _t1167 = _dollar_dollar.inline_data.decode('utf-8') else: - _t1169 = None - return (_t1168, _t1169,) - _t1170 = _t1167(msg) - fields416 = _t1170 + _t1167 = None + return (_t1166, _t1167,) + _t1168 = _t1165(msg) + fields416 = _t1168 assert fields416 is not None unwrapped_fields417 = fields416 self.write('(') @@ -3093,29 +3129,29 @@ def _t1167(_dollar_dollar): self.newline() assert field418 is not None opt_val419 = field418 - _t1172 = self.pretty_csv_locator_paths(opt_val419) - _t1171 = _t1172 + _t1170 = self.pretty_csv_locator_paths(opt_val419) + _t1169 = _t1170 else: - _t1171 = None + _t1169 = None field420 = unwrapped_fields417[1] if field420 is not None: self.newline() assert field420 is not None opt_val421 = field420 - _t1174 = self.pretty_csv_locator_inline_data(opt_val421) - _t1173 = _t1174 + _t1172 = self.pretty_csv_locator_inline_data(opt_val421) + _t1171 = _t1172 else: - _t1173 = None + _t1171 = None self.dedent() self.write(')') return None def pretty_csv_locator_paths(self, msg: Sequence[str]) -> Optional[NoReturn]: - def _t1175(_dollar_dollar): + def _t1173(_dollar_dollar): return _dollar_dollar - _t1176 = _t1175(msg) - fields422 = _t1176 + _t1174 = _t1173(msg) + fields422 = _t1174 assert fields422 is not None unwrapped_fields423 = fields422 self.write('(') @@ -3132,10 +3168,10 @@ def _t1175(_dollar_dollar): return None def pretty_csv_locator_inline_data(self, msg: str) -> Optional[NoReturn]: - def _t1177(_dollar_dollar): + def _t1175(_dollar_dollar): return _dollar_dollar - _t1178 = _t1177(msg) - fields426 = _t1178 + _t1176 = _t1175(msg) + fields426 = _t1176 assert fields426 is not None unwrapped_fields427 = fields426 self.write('(') @@ -3148,27 +3184,27 @@ def _t1177(_dollar_dollar): return None def pretty_csv_config(self, msg: logic_pb2.CSVConfig) -> Optional[NoReturn]: - def _t1179(_dollar_dollar): - _t1180 = self.deconstruct_csv_config(_dollar_dollar) - return _t1180 - _t1181 = _t1179(msg) - fields428 = _t1181 + def _t1177(_dollar_dollar): + _t1178 = self.deconstruct_csv_config(_dollar_dollar) + return _t1178 + _t1179 = _t1177(msg) + fields428 = _t1179 assert fields428 is not None unwrapped_fields429 = fields428 self.write('(') self.write('csv_config') self.indent() self.newline() - _t1182 = self.pretty_config_dict(unwrapped_fields429) + _t1180 = self.pretty_config_dict(unwrapped_fields429) self.dedent() self.write(')') return None def pretty_csv_columns(self, msg: Sequence[logic_pb2.CSVColumn]) -> Optional[NoReturn]: - def _t1183(_dollar_dollar): + def _t1181(_dollar_dollar): return _dollar_dollar - _t1184 = _t1183(msg) - fields430 = _t1184 + _t1182 = _t1181(msg) + fields430 = _t1182 assert fields430 is not None unwrapped_fields431 = fields430 self.write('(') @@ -3179,16 +3215,16 @@ def _t1183(_dollar_dollar): for i433, elem432 in enumerate(unwrapped_fields431): if (i433 > 0): self.newline() - _t1185 = self.pretty_csv_column(elem432) + _t1183 = self.pretty_csv_column(elem432) self.dedent() self.write(')') return None def pretty_csv_column(self, msg: logic_pb2.CSVColumn) -> Optional[NoReturn]: - def _t1186(_dollar_dollar): + def _t1184(_dollar_dollar): return (_dollar_dollar.column_name, _dollar_dollar.target_id, _dollar_dollar.types,) - _t1187 = _t1186(msg) - fields434 = _t1187 + _t1185 = _t1184(msg) + fields434 = _t1185 assert fields434 is not None unwrapped_fields435 = fields434 self.write('(') @@ -3199,24 +3235,24 @@ def _t1186(_dollar_dollar): self.write(self.format_string_value(field436)) self.newline() field437 = unwrapped_fields435[1] - _t1188 = self.pretty_relation_id(field437) + _t1186 = self.pretty_relation_id(field437) self.newline() self.write('[') field438 = unwrapped_fields435[2] for i440, elem439 in enumerate(field438): if (i440 > 0): self.newline() - _t1189 = self.pretty_type(elem439) + _t1187 = self.pretty_type(elem439) self.write(']') self.dedent() self.write(')') return None def pretty_csv_asof(self, msg: str) -> Optional[NoReturn]: - def _t1190(_dollar_dollar): + def _t1188(_dollar_dollar): return _dollar_dollar - _t1191 = _t1190(msg) - fields441 = _t1191 + _t1189 = _t1188(msg) + fields441 = _t1189 assert fields441 is not None unwrapped_fields442 = fields441 self.write('(') @@ -3229,26 +3265,26 @@ def _t1190(_dollar_dollar): return None def pretty_undefine(self, msg: transactions_pb2.Undefine) -> Optional[NoReturn]: - def _t1192(_dollar_dollar): + def _t1190(_dollar_dollar): return _dollar_dollar.fragment_id - _t1193 = _t1192(msg) - fields443 = _t1193 + _t1191 = _t1190(msg) + fields443 = _t1191 assert fields443 is not None unwrapped_fields444 = fields443 self.write('(') self.write('undefine') self.indent() self.newline() - _t1194 = self.pretty_fragment_id(unwrapped_fields444) + _t1192 = self.pretty_fragment_id(unwrapped_fields444) self.dedent() self.write(')') return None def pretty_context(self, msg: transactions_pb2.Context) -> Optional[NoReturn]: - def _t1195(_dollar_dollar): + def _t1193(_dollar_dollar): return _dollar_dollar.relations - _t1196 = _t1195(msg) - fields445 = _t1196 + _t1194 = _t1193(msg) + fields445 = _t1194 assert fields445 is not None unwrapped_fields446 = fields445 self.write('(') @@ -3259,16 +3295,16 @@ def _t1195(_dollar_dollar): for i448, elem447 in enumerate(unwrapped_fields446): if (i448 > 0): self.newline() - _t1197 = self.pretty_relation_id(elem447) + _t1195 = self.pretty_relation_id(elem447) self.dedent() self.write(')') return None def pretty_epoch_reads(self, msg: Sequence[transactions_pb2.Read]) -> Optional[NoReturn]: - def _t1198(_dollar_dollar): + def _t1196(_dollar_dollar): return _dollar_dollar - _t1199 = _t1198(msg) - fields449 = _t1199 + _t1197 = _t1196(msg) + fields449 = _t1197 assert fields449 is not None unwrapped_fields450 = fields449 self.write('(') @@ -3279,110 +3315,110 @@ def _t1198(_dollar_dollar): for i452, elem451 in enumerate(unwrapped_fields450): if (i452 > 0): self.newline() - _t1200 = self.pretty_read(elem451) + _t1198 = self.pretty_read(elem451) self.dedent() self.write(')') return None def pretty_read(self, msg: transactions_pb2.Read) -> Optional[NoReturn]: - def _t1201(_dollar_dollar): + def _t1199(_dollar_dollar): if _dollar_dollar.HasField('demand'): - _t1202 = _dollar_dollar.demand + _t1200 = _dollar_dollar.demand else: - _t1202 = None - return _t1202 - _t1203 = _t1201(msg) - deconstruct_result457 = _t1203 + _t1200 = None + return _t1200 + _t1201 = _t1199(msg) + deconstruct_result457 = _t1201 if deconstruct_result457 is not None: - _t1205 = self.pretty_demand(deconstruct_result457) - _t1204 = _t1205 + _t1203 = self.pretty_demand(deconstruct_result457) + _t1202 = _t1203 else: - def _t1206(_dollar_dollar): + def _t1204(_dollar_dollar): if _dollar_dollar.HasField('output'): - _t1207 = _dollar_dollar.output + _t1205 = _dollar_dollar.output else: - _t1207 = None - return _t1207 - _t1208 = _t1206(msg) - deconstruct_result456 = _t1208 + _t1205 = None + return _t1205 + _t1206 = _t1204(msg) + deconstruct_result456 = _t1206 if deconstruct_result456 is not None: - _t1210 = self.pretty_output(deconstruct_result456) - _t1209 = _t1210 + _t1208 = self.pretty_output(deconstruct_result456) + _t1207 = _t1208 else: - def _t1211(_dollar_dollar): + def _t1209(_dollar_dollar): if _dollar_dollar.HasField('what_if'): - _t1212 = _dollar_dollar.what_if + _t1210 = _dollar_dollar.what_if else: - _t1212 = None - return _t1212 - _t1213 = _t1211(msg) - deconstruct_result455 = _t1213 + _t1210 = None + return _t1210 + _t1211 = _t1209(msg) + deconstruct_result455 = _t1211 if deconstruct_result455 is not None: - _t1215 = self.pretty_what_if(deconstruct_result455) - _t1214 = _t1215 + _t1213 = self.pretty_what_if(deconstruct_result455) + _t1212 = _t1213 else: - def _t1216(_dollar_dollar): + def _t1214(_dollar_dollar): if _dollar_dollar.HasField('abort'): - _t1217 = _dollar_dollar.abort + _t1215 = _dollar_dollar.abort else: - _t1217 = None - return _t1217 - _t1218 = _t1216(msg) - deconstruct_result454 = _t1218 + _t1215 = None + return _t1215 + _t1216 = _t1214(msg) + deconstruct_result454 = _t1216 if deconstruct_result454 is not None: - _t1220 = self.pretty_abort(deconstruct_result454) - _t1219 = _t1220 + _t1218 = self.pretty_abort(deconstruct_result454) + _t1217 = _t1218 else: - def _t1221(_dollar_dollar): + def _t1219(_dollar_dollar): if _dollar_dollar.HasField('export'): - _t1222 = _dollar_dollar.export + _t1220 = _dollar_dollar.export else: - _t1222 = None - return _t1222 - _t1223 = _t1221(msg) - deconstruct_result453 = _t1223 + _t1220 = None + return _t1220 + _t1221 = _t1219(msg) + deconstruct_result453 = _t1221 if deconstruct_result453 is not None: - _t1225 = self.pretty_export(deconstruct_result453) - _t1224 = _t1225 + _t1223 = self.pretty_export(deconstruct_result453) + _t1222 = _t1223 else: raise ParseError('No matching rule for read') - _t1219 = _t1224 - _t1214 = _t1219 - _t1209 = _t1214 - _t1204 = _t1209 - return _t1204 + _t1217 = _t1222 + _t1212 = _t1217 + _t1207 = _t1212 + _t1202 = _t1207 + return _t1202 def pretty_demand(self, msg: transactions_pb2.Demand) -> Optional[NoReturn]: - def _t1226(_dollar_dollar): + def _t1224(_dollar_dollar): return _dollar_dollar.relation_id - _t1227 = _t1226(msg) - fields458 = _t1227 + _t1225 = _t1224(msg) + fields458 = _t1225 assert fields458 is not None unwrapped_fields459 = fields458 self.write('(') self.write('demand') self.indent() self.newline() - _t1228 = self.pretty_relation_id(unwrapped_fields459) + _t1226 = self.pretty_relation_id(unwrapped_fields459) self.dedent() self.write(')') return None def pretty_output(self, msg: transactions_pb2.Output) -> Optional[NoReturn]: - def _t1229(_dollar_dollar): + def _t1227(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.relation_id,) - _t1230 = _t1229(msg) - fields460 = _t1230 + _t1228 = _t1227(msg) + fields460 = _t1228 assert fields460 is not None unwrapped_fields461 = fields460 self.write('(') @@ -3390,19 +3426,19 @@ def _t1229(_dollar_dollar): self.indent() self.newline() field462 = unwrapped_fields461[0] - _t1231 = self.pretty_name(field462) + _t1229 = self.pretty_name(field462) self.newline() field463 = unwrapped_fields461[1] - _t1232 = self.pretty_relation_id(field463) + _t1230 = self.pretty_relation_id(field463) self.dedent() self.write(')') return None def pretty_what_if(self, msg: transactions_pb2.WhatIf) -> Optional[NoReturn]: - def _t1233(_dollar_dollar): + def _t1231(_dollar_dollar): return (_dollar_dollar.branch, _dollar_dollar.epoch,) - _t1234 = _t1233(msg) - fields464 = _t1234 + _t1232 = _t1231(msg) + fields464 = _t1232 assert fields464 is not None unwrapped_fields465 = fields464 self.write('(') @@ -3410,24 +3446,24 @@ def _t1233(_dollar_dollar): self.indent() self.newline() field466 = unwrapped_fields465[0] - _t1235 = self.pretty_name(field466) + _t1233 = self.pretty_name(field466) self.newline() field467 = unwrapped_fields465[1] - _t1236 = self.pretty_epoch(field467) + _t1234 = self.pretty_epoch(field467) self.dedent() self.write(')') return None def pretty_abort(self, msg: transactions_pb2.Abort) -> Optional[NoReturn]: - def _t1237(_dollar_dollar): + def _t1235(_dollar_dollar): if _dollar_dollar.name != 'abort': - _t1238 = _dollar_dollar.name + _t1236 = _dollar_dollar.name else: - _t1238 = None - return (_t1238, _dollar_dollar.relation_id,) - _t1239 = _t1237(msg) - fields468 = _t1239 + _t1236 = None + return (_t1236, _dollar_dollar.relation_id,) + _t1237 = _t1235(msg) + fields468 = _t1237 assert fields468 is not None unwrapped_fields469 = fields468 self.write('(') @@ -3439,110 +3475,152 @@ def _t1237(_dollar_dollar): self.newline() assert field470 is not None opt_val471 = field470 - _t1241 = self.pretty_name(opt_val471) - _t1240 = _t1241 + _t1239 = self.pretty_name(opt_val471) + _t1238 = _t1239 else: - _t1240 = None + _t1238 = None self.newline() field472 = unwrapped_fields469[1] - _t1242 = self.pretty_relation_id(field472) + _t1240 = self.pretty_relation_id(field472) self.dedent() self.write(')') return None def pretty_export(self, msg: transactions_pb2.Export) -> Optional[NoReturn]: - def _t1243(_dollar_dollar): + def _t1241(_dollar_dollar): return _dollar_dollar.csv_config - _t1244 = _t1243(msg) - fields473 = _t1244 + _t1242 = _t1241(msg) + fields473 = _t1242 assert fields473 is not None unwrapped_fields474 = fields473 self.write('(') self.write('export') self.indent() self.newline() - _t1245 = self.pretty_export_csv_config(unwrapped_fields474) + _t1243 = self.pretty_export_csv_config(unwrapped_fields474) self.dedent() self.write(')') return None def pretty_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> Optional[NoReturn]: - def _t1246(_dollar_dollar): - return (_dollar_dollar.path, _dollar_dollar.csv_source, _dollar_dollar.csv_config,) - _t1247 = _t1246(msg) - fields482 = _t1247 - assert fields482 is not None - unwrapped_fields483 = fields482 - self.write('(') - self.write('export_csv_config_v2') - self.indent() - self.newline() - field484 = unwrapped_fields483[0] - _t1248 = self.pretty_export_csv_path(field484) - self.newline() - field485 = unwrapped_fields483[1] - _t1249 = self.pretty_export_csv_source(field485) - self.newline() - field486 = unwrapped_fields483[2] - _t1250 = self.pretty_csv_config(field486) - self.dedent() - self.write(')') + def _t1244(_dollar_dollar): + + if len(_dollar_dollar.data_columns) == 0: + _t1245 = (_dollar_dollar.path, _dollar_dollar.csv_source, _dollar_dollar.csv_config,) + else: + _t1245 = None + return _t1245 + _t1246 = _t1244(msg) + deconstruct_result481 = _t1246 + if deconstruct_result481 is not None: + self.write('(') + self.write('export_csv_config_v2') + self.indent() + self.newline() + field482 = deconstruct_result481[0] + _t1247 = self.pretty_export_csv_path(field482) + self.newline() + field483 = deconstruct_result481[1] + _t1248 = self.pretty_export_csv_source(field483) + self.newline() + field484 = deconstruct_result481[2] + _t1249 = self.pretty_csv_config(field484) + self.dedent() + self.write(')') + else: + def _t1250(_dollar_dollar): + + if len(_dollar_dollar.data_columns) != 0: + _t1252 = self.deconstruct_export_csv_config(_dollar_dollar) + _t1251 = (_dollar_dollar.path, _dollar_dollar.data_columns, _t1252,) + else: + _t1251 = None + return _t1251 + _t1253 = _t1250(msg) + deconstruct_result475 = _t1253 + if deconstruct_result475 is not None: + self.write('(') + self.write('export_csv_config') + self.indent() + self.newline() + field476 = deconstruct_result475[0] + _t1254 = self.pretty_export_csv_path(field476) + self.newline() + self.write('(') + self.newline() + self.write('columns') + field477 = deconstruct_result475[1] + if not len(field477) == 0: + self.newline() + for i479, elem478 in enumerate(field477): + if (i479 > 0): + self.newline() + _t1255 = self.pretty_export_csv_column(elem478) + self.dedent() + self.write(')') + self.newline() + field480 = deconstruct_result475[2] + _t1256 = self.pretty_config_dict(field480) + self.dedent() + self.write(')') + else: + raise ParseError('No matching rule for export_csv_config') return None def pretty_export_csv_path(self, msg: str) -> Optional[NoReturn]: - def _t1251(_dollar_dollar): + def _t1257(_dollar_dollar): return _dollar_dollar - _t1252 = _t1251(msg) - fields487 = _t1252 - assert fields487 is not None - unwrapped_fields488 = fields487 + _t1258 = _t1257(msg) + fields485 = _t1258 + assert fields485 is not None + unwrapped_fields486 = fields485 self.write('(') self.write('path') self.indent() self.newline() - self.write(self.format_string_value(unwrapped_fields488)) + self.write(self.format_string_value(unwrapped_fields486)) self.dedent() self.write(')') return None def pretty_export_csv_source(self, msg: transactions_pb2.ExportCSVSource) -> Optional[NoReturn]: - def _t1253(_dollar_dollar): + def _t1259(_dollar_dollar): if _dollar_dollar.HasField('gnf_columns'): - _t1254 = _dollar_dollar.gnf_columns.columns + _t1260 = _dollar_dollar.gnf_columns.columns else: - _t1254 = None - return _t1254 - _t1255 = _t1253(msg) - deconstruct_result490 = _t1255 - if deconstruct_result490 is not None: + _t1260 = None + return _t1260 + _t1261 = _t1259(msg) + deconstruct_result488 = _t1261 + if deconstruct_result488 is not None: self.write('(') self.write('gnf_columns') self.indent() - if not len(deconstruct_result490) == 0: + if not len(deconstruct_result488) == 0: self.newline() - for i492, elem491 in enumerate(deconstruct_result490): - if (i492 > 0): + for i490, elem489 in enumerate(deconstruct_result488): + if (i490 > 0): self.newline() - _t1256 = self.pretty_export_csv_column(elem491) + _t1262 = self.pretty_export_csv_column(elem489) self.dedent() self.write(')') else: - def _t1257(_dollar_dollar): + def _t1263(_dollar_dollar): if _dollar_dollar.HasField('table_def'): - _t1258 = _dollar_dollar.table_def + _t1264 = _dollar_dollar.table_def else: - _t1258 = None - return _t1258 - _t1259 = _t1257(msg) - deconstruct_result489 = _t1259 - if deconstruct_result489 is not None: + _t1264 = None + return _t1264 + _t1265 = _t1263(msg) + deconstruct_result487 = _t1265 + if deconstruct_result487 is not None: self.write('(') self.write('table_def') self.indent() self.newline() - _t1260 = self.pretty_relation_id(deconstruct_result489) + _t1266 = self.pretty_relation_id(deconstruct_result487) self.dedent() self.write(')') else: @@ -3550,21 +3628,21 @@ def _t1257(_dollar_dollar): return None def pretty_export_csv_column(self, msg: transactions_pb2.ExportCSVColumn) -> Optional[NoReturn]: - def _t1261(_dollar_dollar): + def _t1267(_dollar_dollar): return (_dollar_dollar.column_name, _dollar_dollar.column_data,) - _t1262 = _t1261(msg) - fields493 = _t1262 - assert fields493 is not None - unwrapped_fields494 = fields493 + _t1268 = _t1267(msg) + fields491 = _t1268 + assert fields491 is not None + unwrapped_fields492 = fields491 self.write('(') self.write('column') self.indent() self.newline() - field495 = unwrapped_fields494[0] - self.write(self.format_string_value(field495)) + field493 = unwrapped_fields492[0] + self.write(self.format_string_value(field493)) self.newline() - field496 = unwrapped_fields494[1] - _t1263 = self.pretty_relation_id(field496) + field494 = unwrapped_fields492[1] + _t1269 = self.pretty_relation_id(field494) self.dedent() self.write(')') return None From 7d4bc26969e45eae358302f634a73ce258b434c8 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 13:50:39 +1100 Subject: [PATCH 12/27] Format --- meta/src/meta/pretty_gen.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/meta/src/meta/pretty_gen.py b/meta/src/meta/pretty_gen.py index cc1719c1..9e6e21c6 100644 --- a/meta/src/meta/pretty_gen.py +++ b/meta/src/meta/pretty_gen.py @@ -395,10 +395,17 @@ def _generate_pretty_sequence_from_fields( prev_lit_name = None # Extract field from tuple or use directly - is_tuple_type = isinstance(fields_var.type, TupleType) or \ - isinstance(fields_var.type, OptionType) and isinstance(fields_var.type.element_type, TupleType) + is_tuple_type = ( + isinstance(fields_var.type, TupleType) + or isinstance(fields_var.type, OptionType) + and isinstance(fields_var.type.element_type, TupleType) + ) if non_lit_count > 1 and is_tuple_type: - elem_type = fields_var.type.elements[field_idx] if isinstance(fields_var.type, TupleType) else fields_var.type.element_type.elements[field_idx] + elem_type = ( + fields_var.type.elements[field_idx] + if isinstance(fields_var.type, TupleType) + else fields_var.type.element_type.elements[field_idx] + ) elem_var = Var(gensym("field"), elem_type) elem_expr = GetElement(fields_var, field_idx) pretty_elem = _pretty_print_element( From 1e297f6bb1339da33b5cf0d1253a576c0e662220 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 14:30:36 +1100 Subject: [PATCH 13/27] Add tests for export_csv_config_v2 --- tests/bin/csv_export_v2.bin | Bin 0 -> 4016 bytes tests/bin/simple_export_v2.bin | Bin 0 -> 343 bytes tests/lqp/csv_export_v2.lqp | 203 ++++++++++++++ tests/lqp/simple_export_v2.lqp | 21 ++ tests/pretty/csv_export_v2.lqp | 442 ++++++++++++++++++++++++++++++ tests/pretty/simple_export_v2.lqp | 44 +++ 6 files changed, 710 insertions(+) create mode 100644 tests/bin/csv_export_v2.bin create mode 100644 tests/bin/simple_export_v2.bin create mode 100644 tests/lqp/csv_export_v2.lqp create mode 100644 tests/lqp/simple_export_v2.lqp create mode 100644 tests/pretty/csv_export_v2.lqp create mode 100644 tests/pretty/simple_export_v2.lqp diff --git a/tests/bin/csv_export_v2.bin b/tests/bin/csv_export_v2.bin new file mode 100644 index 0000000000000000000000000000000000000000..2926e268bc028b128ecd2916dbe6e3d82d0c16cd GIT binary patch literal 4016 zcmcIneTWog7~l8Z+q>Q8ⅈ2@0{S2NxgME7dy)?^K4r&Ybd%-bnz;-x!v&^+An8j zPn4oFK|GWo5`?leB(5(jL`8`p2trFJs0e}}ioX7hh`_AgcfM}#ZuXi9+JE+)-S_#u zzvuUSywAY&ayZljlRa>w8=8Rbxdp$W@HK@*qWP1|zTfY^{uExL0Q^6#fK-S;8#F^x zSt+SVF#?OA1!6|NqO(Uaf~TqY5`|+#m?E%RUJ0GLTFg~-t)!XSgql0Z>)QSmY$J|}i@+z#CQ$E|-mKi3CkUcJo@Xxo|G#n+u5dwYkDj&NU zIxQH(Xy+9IYvnaQ8|(QnHW-6wrZN_s%?AGYd}kW3Md50c>05Z_;K!HxwgA2tT|nP1 z?iCX-uVV8^Qye-ev;$K{$#X%Gjz;i075|`cnFtqyYEB>}_y3EJZD@I%)e7UPxv-ly zJzMl4`07mc#)dRVa?%|f@Uh`^w{(PwuDvP0@m?n3rcrZxUcMLy9bu9AvFF6E`ip0#@e9JV zV0HV1x__p3O(?}0t0N(T7l?R{KvviZNqM!;X;u%it*u@GM1eJOpU+OG8QIWofWiQe z1qY`1E`hV$&*ejl4(>{ydmB%Y*-aXsCE`&Mw$FxYgMoYaRzA{)!tTs9l}FF zF=>O_%)_)Yg5Mq?K%>Dx-=cVl!Ue9^_vgo+&s_QPGn{Uq7i%HMs5nKfH1@yoeDw0~ z)t+xo-P_miPGLuI(fkX^19pm)-=n-b0`iSExLZ6}hp(M#A5eIoOSkLkPvxzd->kHo+jYx#D{wz<_2Ltbtec`>~ocJaldEnW?4P` z`9Yi_(qRIJ2rM2i@5w2}VveOqtyDHFoCo0n=&;`1>Qc4Kc^j-tS#)0s>vDIo_s%kt z#r0g~`;wOw$U!?NV${YA)wDRQhZHP<7A`Q)>pCJ!ZP}eH_X=p?LmrhLhTYJ`56RaI svr^)R@OR literal 0 HcmV?d00001 diff --git a/tests/bin/simple_export_v2.bin b/tests/bin/simple_export_v2.bin new file mode 100644 index 0000000000000000000000000000000000000000..acfda40a1eeb76d236bb0c9d9a48264136201b95 GIT binary patch literal 343 zcmd-&$HX<6iE9EAS1%J63l~$Gq0n1Ku2+m)oSdS5mup1}!bODcFmmy5v2n2^=jRv- zF-bANc}7A^LJUHC8I^W1az#r;a%p&}aS0Tq=EN5iW#(pX zF$pko>3V77RcR!|EyO9r&c&LMnv;`HlHp9m8(yAYl#?PQitJa8+{*Zp#H5^5Au}x# zE+a0k{L+$w(h|Mo;<6y1li-08CC Date: Wed, 18 Feb 2026 14:35:18 +1100 Subject: [PATCH 14/27] Fix type error --- meta/src/meta/pretty_gen.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/src/meta/pretty_gen.py b/meta/src/meta/pretty_gen.py index 9e6e21c6..f83d31b3 100644 --- a/meta/src/meta/pretty_gen.py +++ b/meta/src/meta/pretty_gen.py @@ -401,11 +401,13 @@ def _generate_pretty_sequence_from_fields( and isinstance(fields_var.type.element_type, TupleType) ) if non_lit_count > 1 and is_tuple_type: - elem_type = ( - fields_var.type.elements[field_idx] - if isinstance(fields_var.type, TupleType) - else fields_var.type.element_type.elements[field_idx] - ) + if isinstance(fields_var.type, TupleType): + elem_type = fields_var.type.elements[field_idx] + else: + assert isinstance(fields_var.type, OptionType) and isinstance( + fields_var.type.element_type, TupleType + ) + elem_type = fields_var.type.element_type.elements[field_idx] elem_var = Var(gensym("field"), elem_type) elem_expr = GetElement(fields_var, field_idx) pretty_elem = _pretty_print_element( From 0137a34e6e42eef1b28a8aff6ecdd795f7648357 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 14:35:35 +1100 Subject: [PATCH 15/27] Update generated parser --- sdks/go/src/parser.go | 256 +++++++-------- sdks/julia/LogicalQueryProtocol/src/parser.jl | 146 ++++----- sdks/python/src/lqp/gen/parser.py | 294 +++++++++--------- 3 files changed, 348 insertions(+), 348 deletions(-) diff --git a/sdks/go/src/parser.go b/sdks/go/src/parser.go index f3a73c68..f163fa44 100644 --- a/sdks/go/src/parser.go +++ b/sdks/go/src/parser.go @@ -639,40 +639,94 @@ func toPascalCase(s string) string { // --- Helper functions --- -func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { +func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { + if (value != nil && hasProtoField(value, "string_value")) { + return []string{value.GetStringValue()} + } + return default_ +} + +func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { config := dictFromList(config_dict) - _t983 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) - epsilon := _t983 - _t984 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) - max_pivots := _t984 - _t985 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) - max_deltas := _t985 - _t986 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) - max_leaf := _t986 - _t987 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} - storage_config := _t987 - _t988 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) - root_pageid := _t988 - _t989 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) - inline_data := _t989 - _t990 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) - element_count := _t990 - _t991 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) - tree_height := _t991 - _t992 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} - if root_pageid != nil { - _t992.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} - } else { - _t992.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} + _t983 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) + header_row := _t983 + _t984 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) + skip := _t984 + _t985 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") + new_line := _t985 + _t986 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") + delimiter := _t986 + _t987 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") + quotechar := _t987 + _t988 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") + escapechar := _t988 + _t989 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") + comment := _t989 + _t990 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) + missing_strings := _t990 + _t991 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") + decimal_separator := _t991 + _t992 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") + encoding := _t992 + _t993 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") + compression := _t993 + _t994 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) + partition_size := _t994 + _t995 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} + return _t995 +} + +func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { + if (value != nil && hasProtoField(value, "uint128_value")) { + return value.GetUint128Value() + } + return nil +} + +func (p *Parser) default_configure() *pb.Configure { + _t996 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} + ivm_config := _t996 + _t997 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} + return _t997 +} + +func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { + if (value != nil && hasProtoField(value, "string_value")) { + return value.GetStringValue() } - relation_locator := _t992 - _t993 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} - return _t993 + return default_ } func (p *Parser) construct_export_csv_config_with_source(path string, csv_source *pb.ExportCSVSource, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { - _t994 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} - return _t994 + _t998 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} + return _t998 +} + +func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { + if (value != nil && hasProtoField(value, "float_value")) { + return ptr(value.GetFloatValue()) + } + return nil +} + +func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { + config := dictFromList(config_dict) + _t999 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) + partition_size := _t999 + _t1000 := p._extract_value_string(dictGetValue(config, "compression"), "") + compression := _t1000 + _t1001 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) + syntax_header_row := _t1001 + _t1002 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") + syntax_missing_string := _t1002 + _t1003 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") + syntax_delim := _t1003 + _t1004 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") + syntax_quotechar := _t1004 + _t1005 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") + syntax_escapechar := _t1005 + _t1006 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} + return _t1006 } func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure { @@ -694,26 +748,19 @@ func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure } } } - _t995 := &pb.IVMConfig{Level: maintenance_level} - ivm_config := _t995 - _t996 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) - semantics_version := _t996 - _t997 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} - return _t997 -} - -func (p *Parser) default_configure() *pb.Configure { - _t998 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} - ivm_config := _t998 - _t999 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} - return _t999 + _t1007 := &pb.IVMConfig{Level: maintenance_level} + ivm_config := _t1007 + _t1008 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) + semantics_version := _t1008 + _t1009 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} + return _t1009 } -func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { - if (value != nil && hasProtoField(value, "string_value")) { - return value.GetStringValue() +func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { + if (value != nil && hasProtoField(value, "int_value")) { + return int32(value.GetIntValue()) } - return default_ + return int32(default_) } func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { @@ -723,32 +770,35 @@ func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { return default_ } -func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { - if (value != nil && hasProtoField(value, "int_value")) { - return value.GetIntValue() - } - return default_ -} - -func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { - if (value != nil && hasProtoField(value, "int_value")) { - return ptr(value.GetIntValue()) - } - return nil -} - -func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { - if (value != nil && hasProtoField(value, "float_value")) { - return ptr(value.GetFloatValue()) - } - return nil -} - -func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { - if (value != nil && hasProtoField(value, "uint128_value")) { - return value.GetUint128Value() +func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { + config := dictFromList(config_dict) + _t1010 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) + epsilon := _t1010 + _t1011 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) + max_pivots := _t1011 + _t1012 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) + max_deltas := _t1012 + _t1013 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) + max_leaf := _t1013 + _t1014 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} + storage_config := _t1014 + _t1015 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) + root_pageid := _t1015 + _t1016 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) + inline_data := _t1016 + _t1017 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) + element_count := _t1017 + _t1018 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) + tree_height := _t1018 + _t1019 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} + if root_pageid != nil { + _t1019.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} + } else { + _t1019.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} } - return nil + relation_locator := _t1019 + _t1020 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} + return _t1020 } func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { @@ -758,68 +808,18 @@ func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { return nil } -func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { +func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { if (value != nil && hasProtoField(value, "int_value")) { - return int32(value.GetIntValue()) - } - return int32(default_) -} - -func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { - config := dictFromList(config_dict) - _t1000 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) - partition_size := _t1000 - _t1001 := p._extract_value_string(dictGetValue(config, "compression"), "") - compression := _t1001 - _t1002 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) - syntax_header_row := _t1002 - _t1003 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") - syntax_missing_string := _t1003 - _t1004 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") - syntax_delim := _t1004 - _t1005 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") - syntax_quotechar := _t1005 - _t1006 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") - syntax_escapechar := _t1006 - _t1007 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} - return _t1007 -} - -func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { - if (value != nil && hasProtoField(value, "string_value")) { - return []string{value.GetStringValue()} + return value.GetIntValue() } return default_ } -func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { - config := dictFromList(config_dict) - _t1008 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) - header_row := _t1008 - _t1009 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) - skip := _t1009 - _t1010 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") - new_line := _t1010 - _t1011 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") - delimiter := _t1011 - _t1012 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") - quotechar := _t1012 - _t1013 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") - escapechar := _t1013 - _t1014 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") - comment := _t1014 - _t1015 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) - missing_strings := _t1015 - _t1016 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") - decimal_separator := _t1016 - _t1017 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") - encoding := _t1017 - _t1018 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") - compression := _t1018 - _t1019 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) - partition_size := _t1019 - _t1020 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} - return _t1020 +func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { + if (value != nil && hasProtoField(value, "int_value")) { + return ptr(value.GetIntValue()) + } + return nil } // --- Parse functions --- diff --git a/sdks/julia/LogicalQueryProtocol/src/parser.jl b/sdks/julia/LogicalQueryProtocol/src/parser.jl index 25ae96d6..2914fb25 100644 --- a/sdks/julia/LogicalQueryProtocol/src/parser.jl +++ b/sdks/julia/LogicalQueryProtocol/src/parser.jl @@ -325,39 +325,6 @@ end # --- Helper functions --- -function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return Vector{UInt8}(_get_oneof_field(value, :string_value)) - end - return nothing -end - -function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} - if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) - return _get_oneof_field(value, :float_value) - end - return nothing -end - -function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} - if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return _get_oneof_field(value, :int_value) - end - return nothing -end - -function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Proto.ExportCSVSource, csv_config::Proto.CSVConfig)::Proto.ExportCSVConfig - _t972 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) - return _t972 -end - -function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return _get_oneof_field(value, :string_value) - end - return default -end - function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.Configure config = Dict(config_dict) maintenance_level_val = get(config, "ivm.maintenance_level", nothing) @@ -377,24 +344,36 @@ function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, P end end end - _t973 = Proto.IVMConfig(level=maintenance_level) - ivm_config = _t973 - _t974 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) - semantics_version = _t974 - _t975 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t975 + _t972 = Proto.IVMConfig(level=maintenance_level) + ivm_config = _t972 + _t973 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) + semantics_version = _t973 + _t974 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t974 end -function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Proto.UInt128Value} - if (!isnothing(value) && _has_proto_field(value, Symbol("uint128_value"))) - return _get_oneof_field(value, :uint128_value) +function default_configure(parser::Parser)::Proto.Configure + _t975 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t975 + _t976 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) + return _t976 +end + +function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Proto.ExportCSVSource, csv_config::Proto.CSVConfig)::Proto.ExportCSVConfig + _t977 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t977 +end + +function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return _get_oneof_field(value, :string_value) end - return nothing + return default end -function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool - if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) - return _get_oneof_field(value, :boolean_value) +function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int64 + if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) + return _get_oneof_field(value, :int_value) end return default end @@ -406,38 +385,59 @@ function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value} return Int32(default) end -function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} +function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} + if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) + return _get_oneof_field(value, :int_value) + end + return nothing +end + +function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return String[_get_oneof_field(value, :string_value)] + return Vector{UInt8}(_get_oneof_field(value, :string_value)) + end + return nothing +end + +function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool + if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) + return _get_oneof_field(value, :boolean_value) end return default end function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig config = Dict(config_dict) - _t976 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) - partition_size = _t976 - _t977 = _extract_value_string(parser, get(config, "compression", nothing), "") - compression = _t977 - _t978 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) - syntax_header_row = _t978 - _t979 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") - syntax_missing_string = _t979 - _t980 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") - syntax_delim = _t980 - _t981 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") - syntax_quotechar = _t981 - _t982 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") - syntax_escapechar = _t982 - _t983 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t983 + _t978 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) + partition_size = _t978 + _t979 = _extract_value_string(parser, get(config, "compression", nothing), "") + compression = _t979 + _t980 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) + syntax_header_row = _t980 + _t981 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") + syntax_missing_string = _t981 + _t982 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") + syntax_delim = _t982 + _t983 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") + syntax_quotechar = _t983 + _t984 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") + syntax_escapechar = _t984 + _t985 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t985 end -function default_configure(parser::Parser)::Proto.Configure - _t984 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t984 - _t985 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) - return _t985 +function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return String[_get_oneof_field(value, :string_value)] + end + return default +end + +function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Proto.UInt128Value} + if (!isnothing(value) && _has_proto_field(value, Symbol("uint128_value"))) + return _get_oneof_field(value, :uint128_value) + end + return nothing end function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.CSVConfig @@ -470,11 +470,11 @@ function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, return _t998 end -function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int64 - if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return _get_oneof_field(value, :int_value) +function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} + if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) + return _get_oneof_field(value, :float_value) end - return default + return nothing end function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo diff --git a/sdks/python/src/lqp/gen/parser.py b/sdks/python/src/lqp/gen/parser.py index 8109ab7c..f47132b5 100644 --- a/sdks/python/src/lqp/gen/parser.py +++ b/sdks/python/src/lqp/gen/parser.py @@ -278,219 +278,219 @@ def relation_id_to_uint128(self, msg): # --- Helper functions --- - def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: - - if value is not None: - assert value is not None - _t972 = value.HasField('int_value') - else: - _t972 = False - if _t972: - assert value is not None - return int(value.int_value) - return int(default) + def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: + config = dict(config_dict) + _t972 = self._extract_value_int32(config.get('csv_header_row'), 1) + header_row = _t972 + _t973 = self._extract_value_int64(config.get('csv_skip'), 0) + skip = _t973 + _t974 = self._extract_value_string(config.get('csv_new_line'), '') + new_line = _t974 + _t975 = self._extract_value_string(config.get('csv_delimiter'), ',') + delimiter = _t975 + _t976 = self._extract_value_string(config.get('csv_quotechar'), '"') + quotechar = _t976 + _t977 = self._extract_value_string(config.get('csv_escapechar'), '"') + escapechar = _t977 + _t978 = self._extract_value_string(config.get('csv_comment'), '') + comment = _t978 + _t979 = self._extract_value_string_list(config.get('csv_missing_strings'), []) + missing_strings = _t979 + _t980 = self._extract_value_string(config.get('csv_decimal_separator'), '.') + decimal_separator = _t980 + _t981 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') + encoding = _t981 + _t982 = self._extract_value_string(config.get('csv_compression'), 'auto') + compression = _t982 + _t983 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) + partition_size = _t983 + _t984 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + return _t984 - def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: + def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: if value is not None: assert value is not None - _t973 = value.HasField('boolean_value') + _t985 = value.HasField('string_value') else: - _t973 = False - if _t973: + _t985 = False + if _t985: assert value is not None - return value.boolean_value + return value.string_value return default - def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: - config = dict(config_dict) - _t974 = self._try_extract_value_float64(config.get('betree_config_epsilon')) - epsilon = _t974 - _t975 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) - max_pivots = _t975 - _t976 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) - max_deltas = _t976 - _t977 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) - max_leaf = _t977 - _t978 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t978 - _t979 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) - root_pageid = _t979 - _t980 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) - inline_data = _t980 - _t981 = self._try_extract_value_int64(config.get('betree_locator_element_count')) - element_count = _t981 - _t982 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) - tree_height = _t982 - _t983 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) - relation_locator = _t983 - _t984 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t984 - - def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional[bytes]: + def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: if value is not None: assert value is not None - _t985 = value.HasField('string_value') + _t986 = value.HasField('int_value') else: - _t985 = False - if _t985: + _t986 = False + if _t986: assert value is not None - return value.string_value.encode() + return value.int_value return None def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Optional[float]: if value is not None: assert value is not None - _t986 = value.HasField('float_value') + _t987 = value.HasField('float_value') else: - _t986 = False - if _t986: + _t987 = False + if _t987: assert value is not None return value.float_value return None - def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.Configure: - config = dict(config_dict) - maintenance_level_val = config.get('ivm.maintenance_level') - maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - if (maintenance_level_val is not None and maintenance_level_val.HasField('string_value')): - if maintenance_level_val.string_value == 'off': - maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - else: - if maintenance_level_val.string_value == 'auto': - maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO - else: - if maintenance_level_val.string_value == 'all': - maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL - else: - maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - _t987 = transactions_pb2.IVMConfig(level=maintenance_level) - ivm_config = _t987 - _t988 = self._extract_value_int64(config.get('semantics_version'), 0) - semantics_version = _t988 - _t989 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t989 - - def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: - config = dict(config_dict) - _t990 = self._extract_value_int32(config.get('csv_header_row'), 1) - header_row = _t990 - _t991 = self._extract_value_int64(config.get('csv_skip'), 0) - skip = _t991 - _t992 = self._extract_value_string(config.get('csv_new_line'), '') - new_line = _t992 - _t993 = self._extract_value_string(config.get('csv_delimiter'), ',') - delimiter = _t993 - _t994 = self._extract_value_string(config.get('csv_quotechar'), '"') - quotechar = _t994 - _t995 = self._extract_value_string(config.get('csv_escapechar'), '"') - escapechar = _t995 - _t996 = self._extract_value_string(config.get('csv_comment'), '') - comment = _t996 - _t997 = self._extract_value_string_list(config.get('csv_missing_strings'), []) - missing_strings = _t997 - _t998 = self._extract_value_string(config.get('csv_decimal_separator'), '.') - decimal_separator = _t998 - _t999 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') - encoding = _t999 - _t1000 = self._extract_value_string(config.get('csv_compression'), 'auto') - compression = _t1000 - _t1001 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) - partition_size = _t1001 - _t1002 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) - return _t1002 - def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t1003 = value.HasField('int_value') + _t988 = value.HasField('int_value') else: - _t1003 = False - if _t1003: + _t988 = False + if _t988: assert value is not None return value.int_value return default - def construct_export_csv_config_with_source(self, path: str, csv_source: transactions_pb2.ExportCSVSource, csv_config: logic_pb2.CSVConfig) -> transactions_pb2.ExportCSVConfig: - _t1004 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) - return _t1004 - - def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: + def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: if value is not None: assert value is not None - _t1005 = value.HasField('string_value') + _t989 = value.HasField('boolean_value') else: - _t1005 = False - if _t1005: + _t989 = False + if _t989: assert value is not None - return value.string_value + return value.boolean_value return default - def default_configure(self) -> transactions_pb2.Configure: - _t1006 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t1006 - _t1007 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) - return _t1007 - - def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: + def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional[bytes]: if value is not None: assert value is not None - _t1008 = value.HasField('uint128_value') + _t990 = value.HasField('string_value') else: - _t1008 = False - if _t1008: + _t990 = False + if _t990: assert value is not None - return value.uint128_value + return value.string_value.encode() return None - def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: + def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t1009 = value.HasField('int_value') + _t991 = value.HasField('int_value') else: - _t1009 = False - if _t1009: + _t991 = False + if _t991: assert value is not None - return value.int_value + return int(value.int_value) + return int(default) + + def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: + + if value is not None: + assert value is not None + _t992 = value.HasField('uint128_value') + else: + _t992 = False + if _t992: + assert value is not None + return value.uint128_value return None def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: config = dict(config_dict) - _t1010 = self._extract_value_int64(config.get('partition_size'), 0) - partition_size = _t1010 - _t1011 = self._extract_value_string(config.get('compression'), '') - compression = _t1011 - _t1012 = self._extract_value_boolean(config.get('syntax_header_row'), True) - syntax_header_row = _t1012 - _t1013 = self._extract_value_string(config.get('syntax_missing_string'), '') - syntax_missing_string = _t1013 - _t1014 = self._extract_value_string(config.get('syntax_delim'), ',') - syntax_delim = _t1014 - _t1015 = self._extract_value_string(config.get('syntax_quotechar'), '"') - syntax_quotechar = _t1015 - _t1016 = self._extract_value_string(config.get('syntax_escapechar'), '\\') - syntax_escapechar = _t1016 - _t1017 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t1017 + _t993 = self._extract_value_int64(config.get('partition_size'), 0) + partition_size = _t993 + _t994 = self._extract_value_string(config.get('compression'), '') + compression = _t994 + _t995 = self._extract_value_boolean(config.get('syntax_header_row'), True) + syntax_header_row = _t995 + _t996 = self._extract_value_string(config.get('syntax_missing_string'), '') + syntax_missing_string = _t996 + _t997 = self._extract_value_string(config.get('syntax_delim'), ',') + syntax_delim = _t997 + _t998 = self._extract_value_string(config.get('syntax_quotechar'), '"') + syntax_quotechar = _t998 + _t999 = self._extract_value_string(config.get('syntax_escapechar'), '\\') + syntax_escapechar = _t999 + _t1000 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t1000 + + def default_configure(self) -> transactions_pb2.Configure: + _t1001 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t1001 + _t1002 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) + return _t1002 + + def construct_export_csv_config_with_source(self, path: str, csv_source: transactions_pb2.ExportCSVSource, csv_config: logic_pb2.CSVConfig) -> transactions_pb2.ExportCSVConfig: + _t1003 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t1003 + + def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.Configure: + config = dict(config_dict) + maintenance_level_val = config.get('ivm.maintenance_level') + maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF + if (maintenance_level_val is not None and maintenance_level_val.HasField('string_value')): + if maintenance_level_val.string_value == 'off': + maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF + else: + if maintenance_level_val.string_value == 'auto': + maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO + else: + if maintenance_level_val.string_value == 'all': + maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL + else: + maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF + _t1004 = transactions_pb2.IVMConfig(level=maintenance_level) + ivm_config = _t1004 + _t1005 = self._extract_value_int64(config.get('semantics_version'), 0) + semantics_version = _t1005 + _t1006 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t1006 def _extract_value_string_list(self, value: Optional[logic_pb2.Value], default: Sequence[str]) -> Sequence[str]: if value is not None: assert value is not None - _t1018 = value.HasField('string_value') + _t1007 = value.HasField('string_value') else: - _t1018 = False - if _t1018: + _t1007 = False + if _t1007: assert value is not None return [value.string_value] return default + def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: + config = dict(config_dict) + _t1008 = self._try_extract_value_float64(config.get('betree_config_epsilon')) + epsilon = _t1008 + _t1009 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) + max_pivots = _t1009 + _t1010 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) + max_deltas = _t1010 + _t1011 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) + max_leaf = _t1011 + _t1012 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t1012 + _t1013 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) + root_pageid = _t1013 + _t1014 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) + inline_data = _t1014 + _t1015 = self._try_extract_value_int64(config.get('betree_locator_element_count')) + element_count = _t1015 + _t1016 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) + tree_height = _t1016 + _t1017 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) + relation_locator = _t1017 + _t1018 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) + return _t1018 + # --- Parse methods --- def parse_transaction(self) -> transactions_pb2.Transaction: From 7b125a94220368cf451bc11aaae44bf209a06a9e Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 14:45:50 +1100 Subject: [PATCH 16/27] Go back to having separate grammar rule for export_csv_columns --- meta/src/meta/grammar.y | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/meta/src/meta/grammar.y b/meta/src/meta/grammar.y index e88409e6..bb3033d8 100644 --- a/meta/src/meta/grammar.y +++ b/meta/src/meta/grammar.y @@ -1058,16 +1058,19 @@ export_csv_config $3: String = $$.path $4: transactions.ExportCSVSource = $$.csv_source $5: logic.CSVConfig = $$.csv_config - | "(" "export_csv_config" export_csv_path "(" "columns" export_csv_column* ")" config_dict ")" - construct: $$ = construct_export_csv_config($3, $6, $8) + | "(" "export_csv_config" export_csv_path export_csv_columns config_dict ")" + construct: $$ = construct_export_csv_config($3, $4, $5) deconstruct if builtin.length($$.data_columns) != 0: $3: String = $$.path - $6: Sequence[transactions.ExportCSVColumn] = $$.data_columns - $8: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) + $4: Sequence[transactions.ExportCSVColumn] = $$.data_columns + $5: Sequence[Tuple[String, logic.Value]] = deconstruct_export_csv_config($$) export_csv_path : "(" "path" STRING ")" +export_csv_columns + : "(" "columns" export_csv_column* ")" + export_csv_column : "(" "column" STRING relation_id ")" construct: $$ = transactions.ExportCSVColumn(column_name=$3, column_data=$4) From 468d657b73ce4e6e2edbb8b0985d39fce5809f02 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 14:46:08 +1100 Subject: [PATCH 17/27] Update generated parsers and printers --- sdks/go/src/parser.go | 3178 +++++++++-------- sdks/julia/LogicalQueryProtocol/src/parser.jl | 2564 ++++++------- sdks/python/src/lqp/gen/parser.py | 2587 +++++++------- sdks/python/src/lqp/gen/pretty.py | 2816 +++++++-------- 4 files changed, 5586 insertions(+), 5559 deletions(-) diff --git a/sdks/go/src/parser.go b/sdks/go/src/parser.go index f163fa44..f2935487 100644 --- a/sdks/go/src/parser.go +++ b/sdks/go/src/parser.go @@ -639,94 +639,35 @@ func toPascalCase(s string) string { // --- Helper functions --- -func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { - if (value != nil && hasProtoField(value, "string_value")) { - return []string{value.GetStringValue()} - } - return default_ -} - -func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { +func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { config := dictFromList(config_dict) - _t983 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) - header_row := _t983 - _t984 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) - skip := _t984 - _t985 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") - new_line := _t985 - _t986 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") - delimiter := _t986 - _t987 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") - quotechar := _t987 - _t988 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") - escapechar := _t988 - _t989 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") - comment := _t989 - _t990 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) - missing_strings := _t990 - _t991 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") - decimal_separator := _t991 - _t992 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") - encoding := _t992 - _t993 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") - compression := _t993 - _t994 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) - partition_size := _t994 - _t995 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} - return _t995 -} - -func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { - if (value != nil && hasProtoField(value, "uint128_value")) { - return value.GetUint128Value() - } - return nil -} - -func (p *Parser) default_configure() *pb.Configure { - _t996 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} - ivm_config := _t996 - _t997 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} - return _t997 -} - -func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { - if (value != nil && hasProtoField(value, "string_value")) { - return value.GetStringValue() - } - return default_ -} - -func (p *Parser) construct_export_csv_config_with_source(path string, csv_source *pb.ExportCSVSource, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { - _t998 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} - return _t998 -} - -func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { - if (value != nil && hasProtoField(value, "float_value")) { - return ptr(value.GetFloatValue()) + _t985 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) + epsilon := _t985 + _t986 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) + max_pivots := _t986 + _t987 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) + max_deltas := _t987 + _t988 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) + max_leaf := _t988 + _t989 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} + storage_config := _t989 + _t990 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) + root_pageid := _t990 + _t991 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) + inline_data := _t991 + _t992 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) + element_count := _t992 + _t993 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) + tree_height := _t993 + _t994 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} + if root_pageid != nil { + _t994.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} + } else { + _t994.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} } - return nil -} - -func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { - config := dictFromList(config_dict) - _t999 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) - partition_size := _t999 - _t1000 := p._extract_value_string(dictGetValue(config, "compression"), "") - compression := _t1000 - _t1001 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) - syntax_header_row := _t1001 - _t1002 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") - syntax_missing_string := _t1002 - _t1003 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") - syntax_delim := _t1003 - _t1004 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") - syntax_quotechar := _t1004 - _t1005 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") - syntax_escapechar := _t1005 - _t1006 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} - return _t1006 + relation_locator := _t994 + _t995 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} + return _t995 } func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure { @@ -748,12 +689,17 @@ func (p *Parser) construct_configure(config_dict [][]interface{}) *pb.Configure } } } - _t1007 := &pb.IVMConfig{Level: maintenance_level} - ivm_config := _t1007 - _t1008 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) - semantics_version := _t1008 - _t1009 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} - return _t1009 + _t996 := &pb.IVMConfig{Level: maintenance_level} + ivm_config := _t996 + _t997 := p._extract_value_int64(dictGetValue(config, "semantics_version"), 0) + semantics_version := _t997 + _t998 := &pb.Configure{SemanticsVersion: semantics_version, IvmConfig: ivm_config} + return _t998 +} + +func (p *Parser) construct_export_csv_config_with_source(path string, csv_source *pb.ExportCSVSource, csv_config *pb.CSVConfig) *pb.ExportCSVConfig { + _t999 := &pb.ExportCSVConfig{Path: path, CsvSource: csv_source, CsvConfig: csv_config} + return _t999 } func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { @@ -763,42 +709,25 @@ func (p *Parser) _extract_value_int32(value *pb.Value, default_ int64) int32 { return int32(default_) } -func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { - if (value != nil && hasProtoField(value, "boolean_value")) { - return value.GetBooleanValue() +func (p *Parser) _extract_value_string_list(value *pb.Value, default_ []string) []string { + if (value != nil && hasProtoField(value, "string_value")) { + return []string{value.GetStringValue()} } return default_ } -func (p *Parser) construct_betree_info(key_types []*pb.Type, value_types []*pb.Type, config_dict [][]interface{}) *pb.BeTreeInfo { - config := dictFromList(config_dict) - _t1010 := p._try_extract_value_float64(dictGetValue(config, "betree_config_epsilon")) - epsilon := _t1010 - _t1011 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_pivots")) - max_pivots := _t1011 - _t1012 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_deltas")) - max_deltas := _t1012 - _t1013 := p._try_extract_value_int64(dictGetValue(config, "betree_config_max_leaf")) - max_leaf := _t1013 - _t1014 := &pb.BeTreeConfig{Epsilon: deref(epsilon, 0.0), MaxPivots: deref(max_pivots, 0), MaxDeltas: deref(max_deltas, 0), MaxLeaf: deref(max_leaf, 0)} - storage_config := _t1014 - _t1015 := p._try_extract_value_uint128(dictGetValue(config, "betree_locator_root_pageid")) - root_pageid := _t1015 - _t1016 := p._try_extract_value_bytes(dictGetValue(config, "betree_locator_inline_data")) - inline_data := _t1016 - _t1017 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_element_count")) - element_count := _t1017 - _t1018 := p._try_extract_value_int64(dictGetValue(config, "betree_locator_tree_height")) - tree_height := _t1018 - _t1019 := &pb.BeTreeLocator{ElementCount: deref(element_count, 0), TreeHeight: deref(tree_height, 0)} - if root_pageid != nil { - _t1019.Location = &pb.BeTreeLocator_RootPageid{RootPageid: root_pageid} - } else { - _t1019.Location = &pb.BeTreeLocator_InlineData{InlineData: inline_data} +func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { + if (value != nil && hasProtoField(value, "int_value")) { + return value.GetIntValue() } - relation_locator := _t1019 - _t1020 := &pb.BeTreeInfo{KeyTypes: key_types, ValueTypes: value_types, StorageConfig: storage_config, RelationLocator: relation_locator} - return _t1020 + return default_ +} + +func (p *Parser) _try_extract_value_float64(value *pb.Value) *float64 { + if (value != nil && hasProtoField(value, "float_value")) { + return ptr(value.GetFloatValue()) + } + return nil } func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { @@ -808,64 +737,135 @@ func (p *Parser) _try_extract_value_bytes(value *pb.Value) []byte { return nil } -func (p *Parser) _extract_value_int64(value *pb.Value, default_ int64) int64 { +func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { if (value != nil && hasProtoField(value, "int_value")) { - return value.GetIntValue() + return ptr(value.GetIntValue()) + } + return nil +} + +func (p *Parser) default_configure() *pb.Configure { + _t1000 := &pb.IVMConfig{Level: pb.MaintenanceLevel_MAINTENANCE_LEVEL_OFF} + ivm_config := _t1000 + _t1001 := &pb.Configure{SemanticsVersion: 0, IvmConfig: ivm_config} + return _t1001 +} + +func (p *Parser) _extract_value_boolean(value *pb.Value, default_ bool) bool { + if (value != nil && hasProtoField(value, "boolean_value")) { + return value.GetBooleanValue() } return default_ } -func (p *Parser) _try_extract_value_int64(value *pb.Value) *int64 { - if (value != nil && hasProtoField(value, "int_value")) { - return ptr(value.GetIntValue()) +func (p *Parser) construct_export_csv_config(path string, columns []*pb.ExportCSVColumn, config_dict [][]interface{}) *pb.ExportCSVConfig { + config := dictFromList(config_dict) + _t1002 := p._extract_value_int64(dictGetValue(config, "partition_size"), 0) + partition_size := _t1002 + _t1003 := p._extract_value_string(dictGetValue(config, "compression"), "") + compression := _t1003 + _t1004 := p._extract_value_boolean(dictGetValue(config, "syntax_header_row"), true) + syntax_header_row := _t1004 + _t1005 := p._extract_value_string(dictGetValue(config, "syntax_missing_string"), "") + syntax_missing_string := _t1005 + _t1006 := p._extract_value_string(dictGetValue(config, "syntax_delim"), ",") + syntax_delim := _t1006 + _t1007 := p._extract_value_string(dictGetValue(config, "syntax_quotechar"), "\"") + syntax_quotechar := _t1007 + _t1008 := p._extract_value_string(dictGetValue(config, "syntax_escapechar"), "\\") + syntax_escapechar := _t1008 + _t1009 := &pb.ExportCSVConfig{Path: path, DataColumns: columns, PartitionSize: ptr(partition_size), Compression: ptr(compression), SyntaxHeaderRow: ptr(syntax_header_row), SyntaxMissingString: ptr(syntax_missing_string), SyntaxDelim: ptr(syntax_delim), SyntaxQuotechar: ptr(syntax_quotechar), SyntaxEscapechar: ptr(syntax_escapechar)} + return _t1009 +} + +func (p *Parser) _extract_value_string(value *pb.Value, default_ string) string { + if (value != nil && hasProtoField(value, "string_value")) { + return value.GetStringValue() + } + return default_ +} + +func (p *Parser) _try_extract_value_uint128(value *pb.Value) *pb.UInt128Value { + if (value != nil && hasProtoField(value, "uint128_value")) { + return value.GetUint128Value() } return nil } +func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig { + config := dictFromList(config_dict) + _t1010 := p._extract_value_int32(dictGetValue(config, "csv_header_row"), 1) + header_row := _t1010 + _t1011 := p._extract_value_int64(dictGetValue(config, "csv_skip"), 0) + skip := _t1011 + _t1012 := p._extract_value_string(dictGetValue(config, "csv_new_line"), "") + new_line := _t1012 + _t1013 := p._extract_value_string(dictGetValue(config, "csv_delimiter"), ",") + delimiter := _t1013 + _t1014 := p._extract_value_string(dictGetValue(config, "csv_quotechar"), "\"") + quotechar := _t1014 + _t1015 := p._extract_value_string(dictGetValue(config, "csv_escapechar"), "\"") + escapechar := _t1015 + _t1016 := p._extract_value_string(dictGetValue(config, "csv_comment"), "") + comment := _t1016 + _t1017 := p._extract_value_string_list(dictGetValue(config, "csv_missing_strings"), []string{}) + missing_strings := _t1017 + _t1018 := p._extract_value_string(dictGetValue(config, "csv_decimal_separator"), ".") + decimal_separator := _t1018 + _t1019 := p._extract_value_string(dictGetValue(config, "csv_encoding"), "utf-8") + encoding := _t1019 + _t1020 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") + compression := _t1020 + _t1021 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) + partition_size := _t1021 + _t1022 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} + return _t1022 +} + // --- Parse functions --- func (p *Parser) parse_transaction() *pb.Transaction { p.consumeLiteral("(") p.consumeLiteral("transaction") - var _t362 *pb.Configure + var _t363 *pb.Configure if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("configure", 1)) { - _t363 := p.parse_configure() - _t362 = _t363 + _t364 := p.parse_configure() + _t363 = _t364 } - configure0 := _t362 - var _t364 *pb.Sync + configure0 := _t363 + var _t365 *pb.Sync if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("sync", 1)) { - _t365 := p.parse_sync() - _t364 = _t365 + _t366 := p.parse_sync() + _t365 = _t366 } - sync1 := _t364 + sync1 := _t365 xs2 := []*pb.Epoch{} cond3 := p.matchLookaheadLiteral("(", 0) for cond3 { - _t366 := p.parse_epoch() - item4 := _t366 + _t367 := p.parse_epoch() + item4 := _t367 xs2 = append(xs2, item4) cond3 = p.matchLookaheadLiteral("(", 0) } epochs5 := xs2 p.consumeLiteral(")") - _t367 := p.default_configure() - _t368 := configure0 + _t368 := p.default_configure() + _t369 := configure0 if configure0 == nil { - _t368 = _t367 + _t369 = _t368 } - _t369 := &pb.Transaction{Epochs: epochs5, Configure: _t368, Sync: sync1} - return _t369 + _t370 := &pb.Transaction{Epochs: epochs5, Configure: _t369, Sync: sync1} + return _t370 } func (p *Parser) parse_configure() *pb.Configure { p.consumeLiteral("(") p.consumeLiteral("configure") - _t370 := p.parse_config_dict() - config_dict6 := _t370 + _t371 := p.parse_config_dict() + config_dict6 := _t371 p.consumeLiteral(")") - _t371 := p.construct_configure(config_dict6) - return _t371 + _t372 := p.construct_configure(config_dict6) + return _t372 } func (p *Parser) parse_config_dict() [][]interface{} { @@ -873,8 +873,8 @@ func (p *Parser) parse_config_dict() [][]interface{} { xs7 := [][]interface{}{} cond8 := p.matchLookaheadLiteral(":", 0) for cond8 { - _t372 := p.parse_config_key_value() - item9 := _t372 + _t373 := p.parse_config_key_value() + item9 := _t373 xs7 = append(xs7, item9) cond8 = p.matchLookaheadLiteral(":", 0) } @@ -886,180 +886,180 @@ func (p *Parser) parse_config_dict() [][]interface{} { func (p *Parser) parse_config_key_value() []interface{} { p.consumeLiteral(":") symbol11 := p.consumeTerminal("SYMBOL").Value.AsString() - _t373 := p.parse_value() - value12 := _t373 + _t374 := p.parse_value() + value12 := _t374 return []interface{}{symbol11, value12} } func (p *Parser) parse_value() *pb.Value { - var _t374 int64 + var _t375 int64 if p.matchLookaheadLiteral("true", 0) { - _t374 = 9 + _t375 = 9 } else { - var _t375 int64 + var _t376 int64 if p.matchLookaheadLiteral("missing", 0) { - _t375 = 8 + _t376 = 8 } else { - var _t376 int64 + var _t377 int64 if p.matchLookaheadLiteral("false", 0) { - _t376 = 9 + _t377 = 9 } else { - var _t377 int64 + var _t378 int64 if p.matchLookaheadLiteral("(", 0) { - var _t378 int64 + var _t379 int64 if p.matchLookaheadLiteral("datetime", 1) { - _t378 = 1 + _t379 = 1 } else { - var _t379 int64 + var _t380 int64 if p.matchLookaheadLiteral("date", 1) { - _t379 = 0 + _t380 = 0 } else { - _t379 = -1 + _t380 = -1 } - _t378 = _t379 + _t379 = _t380 } - _t377 = _t378 + _t378 = _t379 } else { - var _t380 int64 + var _t381 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t380 = 5 + _t381 = 5 } else { - var _t381 int64 + var _t382 int64 if p.matchLookaheadTerminal("STRING", 0) { - _t381 = 2 + _t382 = 2 } else { - var _t382 int64 + var _t383 int64 if p.matchLookaheadTerminal("INT128", 0) { - _t382 = 6 + _t383 = 6 } else { - var _t383 int64 + var _t384 int64 if p.matchLookaheadTerminal("INT", 0) { - _t383 = 3 + _t384 = 3 } else { - var _t384 int64 + var _t385 int64 if p.matchLookaheadTerminal("FLOAT", 0) { - _t384 = 4 + _t385 = 4 } else { - var _t385 int64 + var _t386 int64 if p.matchLookaheadTerminal("DECIMAL", 0) { - _t385 = 7 + _t386 = 7 } else { - _t385 = -1 + _t386 = -1 } - _t384 = _t385 + _t385 = _t386 } - _t383 = _t384 + _t384 = _t385 } - _t382 = _t383 + _t383 = _t384 } - _t381 = _t382 + _t382 = _t383 } - _t380 = _t381 + _t381 = _t382 } - _t377 = _t380 + _t378 = _t381 } - _t376 = _t377 + _t377 = _t378 } - _t375 = _t376 + _t376 = _t377 } - _t374 = _t375 + _t375 = _t376 } - prediction13 := _t374 - var _t386 *pb.Value + prediction13 := _t375 + var _t387 *pb.Value if prediction13 == 9 { - _t387 := p.parse_boolean_value() - boolean_value22 := _t387 - _t388 := &pb.Value{} - _t388.Value = &pb.Value_BooleanValue{BooleanValue: boolean_value22} - _t386 = _t388 + _t388 := p.parse_boolean_value() + boolean_value22 := _t388 + _t389 := &pb.Value{} + _t389.Value = &pb.Value_BooleanValue{BooleanValue: boolean_value22} + _t387 = _t389 } else { - var _t389 *pb.Value + var _t390 *pb.Value if prediction13 == 8 { p.consumeLiteral("missing") - _t390 := &pb.MissingValue{} - _t391 := &pb.Value{} - _t391.Value = &pb.Value_MissingValue{MissingValue: _t390} - _t389 = _t391 + _t391 := &pb.MissingValue{} + _t392 := &pb.Value{} + _t392.Value = &pb.Value_MissingValue{MissingValue: _t391} + _t390 = _t392 } else { - var _t392 *pb.Value + var _t393 *pb.Value if prediction13 == 7 { decimal21 := p.consumeTerminal("DECIMAL").Value.AsDecimal() - _t393 := &pb.Value{} - _t393.Value = &pb.Value_DecimalValue{DecimalValue: decimal21} - _t392 = _t393 + _t394 := &pb.Value{} + _t394.Value = &pb.Value_DecimalValue{DecimalValue: decimal21} + _t393 = _t394 } else { - var _t394 *pb.Value + var _t395 *pb.Value if prediction13 == 6 { int12820 := p.consumeTerminal("INT128").Value.AsInt128() - _t395 := &pb.Value{} - _t395.Value = &pb.Value_Int128Value{Int128Value: int12820} - _t394 = _t395 + _t396 := &pb.Value{} + _t396.Value = &pb.Value_Int128Value{Int128Value: int12820} + _t395 = _t396 } else { - var _t396 *pb.Value + var _t397 *pb.Value if prediction13 == 5 { uint12819 := p.consumeTerminal("UINT128").Value.AsUint128() - _t397 := &pb.Value{} - _t397.Value = &pb.Value_Uint128Value{Uint128Value: uint12819} - _t396 = _t397 + _t398 := &pb.Value{} + _t398.Value = &pb.Value_Uint128Value{Uint128Value: uint12819} + _t397 = _t398 } else { - var _t398 *pb.Value + var _t399 *pb.Value if prediction13 == 4 { float18 := p.consumeTerminal("FLOAT").Value.AsFloat64() - _t399 := &pb.Value{} - _t399.Value = &pb.Value_FloatValue{FloatValue: float18} - _t398 = _t399 + _t400 := &pb.Value{} + _t400.Value = &pb.Value_FloatValue{FloatValue: float18} + _t399 = _t400 } else { - var _t400 *pb.Value + var _t401 *pb.Value if prediction13 == 3 { int17 := p.consumeTerminal("INT").Value.AsInt64() - _t401 := &pb.Value{} - _t401.Value = &pb.Value_IntValue{IntValue: int17} - _t400 = _t401 + _t402 := &pb.Value{} + _t402.Value = &pb.Value_IntValue{IntValue: int17} + _t401 = _t402 } else { - var _t402 *pb.Value + var _t403 *pb.Value if prediction13 == 2 { string16 := p.consumeTerminal("STRING").Value.AsString() - _t403 := &pb.Value{} - _t403.Value = &pb.Value_StringValue{StringValue: string16} - _t402 = _t403 + _t404 := &pb.Value{} + _t404.Value = &pb.Value_StringValue{StringValue: string16} + _t403 = _t404 } else { - var _t404 *pb.Value + var _t405 *pb.Value if prediction13 == 1 { - _t405 := p.parse_datetime() - datetime15 := _t405 - _t406 := &pb.Value{} - _t406.Value = &pb.Value_DatetimeValue{DatetimeValue: datetime15} - _t404 = _t406 + _t406 := p.parse_datetime() + datetime15 := _t406 + _t407 := &pb.Value{} + _t407.Value = &pb.Value_DatetimeValue{DatetimeValue: datetime15} + _t405 = _t407 } else { - var _t407 *pb.Value + var _t408 *pb.Value if prediction13 == 0 { - _t408 := p.parse_date() - date14 := _t408 - _t409 := &pb.Value{} - _t409.Value = &pb.Value_DateValue{DateValue: date14} - _t407 = _t409 + _t409 := p.parse_date() + date14 := _t409 + _t410 := &pb.Value{} + _t410.Value = &pb.Value_DateValue{DateValue: date14} + _t408 = _t410 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in value", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t404 = _t407 + _t405 = _t408 } - _t402 = _t404 + _t403 = _t405 } - _t400 = _t402 + _t401 = _t403 } - _t398 = _t400 + _t399 = _t401 } - _t396 = _t398 + _t397 = _t399 } - _t394 = _t396 + _t395 = _t397 } - _t392 = _t394 + _t393 = _t395 } - _t389 = _t392 + _t390 = _t393 } - _t386 = _t389 + _t387 = _t390 } - return _t386 + return _t387 } func (p *Parser) parse_date() *pb.DateValue { @@ -1069,8 +1069,8 @@ func (p *Parser) parse_date() *pb.DateValue { int_324 := p.consumeTerminal("INT").Value.AsInt64() int_425 := p.consumeTerminal("INT").Value.AsInt64() p.consumeLiteral(")") - _t410 := &pb.DateValue{Year: int32(int23), Month: int32(int_324), Day: int32(int_425)} - return _t410 + _t411 := &pb.DateValue{Year: int32(int23), Month: int32(int_324), Day: int32(int_425)} + return _t411 } func (p *Parser) parse_datetime() *pb.DateTimeValue { @@ -1082,45 +1082,45 @@ func (p *Parser) parse_datetime() *pb.DateTimeValue { int_529 := p.consumeTerminal("INT").Value.AsInt64() int_630 := p.consumeTerminal("INT").Value.AsInt64() int_731 := p.consumeTerminal("INT").Value.AsInt64() - var _t411 *int64 + var _t412 *int64 if p.matchLookaheadTerminal("INT", 0) { - _t411 = ptr(p.consumeTerminal("INT").Value.AsInt64()) + _t412 = ptr(p.consumeTerminal("INT").Value.AsInt64()) } - int_832 := _t411 + int_832 := _t412 p.consumeLiteral(")") - _t412 := &pb.DateTimeValue{Year: int32(int26), Month: int32(int_327), Day: int32(int_428), Hour: int32(int_529), Minute: int32(int_630), Second: int32(int_731), Microsecond: int32(deref(int_832, 0))} - return _t412 + _t413 := &pb.DateTimeValue{Year: int32(int26), Month: int32(int_327), Day: int32(int_428), Hour: int32(int_529), Minute: int32(int_630), Second: int32(int_731), Microsecond: int32(deref(int_832, 0))} + return _t413 } func (p *Parser) parse_boolean_value() bool { - var _t413 int64 + var _t414 int64 if p.matchLookaheadLiteral("true", 0) { - _t413 = 0 + _t414 = 0 } else { - var _t414 int64 + var _t415 int64 if p.matchLookaheadLiteral("false", 0) { - _t414 = 1 + _t415 = 1 } else { - _t414 = -1 + _t415 = -1 } - _t413 = _t414 + _t414 = _t415 } - prediction33 := _t413 - var _t415 bool + prediction33 := _t414 + var _t416 bool if prediction33 == 1 { p.consumeLiteral("false") - _t415 = false + _t416 = false } else { - var _t416 bool + var _t417 bool if prediction33 == 0 { p.consumeLiteral("true") - _t416 = true + _t417 = true } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in boolean_value", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t415 = _t416 + _t416 = _t417 } - return _t415 + return _t416 } func (p *Parser) parse_sync() *pb.Sync { @@ -1129,15 +1129,15 @@ func (p *Parser) parse_sync() *pb.Sync { xs34 := []*pb.FragmentId{} cond35 := p.matchLookaheadLiteral(":", 0) for cond35 { - _t417 := p.parse_fragment_id() - item36 := _t417 + _t418 := p.parse_fragment_id() + item36 := _t418 xs34 = append(xs34, item36) cond35 = p.matchLookaheadLiteral(":", 0) } fragment_ids37 := xs34 p.consumeLiteral(")") - _t418 := &pb.Sync{Fragments: fragment_ids37} - return _t418 + _t419 := &pb.Sync{Fragments: fragment_ids37} + return _t419 } func (p *Parser) parse_fragment_id() *pb.FragmentId { @@ -1149,29 +1149,29 @@ func (p *Parser) parse_fragment_id() *pb.FragmentId { func (p *Parser) parse_epoch() *pb.Epoch { p.consumeLiteral("(") p.consumeLiteral("epoch") - var _t419 []*pb.Write + var _t420 []*pb.Write if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("writes", 1)) { - _t420 := p.parse_epoch_writes() - _t419 = _t420 + _t421 := p.parse_epoch_writes() + _t420 = _t421 } - epoch_writes39 := _t419 - var _t421 []*pb.Read + epoch_writes39 := _t420 + var _t422 []*pb.Read if p.matchLookaheadLiteral("(", 0) { - _t422 := p.parse_epoch_reads() - _t421 = _t422 + _t423 := p.parse_epoch_reads() + _t422 = _t423 } - epoch_reads40 := _t421 + epoch_reads40 := _t422 p.consumeLiteral(")") - _t423 := epoch_writes39 + _t424 := epoch_writes39 if epoch_writes39 == nil { - _t423 = []*pb.Write{} + _t424 = []*pb.Write{} } - _t424 := epoch_reads40 + _t425 := epoch_reads40 if epoch_reads40 == nil { - _t424 = []*pb.Read{} + _t425 = []*pb.Read{} } - _t425 := &pb.Epoch{Writes: _t423, Reads: _t424} - return _t425 + _t426 := &pb.Epoch{Writes: _t424, Reads: _t425} + return _t426 } func (p *Parser) parse_epoch_writes() []*pb.Write { @@ -1180,8 +1180,8 @@ func (p *Parser) parse_epoch_writes() []*pb.Write { xs41 := []*pb.Write{} cond42 := p.matchLookaheadLiteral("(", 0) for cond42 { - _t426 := p.parse_write() - item43 := _t426 + _t427 := p.parse_write() + item43 := _t427 xs41 = append(xs41, item43) cond42 = p.matchLookaheadLiteral("(", 0) } @@ -1191,84 +1191,84 @@ func (p *Parser) parse_epoch_writes() []*pb.Write { } func (p *Parser) parse_write() *pb.Write { - var _t427 int64 + var _t428 int64 if p.matchLookaheadLiteral("(", 0) { - var _t428 int64 + var _t429 int64 if p.matchLookaheadLiteral("undefine", 1) { - _t428 = 1 + _t429 = 1 } else { - var _t429 int64 + var _t430 int64 if p.matchLookaheadLiteral("define", 1) { - _t429 = 0 + _t430 = 0 } else { - var _t430 int64 + var _t431 int64 if p.matchLookaheadLiteral("context", 1) { - _t430 = 2 + _t431 = 2 } else { - _t430 = -1 + _t431 = -1 } - _t429 = _t430 + _t430 = _t431 } - _t428 = _t429 + _t429 = _t430 } - _t427 = _t428 + _t428 = _t429 } else { - _t427 = -1 + _t428 = -1 } - prediction45 := _t427 - var _t431 *pb.Write + prediction45 := _t428 + var _t432 *pb.Write if prediction45 == 2 { - _t432 := p.parse_context() - context48 := _t432 - _t433 := &pb.Write{} - _t433.WriteType = &pb.Write_Context{Context: context48} - _t431 = _t433 + _t433 := p.parse_context() + context48 := _t433 + _t434 := &pb.Write{} + _t434.WriteType = &pb.Write_Context{Context: context48} + _t432 = _t434 } else { - var _t434 *pb.Write + var _t435 *pb.Write if prediction45 == 1 { - _t435 := p.parse_undefine() - undefine47 := _t435 - _t436 := &pb.Write{} - _t436.WriteType = &pb.Write_Undefine{Undefine: undefine47} - _t434 = _t436 + _t436 := p.parse_undefine() + undefine47 := _t436 + _t437 := &pb.Write{} + _t437.WriteType = &pb.Write_Undefine{Undefine: undefine47} + _t435 = _t437 } else { - var _t437 *pb.Write + var _t438 *pb.Write if prediction45 == 0 { - _t438 := p.parse_define() - define46 := _t438 - _t439 := &pb.Write{} - _t439.WriteType = &pb.Write_Define{Define: define46} - _t437 = _t439 + _t439 := p.parse_define() + define46 := _t439 + _t440 := &pb.Write{} + _t440.WriteType = &pb.Write_Define{Define: define46} + _t438 = _t440 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in write", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t434 = _t437 + _t435 = _t438 } - _t431 = _t434 + _t432 = _t435 } - return _t431 + return _t432 } func (p *Parser) parse_define() *pb.Define { p.consumeLiteral("(") p.consumeLiteral("define") - _t440 := p.parse_fragment() - fragment49 := _t440 + _t441 := p.parse_fragment() + fragment49 := _t441 p.consumeLiteral(")") - _t441 := &pb.Define{Fragment: fragment49} - return _t441 + _t442 := &pb.Define{Fragment: fragment49} + return _t442 } func (p *Parser) parse_fragment() *pb.Fragment { p.consumeLiteral("(") p.consumeLiteral("fragment") - _t442 := p.parse_new_fragment_id() - new_fragment_id50 := _t442 + _t443 := p.parse_new_fragment_id() + new_fragment_id50 := _t443 xs51 := []*pb.Declaration{} cond52 := p.matchLookaheadLiteral("(", 0) for cond52 { - _t443 := p.parse_declaration() - item53 := _t443 + _t444 := p.parse_declaration() + item53 := _t444 xs51 = append(xs51, item53) cond52 = p.matchLookaheadLiteral("(", 0) } @@ -1278,162 +1278,162 @@ func (p *Parser) parse_fragment() *pb.Fragment { } func (p *Parser) parse_new_fragment_id() *pb.FragmentId { - _t444 := p.parse_fragment_id() - fragment_id55 := _t444 + _t445 := p.parse_fragment_id() + fragment_id55 := _t445 p.startFragment(fragment_id55) return fragment_id55 } func (p *Parser) parse_declaration() *pb.Declaration { - var _t445 int64 + var _t446 int64 if p.matchLookaheadLiteral("(", 0) { - var _t446 int64 + var _t447 int64 if p.matchLookaheadLiteral("rel_edb", 1) { - _t446 = 3 + _t447 = 3 } else { - var _t447 int64 + var _t448 int64 if p.matchLookaheadLiteral("functional_dependency", 1) { - _t447 = 2 + _t448 = 2 } else { - var _t448 int64 + var _t449 int64 if p.matchLookaheadLiteral("def", 1) { - _t448 = 0 + _t449 = 0 } else { - var _t449 int64 + var _t450 int64 if p.matchLookaheadLiteral("csv_data", 1) { - _t449 = 3 + _t450 = 3 } else { - var _t450 int64 + var _t451 int64 if p.matchLookaheadLiteral("betree_relation", 1) { - _t450 = 3 + _t451 = 3 } else { - var _t451 int64 + var _t452 int64 if p.matchLookaheadLiteral("algorithm", 1) { - _t451 = 1 + _t452 = 1 } else { - _t451 = -1 + _t452 = -1 } - _t450 = _t451 + _t451 = _t452 } - _t449 = _t450 + _t450 = _t451 } - _t448 = _t449 + _t449 = _t450 } - _t447 = _t448 + _t448 = _t449 } - _t446 = _t447 + _t447 = _t448 } - _t445 = _t446 + _t446 = _t447 } else { - _t445 = -1 + _t446 = -1 } - prediction56 := _t445 - var _t452 *pb.Declaration + prediction56 := _t446 + var _t453 *pb.Declaration if prediction56 == 3 { - _t453 := p.parse_data() - data60 := _t453 - _t454 := &pb.Declaration{} - _t454.DeclarationType = &pb.Declaration_Data{Data: data60} - _t452 = _t454 + _t454 := p.parse_data() + data60 := _t454 + _t455 := &pb.Declaration{} + _t455.DeclarationType = &pb.Declaration_Data{Data: data60} + _t453 = _t455 } else { - var _t455 *pb.Declaration + var _t456 *pb.Declaration if prediction56 == 2 { - _t456 := p.parse_constraint() - constraint59 := _t456 - _t457 := &pb.Declaration{} - _t457.DeclarationType = &pb.Declaration_Constraint{Constraint: constraint59} - _t455 = _t457 + _t457 := p.parse_constraint() + constraint59 := _t457 + _t458 := &pb.Declaration{} + _t458.DeclarationType = &pb.Declaration_Constraint{Constraint: constraint59} + _t456 = _t458 } else { - var _t458 *pb.Declaration + var _t459 *pb.Declaration if prediction56 == 1 { - _t459 := p.parse_algorithm() - algorithm58 := _t459 - _t460 := &pb.Declaration{} - _t460.DeclarationType = &pb.Declaration_Algorithm{Algorithm: algorithm58} - _t458 = _t460 + _t460 := p.parse_algorithm() + algorithm58 := _t460 + _t461 := &pb.Declaration{} + _t461.DeclarationType = &pb.Declaration_Algorithm{Algorithm: algorithm58} + _t459 = _t461 } else { - var _t461 *pb.Declaration + var _t462 *pb.Declaration if prediction56 == 0 { - _t462 := p.parse_def() - def57 := _t462 - _t463 := &pb.Declaration{} - _t463.DeclarationType = &pb.Declaration_Def{Def: def57} - _t461 = _t463 + _t463 := p.parse_def() + def57 := _t463 + _t464 := &pb.Declaration{} + _t464.DeclarationType = &pb.Declaration_Def{Def: def57} + _t462 = _t464 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in declaration", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t458 = _t461 + _t459 = _t462 } - _t455 = _t458 + _t456 = _t459 } - _t452 = _t455 + _t453 = _t456 } - return _t452 + return _t453 } func (p *Parser) parse_def() *pb.Def { p.consumeLiteral("(") p.consumeLiteral("def") - _t464 := p.parse_relation_id() - relation_id61 := _t464 - _t465 := p.parse_abstraction() - abstraction62 := _t465 - var _t466 []*pb.Attribute + _t465 := p.parse_relation_id() + relation_id61 := _t465 + _t466 := p.parse_abstraction() + abstraction62 := _t466 + var _t467 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t467 := p.parse_attrs() - _t466 = _t467 + _t468 := p.parse_attrs() + _t467 = _t468 } - attrs63 := _t466 + attrs63 := _t467 p.consumeLiteral(")") - _t468 := attrs63 + _t469 := attrs63 if attrs63 == nil { - _t468 = []*pb.Attribute{} + _t469 = []*pb.Attribute{} } - _t469 := &pb.Def{Name: relation_id61, Body: abstraction62, Attrs: _t468} - return _t469 + _t470 := &pb.Def{Name: relation_id61, Body: abstraction62, Attrs: _t469} + return _t470 } func (p *Parser) parse_relation_id() *pb.RelationId { - var _t470 int64 + var _t471 int64 if p.matchLookaheadLiteral(":", 0) { - _t470 = 0 + _t471 = 0 } else { - var _t471 int64 + var _t472 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t471 = 1 + _t472 = 1 } else { - _t471 = -1 + _t472 = -1 } - _t470 = _t471 + _t471 = _t472 } - prediction64 := _t470 - var _t472 *pb.RelationId + prediction64 := _t471 + var _t473 *pb.RelationId if prediction64 == 1 { uint12866 := p.consumeTerminal("UINT128").Value.AsUint128() - _t472 = &pb.RelationId{IdLow: uint12866.Low, IdHigh: uint12866.High} + _t473 = &pb.RelationId{IdLow: uint12866.Low, IdHigh: uint12866.High} } else { - var _t473 *pb.RelationId + var _t474 *pb.RelationId if prediction64 == 0 { p.consumeLiteral(":") symbol65 := p.consumeTerminal("SYMBOL").Value.AsString() - _t473 = p.relationIdFromString(symbol65) + _t474 = p.relationIdFromString(symbol65) } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in relation_id", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t472 = _t473 + _t473 = _t474 } - return _t472 + return _t473 } func (p *Parser) parse_abstraction() *pb.Abstraction { p.consumeLiteral("(") - _t474 := p.parse_bindings() - bindings67 := _t474 - _t475 := p.parse_formula() - formula68 := _t475 + _t475 := p.parse_bindings() + bindings67 := _t475 + _t476 := p.parse_formula() + formula68 := _t476 p.consumeLiteral(")") - _t476 := &pb.Abstraction{Vars: listConcat(bindings67[0].([]*pb.Binding), bindings67[1].([]*pb.Binding)), Value: formula68} - return _t476 + _t477 := &pb.Abstraction{Vars: listConcat(bindings67[0].([]*pb.Binding), bindings67[1].([]*pb.Binding)), Value: formula68} + return _t477 } func (p *Parser) parse_bindings() []interface{} { @@ -1441,269 +1441,269 @@ func (p *Parser) parse_bindings() []interface{} { xs69 := []*pb.Binding{} cond70 := p.matchLookaheadTerminal("SYMBOL", 0) for cond70 { - _t477 := p.parse_binding() - item71 := _t477 + _t478 := p.parse_binding() + item71 := _t478 xs69 = append(xs69, item71) cond70 = p.matchLookaheadTerminal("SYMBOL", 0) } bindings72 := xs69 - var _t478 []*pb.Binding + var _t479 []*pb.Binding if p.matchLookaheadLiteral("|", 0) { - _t479 := p.parse_value_bindings() - _t478 = _t479 + _t480 := p.parse_value_bindings() + _t479 = _t480 } - value_bindings73 := _t478 + value_bindings73 := _t479 p.consumeLiteral("]") - _t480 := value_bindings73 + _t481 := value_bindings73 if value_bindings73 == nil { - _t480 = []*pb.Binding{} + _t481 = []*pb.Binding{} } - return []interface{}{bindings72, _t480} + return []interface{}{bindings72, _t481} } func (p *Parser) parse_binding() *pb.Binding { symbol74 := p.consumeTerminal("SYMBOL").Value.AsString() p.consumeLiteral("::") - _t481 := p.parse_type() - type75 := _t481 - _t482 := &pb.Var{Name: symbol74} - _t483 := &pb.Binding{Var: _t482, Type: type75} - return _t483 + _t482 := p.parse_type() + type75 := _t482 + _t483 := &pb.Var{Name: symbol74} + _t484 := &pb.Binding{Var: _t483, Type: type75} + return _t484 } func (p *Parser) parse_type() *pb.Type { - var _t484 int64 + var _t485 int64 if p.matchLookaheadLiteral("UNKNOWN", 0) { - _t484 = 0 + _t485 = 0 } else { - var _t485 int64 + var _t486 int64 if p.matchLookaheadLiteral("UINT128", 0) { - _t485 = 4 + _t486 = 4 } else { - var _t486 int64 + var _t487 int64 if p.matchLookaheadLiteral("STRING", 0) { - _t486 = 1 + _t487 = 1 } else { - var _t487 int64 + var _t488 int64 if p.matchLookaheadLiteral("MISSING", 0) { - _t487 = 8 + _t488 = 8 } else { - var _t488 int64 + var _t489 int64 if p.matchLookaheadLiteral("INT128", 0) { - _t488 = 5 + _t489 = 5 } else { - var _t489 int64 + var _t490 int64 if p.matchLookaheadLiteral("INT", 0) { - _t489 = 2 + _t490 = 2 } else { - var _t490 int64 + var _t491 int64 if p.matchLookaheadLiteral("FLOAT", 0) { - _t490 = 3 + _t491 = 3 } else { - var _t491 int64 + var _t492 int64 if p.matchLookaheadLiteral("DATETIME", 0) { - _t491 = 7 + _t492 = 7 } else { - var _t492 int64 + var _t493 int64 if p.matchLookaheadLiteral("DATE", 0) { - _t492 = 6 + _t493 = 6 } else { - var _t493 int64 + var _t494 int64 if p.matchLookaheadLiteral("BOOLEAN", 0) { - _t493 = 10 + _t494 = 10 } else { - var _t494 int64 + var _t495 int64 if p.matchLookaheadLiteral("(", 0) { - _t494 = 9 + _t495 = 9 } else { - _t494 = -1 + _t495 = -1 } - _t493 = _t494 + _t494 = _t495 } - _t492 = _t493 + _t493 = _t494 } - _t491 = _t492 + _t492 = _t493 } - _t490 = _t491 + _t491 = _t492 } - _t489 = _t490 + _t490 = _t491 } - _t488 = _t489 + _t489 = _t490 } - _t487 = _t488 + _t488 = _t489 } - _t486 = _t487 + _t487 = _t488 } - _t485 = _t486 + _t486 = _t487 } - _t484 = _t485 + _t485 = _t486 } - prediction76 := _t484 - var _t495 *pb.Type + prediction76 := _t485 + var _t496 *pb.Type if prediction76 == 10 { - _t496 := p.parse_boolean_type() - boolean_type87 := _t496 - _t497 := &pb.Type{} - _t497.Type = &pb.Type_BooleanType{BooleanType: boolean_type87} - _t495 = _t497 + _t497 := p.parse_boolean_type() + boolean_type87 := _t497 + _t498 := &pb.Type{} + _t498.Type = &pb.Type_BooleanType{BooleanType: boolean_type87} + _t496 = _t498 } else { - var _t498 *pb.Type + var _t499 *pb.Type if prediction76 == 9 { - _t499 := p.parse_decimal_type() - decimal_type86 := _t499 - _t500 := &pb.Type{} - _t500.Type = &pb.Type_DecimalType{DecimalType: decimal_type86} - _t498 = _t500 + _t500 := p.parse_decimal_type() + decimal_type86 := _t500 + _t501 := &pb.Type{} + _t501.Type = &pb.Type_DecimalType{DecimalType: decimal_type86} + _t499 = _t501 } else { - var _t501 *pb.Type + var _t502 *pb.Type if prediction76 == 8 { - _t502 := p.parse_missing_type() - missing_type85 := _t502 - _t503 := &pb.Type{} - _t503.Type = &pb.Type_MissingType{MissingType: missing_type85} - _t501 = _t503 + _t503 := p.parse_missing_type() + missing_type85 := _t503 + _t504 := &pb.Type{} + _t504.Type = &pb.Type_MissingType{MissingType: missing_type85} + _t502 = _t504 } else { - var _t504 *pb.Type + var _t505 *pb.Type if prediction76 == 7 { - _t505 := p.parse_datetime_type() - datetime_type84 := _t505 - _t506 := &pb.Type{} - _t506.Type = &pb.Type_DatetimeType{DatetimeType: datetime_type84} - _t504 = _t506 + _t506 := p.parse_datetime_type() + datetime_type84 := _t506 + _t507 := &pb.Type{} + _t507.Type = &pb.Type_DatetimeType{DatetimeType: datetime_type84} + _t505 = _t507 } else { - var _t507 *pb.Type + var _t508 *pb.Type if prediction76 == 6 { - _t508 := p.parse_date_type() - date_type83 := _t508 - _t509 := &pb.Type{} - _t509.Type = &pb.Type_DateType{DateType: date_type83} - _t507 = _t509 + _t509 := p.parse_date_type() + date_type83 := _t509 + _t510 := &pb.Type{} + _t510.Type = &pb.Type_DateType{DateType: date_type83} + _t508 = _t510 } else { - var _t510 *pb.Type + var _t511 *pb.Type if prediction76 == 5 { - _t511 := p.parse_int128_type() - int128_type82 := _t511 - _t512 := &pb.Type{} - _t512.Type = &pb.Type_Int128Type{Int128Type: int128_type82} - _t510 = _t512 + _t512 := p.parse_int128_type() + int128_type82 := _t512 + _t513 := &pb.Type{} + _t513.Type = &pb.Type_Int128Type{Int128Type: int128_type82} + _t511 = _t513 } else { - var _t513 *pb.Type + var _t514 *pb.Type if prediction76 == 4 { - _t514 := p.parse_uint128_type() - uint128_type81 := _t514 - _t515 := &pb.Type{} - _t515.Type = &pb.Type_Uint128Type{Uint128Type: uint128_type81} - _t513 = _t515 + _t515 := p.parse_uint128_type() + uint128_type81 := _t515 + _t516 := &pb.Type{} + _t516.Type = &pb.Type_Uint128Type{Uint128Type: uint128_type81} + _t514 = _t516 } else { - var _t516 *pb.Type + var _t517 *pb.Type if prediction76 == 3 { - _t517 := p.parse_float_type() - float_type80 := _t517 - _t518 := &pb.Type{} - _t518.Type = &pb.Type_FloatType{FloatType: float_type80} - _t516 = _t518 + _t518 := p.parse_float_type() + float_type80 := _t518 + _t519 := &pb.Type{} + _t519.Type = &pb.Type_FloatType{FloatType: float_type80} + _t517 = _t519 } else { - var _t519 *pb.Type + var _t520 *pb.Type if prediction76 == 2 { - _t520 := p.parse_int_type() - int_type79 := _t520 - _t521 := &pb.Type{} - _t521.Type = &pb.Type_IntType{IntType: int_type79} - _t519 = _t521 + _t521 := p.parse_int_type() + int_type79 := _t521 + _t522 := &pb.Type{} + _t522.Type = &pb.Type_IntType{IntType: int_type79} + _t520 = _t522 } else { - var _t522 *pb.Type + var _t523 *pb.Type if prediction76 == 1 { - _t523 := p.parse_string_type() - string_type78 := _t523 - _t524 := &pb.Type{} - _t524.Type = &pb.Type_StringType{StringType: string_type78} - _t522 = _t524 + _t524 := p.parse_string_type() + string_type78 := _t524 + _t525 := &pb.Type{} + _t525.Type = &pb.Type_StringType{StringType: string_type78} + _t523 = _t525 } else { - var _t525 *pb.Type + var _t526 *pb.Type if prediction76 == 0 { - _t526 := p.parse_unspecified_type() - unspecified_type77 := _t526 - _t527 := &pb.Type{} - _t527.Type = &pb.Type_UnspecifiedType{UnspecifiedType: unspecified_type77} - _t525 = _t527 + _t527 := p.parse_unspecified_type() + unspecified_type77 := _t527 + _t528 := &pb.Type{} + _t528.Type = &pb.Type_UnspecifiedType{UnspecifiedType: unspecified_type77} + _t526 = _t528 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in type", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t522 = _t525 + _t523 = _t526 } - _t519 = _t522 + _t520 = _t523 } - _t516 = _t519 + _t517 = _t520 } - _t513 = _t516 + _t514 = _t517 } - _t510 = _t513 + _t511 = _t514 } - _t507 = _t510 + _t508 = _t511 } - _t504 = _t507 + _t505 = _t508 } - _t501 = _t504 + _t502 = _t505 } - _t498 = _t501 + _t499 = _t502 } - _t495 = _t498 + _t496 = _t499 } - return _t495 + return _t496 } func (p *Parser) parse_unspecified_type() *pb.UnspecifiedType { p.consumeLiteral("UNKNOWN") - _t528 := &pb.UnspecifiedType{} - return _t528 + _t529 := &pb.UnspecifiedType{} + return _t529 } func (p *Parser) parse_string_type() *pb.StringType { p.consumeLiteral("STRING") - _t529 := &pb.StringType{} - return _t529 + _t530 := &pb.StringType{} + return _t530 } func (p *Parser) parse_int_type() *pb.IntType { p.consumeLiteral("INT") - _t530 := &pb.IntType{} - return _t530 + _t531 := &pb.IntType{} + return _t531 } func (p *Parser) parse_float_type() *pb.FloatType { p.consumeLiteral("FLOAT") - _t531 := &pb.FloatType{} - return _t531 + _t532 := &pb.FloatType{} + return _t532 } func (p *Parser) parse_uint128_type() *pb.UInt128Type { p.consumeLiteral("UINT128") - _t532 := &pb.UInt128Type{} - return _t532 + _t533 := &pb.UInt128Type{} + return _t533 } func (p *Parser) parse_int128_type() *pb.Int128Type { p.consumeLiteral("INT128") - _t533 := &pb.Int128Type{} - return _t533 + _t534 := &pb.Int128Type{} + return _t534 } func (p *Parser) parse_date_type() *pb.DateType { p.consumeLiteral("DATE") - _t534 := &pb.DateType{} - return _t534 + _t535 := &pb.DateType{} + return _t535 } func (p *Parser) parse_datetime_type() *pb.DateTimeType { p.consumeLiteral("DATETIME") - _t535 := &pb.DateTimeType{} - return _t535 + _t536 := &pb.DateTimeType{} + return _t536 } func (p *Parser) parse_missing_type() *pb.MissingType { p.consumeLiteral("MISSING") - _t536 := &pb.MissingType{} - return _t536 + _t537 := &pb.MissingType{} + return _t537 } func (p *Parser) parse_decimal_type() *pb.DecimalType { @@ -1712,14 +1712,14 @@ func (p *Parser) parse_decimal_type() *pb.DecimalType { int88 := p.consumeTerminal("INT").Value.AsInt64() int_389 := p.consumeTerminal("INT").Value.AsInt64() p.consumeLiteral(")") - _t537 := &pb.DecimalType{Precision: int32(int88), Scale: int32(int_389)} - return _t537 + _t538 := &pb.DecimalType{Precision: int32(int88), Scale: int32(int_389)} + return _t538 } func (p *Parser) parse_boolean_type() *pb.BooleanType { p.consumeLiteral("BOOLEAN") - _t538 := &pb.BooleanType{} - return _t538 + _t539 := &pb.BooleanType{} + return _t539 } func (p *Parser) parse_value_bindings() []*pb.Binding { @@ -1727,8 +1727,8 @@ func (p *Parser) parse_value_bindings() []*pb.Binding { xs90 := []*pb.Binding{} cond91 := p.matchLookaheadTerminal("SYMBOL", 0) for cond91 { - _t539 := p.parse_binding() - item92 := _t539 + _t540 := p.parse_binding() + item92 := _t540 xs90 = append(xs90, item92) cond91 = p.matchLookaheadTerminal("SYMBOL", 0) } @@ -1737,319 +1737,319 @@ func (p *Parser) parse_value_bindings() []*pb.Binding { } func (p *Parser) parse_formula() *pb.Formula { - var _t540 int64 + var _t541 int64 if p.matchLookaheadLiteral("(", 0) { - var _t541 int64 + var _t542 int64 if p.matchLookaheadLiteral("true", 1) { - _t541 = 0 + _t542 = 0 } else { - var _t542 int64 + var _t543 int64 if p.matchLookaheadLiteral("relatom", 1) { - _t542 = 11 + _t543 = 11 } else { - var _t543 int64 + var _t544 int64 if p.matchLookaheadLiteral("reduce", 1) { - _t543 = 3 + _t544 = 3 } else { - var _t544 int64 + var _t545 int64 if p.matchLookaheadLiteral("primitive", 1) { - _t544 = 10 + _t545 = 10 } else { - var _t545 int64 + var _t546 int64 if p.matchLookaheadLiteral("pragma", 1) { - _t545 = 9 + _t546 = 9 } else { - var _t546 int64 + var _t547 int64 if p.matchLookaheadLiteral("or", 1) { - _t546 = 5 + _t547 = 5 } else { - var _t547 int64 + var _t548 int64 if p.matchLookaheadLiteral("not", 1) { - _t547 = 6 + _t548 = 6 } else { - var _t548 int64 + var _t549 int64 if p.matchLookaheadLiteral("ffi", 1) { - _t548 = 7 + _t549 = 7 } else { - var _t549 int64 + var _t550 int64 if p.matchLookaheadLiteral("false", 1) { - _t549 = 1 + _t550 = 1 } else { - var _t550 int64 + var _t551 int64 if p.matchLookaheadLiteral("exists", 1) { - _t550 = 2 + _t551 = 2 } else { - var _t551 int64 + var _t552 int64 if p.matchLookaheadLiteral("cast", 1) { - _t551 = 12 + _t552 = 12 } else { - var _t552 int64 + var _t553 int64 if p.matchLookaheadLiteral("atom", 1) { - _t552 = 8 + _t553 = 8 } else { - var _t553 int64 + var _t554 int64 if p.matchLookaheadLiteral("and", 1) { - _t553 = 4 + _t554 = 4 } else { - var _t554 int64 + var _t555 int64 if p.matchLookaheadLiteral(">=", 1) { - _t554 = 10 + _t555 = 10 } else { - var _t555 int64 + var _t556 int64 if p.matchLookaheadLiteral(">", 1) { - _t555 = 10 + _t556 = 10 } else { - var _t556 int64 + var _t557 int64 if p.matchLookaheadLiteral("=", 1) { - _t556 = 10 + _t557 = 10 } else { - var _t557 int64 + var _t558 int64 if p.matchLookaheadLiteral("<=", 1) { - _t557 = 10 + _t558 = 10 } else { - var _t558 int64 + var _t559 int64 if p.matchLookaheadLiteral("<", 1) { - _t558 = 10 + _t559 = 10 } else { - var _t559 int64 + var _t560 int64 if p.matchLookaheadLiteral("/", 1) { - _t559 = 10 + _t560 = 10 } else { - var _t560 int64 + var _t561 int64 if p.matchLookaheadLiteral("-", 1) { - _t560 = 10 + _t561 = 10 } else { - var _t561 int64 + var _t562 int64 if p.matchLookaheadLiteral("+", 1) { - _t561 = 10 + _t562 = 10 } else { - var _t562 int64 + var _t563 int64 if p.matchLookaheadLiteral("*", 1) { - _t562 = 10 + _t563 = 10 } else { - _t562 = -1 + _t563 = -1 } - _t561 = _t562 + _t562 = _t563 } - _t560 = _t561 + _t561 = _t562 } - _t559 = _t560 + _t560 = _t561 } - _t558 = _t559 + _t559 = _t560 } - _t557 = _t558 + _t558 = _t559 } - _t556 = _t557 + _t557 = _t558 } - _t555 = _t556 + _t556 = _t557 } - _t554 = _t555 + _t555 = _t556 } - _t553 = _t554 + _t554 = _t555 } - _t552 = _t553 + _t553 = _t554 } - _t551 = _t552 + _t552 = _t553 } - _t550 = _t551 + _t551 = _t552 } - _t549 = _t550 + _t550 = _t551 } - _t548 = _t549 + _t549 = _t550 } - _t547 = _t548 + _t548 = _t549 } - _t546 = _t547 + _t547 = _t548 } - _t545 = _t546 + _t546 = _t547 } - _t544 = _t545 + _t545 = _t546 } - _t543 = _t544 + _t544 = _t545 } - _t542 = _t543 + _t543 = _t544 } - _t541 = _t542 + _t542 = _t543 } - _t540 = _t541 + _t541 = _t542 } else { - _t540 = -1 + _t541 = -1 } - prediction94 := _t540 - var _t563 *pb.Formula + prediction94 := _t541 + var _t564 *pb.Formula if prediction94 == 12 { - _t564 := p.parse_cast() - cast107 := _t564 - _t565 := &pb.Formula{} - _t565.FormulaType = &pb.Formula_Cast{Cast: cast107} - _t563 = _t565 + _t565 := p.parse_cast() + cast107 := _t565 + _t566 := &pb.Formula{} + _t566.FormulaType = &pb.Formula_Cast{Cast: cast107} + _t564 = _t566 } else { - var _t566 *pb.Formula + var _t567 *pb.Formula if prediction94 == 11 { - _t567 := p.parse_rel_atom() - rel_atom106 := _t567 - _t568 := &pb.Formula{} - _t568.FormulaType = &pb.Formula_RelAtom{RelAtom: rel_atom106} - _t566 = _t568 + _t568 := p.parse_rel_atom() + rel_atom106 := _t568 + _t569 := &pb.Formula{} + _t569.FormulaType = &pb.Formula_RelAtom{RelAtom: rel_atom106} + _t567 = _t569 } else { - var _t569 *pb.Formula + var _t570 *pb.Formula if prediction94 == 10 { - _t570 := p.parse_primitive() - primitive105 := _t570 - _t571 := &pb.Formula{} - _t571.FormulaType = &pb.Formula_Primitive{Primitive: primitive105} - _t569 = _t571 + _t571 := p.parse_primitive() + primitive105 := _t571 + _t572 := &pb.Formula{} + _t572.FormulaType = &pb.Formula_Primitive{Primitive: primitive105} + _t570 = _t572 } else { - var _t572 *pb.Formula + var _t573 *pb.Formula if prediction94 == 9 { - _t573 := p.parse_pragma() - pragma104 := _t573 - _t574 := &pb.Formula{} - _t574.FormulaType = &pb.Formula_Pragma{Pragma: pragma104} - _t572 = _t574 + _t574 := p.parse_pragma() + pragma104 := _t574 + _t575 := &pb.Formula{} + _t575.FormulaType = &pb.Formula_Pragma{Pragma: pragma104} + _t573 = _t575 } else { - var _t575 *pb.Formula + var _t576 *pb.Formula if prediction94 == 8 { - _t576 := p.parse_atom() - atom103 := _t576 - _t577 := &pb.Formula{} - _t577.FormulaType = &pb.Formula_Atom{Atom: atom103} - _t575 = _t577 + _t577 := p.parse_atom() + atom103 := _t577 + _t578 := &pb.Formula{} + _t578.FormulaType = &pb.Formula_Atom{Atom: atom103} + _t576 = _t578 } else { - var _t578 *pb.Formula + var _t579 *pb.Formula if prediction94 == 7 { - _t579 := p.parse_ffi() - ffi102 := _t579 - _t580 := &pb.Formula{} - _t580.FormulaType = &pb.Formula_Ffi{Ffi: ffi102} - _t578 = _t580 + _t580 := p.parse_ffi() + ffi102 := _t580 + _t581 := &pb.Formula{} + _t581.FormulaType = &pb.Formula_Ffi{Ffi: ffi102} + _t579 = _t581 } else { - var _t581 *pb.Formula + var _t582 *pb.Formula if prediction94 == 6 { - _t582 := p.parse_not() - not101 := _t582 - _t583 := &pb.Formula{} - _t583.FormulaType = &pb.Formula_Not{Not: not101} - _t581 = _t583 + _t583 := p.parse_not() + not101 := _t583 + _t584 := &pb.Formula{} + _t584.FormulaType = &pb.Formula_Not{Not: not101} + _t582 = _t584 } else { - var _t584 *pb.Formula + var _t585 *pb.Formula if prediction94 == 5 { - _t585 := p.parse_disjunction() - disjunction100 := _t585 - _t586 := &pb.Formula{} - _t586.FormulaType = &pb.Formula_Disjunction{Disjunction: disjunction100} - _t584 = _t586 + _t586 := p.parse_disjunction() + disjunction100 := _t586 + _t587 := &pb.Formula{} + _t587.FormulaType = &pb.Formula_Disjunction{Disjunction: disjunction100} + _t585 = _t587 } else { - var _t587 *pb.Formula + var _t588 *pb.Formula if prediction94 == 4 { - _t588 := p.parse_conjunction() - conjunction99 := _t588 - _t589 := &pb.Formula{} - _t589.FormulaType = &pb.Formula_Conjunction{Conjunction: conjunction99} - _t587 = _t589 + _t589 := p.parse_conjunction() + conjunction99 := _t589 + _t590 := &pb.Formula{} + _t590.FormulaType = &pb.Formula_Conjunction{Conjunction: conjunction99} + _t588 = _t590 } else { - var _t590 *pb.Formula + var _t591 *pb.Formula if prediction94 == 3 { - _t591 := p.parse_reduce() - reduce98 := _t591 - _t592 := &pb.Formula{} - _t592.FormulaType = &pb.Formula_Reduce{Reduce: reduce98} - _t590 = _t592 + _t592 := p.parse_reduce() + reduce98 := _t592 + _t593 := &pb.Formula{} + _t593.FormulaType = &pb.Formula_Reduce{Reduce: reduce98} + _t591 = _t593 } else { - var _t593 *pb.Formula + var _t594 *pb.Formula if prediction94 == 2 { - _t594 := p.parse_exists() - exists97 := _t594 - _t595 := &pb.Formula{} - _t595.FormulaType = &pb.Formula_Exists{Exists: exists97} - _t593 = _t595 + _t595 := p.parse_exists() + exists97 := _t595 + _t596 := &pb.Formula{} + _t596.FormulaType = &pb.Formula_Exists{Exists: exists97} + _t594 = _t596 } else { - var _t596 *pb.Formula + var _t597 *pb.Formula if prediction94 == 1 { - _t597 := p.parse_false() - false96 := _t597 - _t598 := &pb.Formula{} - _t598.FormulaType = &pb.Formula_Disjunction{Disjunction: false96} - _t596 = _t598 + _t598 := p.parse_false() + false96 := _t598 + _t599 := &pb.Formula{} + _t599.FormulaType = &pb.Formula_Disjunction{Disjunction: false96} + _t597 = _t599 } else { - var _t599 *pb.Formula + var _t600 *pb.Formula if prediction94 == 0 { - _t600 := p.parse_true() - true95 := _t600 - _t601 := &pb.Formula{} - _t601.FormulaType = &pb.Formula_Conjunction{Conjunction: true95} - _t599 = _t601 + _t601 := p.parse_true() + true95 := _t601 + _t602 := &pb.Formula{} + _t602.FormulaType = &pb.Formula_Conjunction{Conjunction: true95} + _t600 = _t602 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in formula", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t596 = _t599 + _t597 = _t600 } - _t593 = _t596 + _t594 = _t597 } - _t590 = _t593 + _t591 = _t594 } - _t587 = _t590 + _t588 = _t591 } - _t584 = _t587 + _t585 = _t588 } - _t581 = _t584 + _t582 = _t585 } - _t578 = _t581 + _t579 = _t582 } - _t575 = _t578 + _t576 = _t579 } - _t572 = _t575 + _t573 = _t576 } - _t569 = _t572 + _t570 = _t573 } - _t566 = _t569 + _t567 = _t570 } - _t563 = _t566 + _t564 = _t567 } - return _t563 + return _t564 } func (p *Parser) parse_true() *pb.Conjunction { p.consumeLiteral("(") p.consumeLiteral("true") p.consumeLiteral(")") - _t602 := &pb.Conjunction{Args: []*pb.Formula{}} - return _t602 + _t603 := &pb.Conjunction{Args: []*pb.Formula{}} + return _t603 } func (p *Parser) parse_false() *pb.Disjunction { p.consumeLiteral("(") p.consumeLiteral("false") p.consumeLiteral(")") - _t603 := &pb.Disjunction{Args: []*pb.Formula{}} - return _t603 + _t604 := &pb.Disjunction{Args: []*pb.Formula{}} + return _t604 } func (p *Parser) parse_exists() *pb.Exists { p.consumeLiteral("(") p.consumeLiteral("exists") - _t604 := p.parse_bindings() - bindings108 := _t604 - _t605 := p.parse_formula() - formula109 := _t605 + _t605 := p.parse_bindings() + bindings108 := _t605 + _t606 := p.parse_formula() + formula109 := _t606 p.consumeLiteral(")") - _t606 := &pb.Abstraction{Vars: listConcat(bindings108[0].([]*pb.Binding), bindings108[1].([]*pb.Binding)), Value: formula109} - _t607 := &pb.Exists{Body: _t606} - return _t607 + _t607 := &pb.Abstraction{Vars: listConcat(bindings108[0].([]*pb.Binding), bindings108[1].([]*pb.Binding)), Value: formula109} + _t608 := &pb.Exists{Body: _t607} + return _t608 } func (p *Parser) parse_reduce() *pb.Reduce { p.consumeLiteral("(") p.consumeLiteral("reduce") - _t608 := p.parse_abstraction() - abstraction110 := _t608 _t609 := p.parse_abstraction() - abstraction_3111 := _t609 - _t610 := p.parse_terms() - terms112 := _t610 + abstraction110 := _t609 + _t610 := p.parse_abstraction() + abstraction_3111 := _t610 + _t611 := p.parse_terms() + terms112 := _t611 p.consumeLiteral(")") - _t611 := &pb.Reduce{Op: abstraction110, Body: abstraction_3111, Terms: terms112} - return _t611 + _t612 := &pb.Reduce{Op: abstraction110, Body: abstraction_3111, Terms: terms112} + return _t612 } func (p *Parser) parse_terms() []*pb.Term { @@ -2058,8 +2058,8 @@ func (p *Parser) parse_terms() []*pb.Term { xs113 := []*pb.Term{} cond114 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond114 { - _t612 := p.parse_term() - item115 := _t612 + _t613 := p.parse_term() + item115 := _t613 xs113 = append(xs113, item115) cond114 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } @@ -2069,105 +2069,105 @@ func (p *Parser) parse_terms() []*pb.Term { } func (p *Parser) parse_term() *pb.Term { - var _t613 int64 + var _t614 int64 if p.matchLookaheadLiteral("true", 0) { - _t613 = 1 + _t614 = 1 } else { - var _t614 int64 + var _t615 int64 if p.matchLookaheadLiteral("missing", 0) { - _t614 = 1 + _t615 = 1 } else { - var _t615 int64 + var _t616 int64 if p.matchLookaheadLiteral("false", 0) { - _t615 = 1 + _t616 = 1 } else { - var _t616 int64 + var _t617 int64 if p.matchLookaheadLiteral("(", 0) { - _t616 = 1 + _t617 = 1 } else { - var _t617 int64 + var _t618 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t617 = 1 + _t618 = 1 } else { - var _t618 int64 + var _t619 int64 if p.matchLookaheadTerminal("SYMBOL", 0) { - _t618 = 0 + _t619 = 0 } else { - var _t619 int64 + var _t620 int64 if p.matchLookaheadTerminal("STRING", 0) { - _t619 = 1 + _t620 = 1 } else { - var _t620 int64 + var _t621 int64 if p.matchLookaheadTerminal("INT128", 0) { - _t620 = 1 + _t621 = 1 } else { - var _t621 int64 + var _t622 int64 if p.matchLookaheadTerminal("INT", 0) { - _t621 = 1 + _t622 = 1 } else { - var _t622 int64 + var _t623 int64 if p.matchLookaheadTerminal("FLOAT", 0) { - _t622 = 1 + _t623 = 1 } else { - var _t623 int64 + var _t624 int64 if p.matchLookaheadTerminal("DECIMAL", 0) { - _t623 = 1 + _t624 = 1 } else { - _t623 = -1 + _t624 = -1 } - _t622 = _t623 + _t623 = _t624 } - _t621 = _t622 + _t622 = _t623 } - _t620 = _t621 + _t621 = _t622 } - _t619 = _t620 + _t620 = _t621 } - _t618 = _t619 + _t619 = _t620 } - _t617 = _t618 + _t618 = _t619 } - _t616 = _t617 + _t617 = _t618 } - _t615 = _t616 + _t616 = _t617 } - _t614 = _t615 + _t615 = _t616 } - _t613 = _t614 + _t614 = _t615 } - prediction117 := _t613 - var _t624 *pb.Term + prediction117 := _t614 + var _t625 *pb.Term if prediction117 == 1 { - _t625 := p.parse_constant() - constant119 := _t625 - _t626 := &pb.Term{} - _t626.TermType = &pb.Term_Constant{Constant: constant119} - _t624 = _t626 + _t626 := p.parse_constant() + constant119 := _t626 + _t627 := &pb.Term{} + _t627.TermType = &pb.Term_Constant{Constant: constant119} + _t625 = _t627 } else { - var _t627 *pb.Term + var _t628 *pb.Term if prediction117 == 0 { - _t628 := p.parse_var() - var118 := _t628 - _t629 := &pb.Term{} - _t629.TermType = &pb.Term_Var{Var: var118} - _t627 = _t629 + _t629 := p.parse_var() + var118 := _t629 + _t630 := &pb.Term{} + _t630.TermType = &pb.Term_Var{Var: var118} + _t628 = _t630 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in term", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t624 = _t627 + _t625 = _t628 } - return _t624 + return _t625 } func (p *Parser) parse_var() *pb.Var { symbol120 := p.consumeTerminal("SYMBOL").Value.AsString() - _t630 := &pb.Var{Name: symbol120} - return _t630 + _t631 := &pb.Var{Name: symbol120} + return _t631 } func (p *Parser) parse_constant() *pb.Value { - _t631 := p.parse_value() - value121 := _t631 + _t632 := p.parse_value() + value121 := _t632 return value121 } @@ -2177,15 +2177,15 @@ func (p *Parser) parse_conjunction() *pb.Conjunction { xs122 := []*pb.Formula{} cond123 := p.matchLookaheadLiteral("(", 0) for cond123 { - _t632 := p.parse_formula() - item124 := _t632 + _t633 := p.parse_formula() + item124 := _t633 xs122 = append(xs122, item124) cond123 = p.matchLookaheadLiteral("(", 0) } formulas125 := xs122 p.consumeLiteral(")") - _t633 := &pb.Conjunction{Args: formulas125} - return _t633 + _t634 := &pb.Conjunction{Args: formulas125} + return _t634 } func (p *Parser) parse_disjunction() *pb.Disjunction { @@ -2194,39 +2194,39 @@ func (p *Parser) parse_disjunction() *pb.Disjunction { xs126 := []*pb.Formula{} cond127 := p.matchLookaheadLiteral("(", 0) for cond127 { - _t634 := p.parse_formula() - item128 := _t634 + _t635 := p.parse_formula() + item128 := _t635 xs126 = append(xs126, item128) cond127 = p.matchLookaheadLiteral("(", 0) } formulas129 := xs126 p.consumeLiteral(")") - _t635 := &pb.Disjunction{Args: formulas129} - return _t635 + _t636 := &pb.Disjunction{Args: formulas129} + return _t636 } func (p *Parser) parse_not() *pb.Not { p.consumeLiteral("(") p.consumeLiteral("not") - _t636 := p.parse_formula() - formula130 := _t636 + _t637 := p.parse_formula() + formula130 := _t637 p.consumeLiteral(")") - _t637 := &pb.Not{Arg: formula130} - return _t637 + _t638 := &pb.Not{Arg: formula130} + return _t638 } func (p *Parser) parse_ffi() *pb.FFI { p.consumeLiteral("(") p.consumeLiteral("ffi") - _t638 := p.parse_name() - name131 := _t638 - _t639 := p.parse_ffi_args() - ffi_args132 := _t639 - _t640 := p.parse_terms() - terms133 := _t640 + _t639 := p.parse_name() + name131 := _t639 + _t640 := p.parse_ffi_args() + ffi_args132 := _t640 + _t641 := p.parse_terms() + terms133 := _t641 p.consumeLiteral(")") - _t641 := &pb.FFI{Name: name131, Args: ffi_args132, Terms: terms133} - return _t641 + _t642 := &pb.FFI{Name: name131, Args: ffi_args132, Terms: terms133} + return _t642 } func (p *Parser) parse_name() string { @@ -2241,8 +2241,8 @@ func (p *Parser) parse_ffi_args() []*pb.Abstraction { xs135 := []*pb.Abstraction{} cond136 := p.matchLookaheadLiteral("(", 0) for cond136 { - _t642 := p.parse_abstraction() - item137 := _t642 + _t643 := p.parse_abstraction() + item137 := _t643 xs135 = append(xs135, item137) cond136 = p.matchLookaheadLiteral("(", 0) } @@ -2254,498 +2254,498 @@ func (p *Parser) parse_ffi_args() []*pb.Abstraction { func (p *Parser) parse_atom() *pb.Atom { p.consumeLiteral("(") p.consumeLiteral("atom") - _t643 := p.parse_relation_id() - relation_id139 := _t643 + _t644 := p.parse_relation_id() + relation_id139 := _t644 xs140 := []*pb.Term{} cond141 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond141 { - _t644 := p.parse_term() - item142 := _t644 + _t645 := p.parse_term() + item142 := _t645 xs140 = append(xs140, item142) cond141 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } terms143 := xs140 p.consumeLiteral(")") - _t645 := &pb.Atom{Name: relation_id139, Terms: terms143} - return _t645 + _t646 := &pb.Atom{Name: relation_id139, Terms: terms143} + return _t646 } func (p *Parser) parse_pragma() *pb.Pragma { p.consumeLiteral("(") p.consumeLiteral("pragma") - _t646 := p.parse_name() - name144 := _t646 + _t647 := p.parse_name() + name144 := _t647 xs145 := []*pb.Term{} cond146 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond146 { - _t647 := p.parse_term() - item147 := _t647 + _t648 := p.parse_term() + item147 := _t648 xs145 = append(xs145, item147) cond146 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } terms148 := xs145 p.consumeLiteral(")") - _t648 := &pb.Pragma{Name: name144, Terms: terms148} - return _t648 + _t649 := &pb.Pragma{Name: name144, Terms: terms148} + return _t649 } func (p *Parser) parse_primitive() *pb.Primitive { - var _t649 int64 + var _t650 int64 if p.matchLookaheadLiteral("(", 0) { - var _t650 int64 + var _t651 int64 if p.matchLookaheadLiteral("primitive", 1) { - _t650 = 9 + _t651 = 9 } else { - var _t651 int64 + var _t652 int64 if p.matchLookaheadLiteral(">=", 1) { - _t651 = 4 + _t652 = 4 } else { - var _t652 int64 + var _t653 int64 if p.matchLookaheadLiteral(">", 1) { - _t652 = 3 + _t653 = 3 } else { - var _t653 int64 + var _t654 int64 if p.matchLookaheadLiteral("=", 1) { - _t653 = 0 + _t654 = 0 } else { - var _t654 int64 + var _t655 int64 if p.matchLookaheadLiteral("<=", 1) { - _t654 = 2 + _t655 = 2 } else { - var _t655 int64 + var _t656 int64 if p.matchLookaheadLiteral("<", 1) { - _t655 = 1 + _t656 = 1 } else { - var _t656 int64 + var _t657 int64 if p.matchLookaheadLiteral("/", 1) { - _t656 = 8 + _t657 = 8 } else { - var _t657 int64 + var _t658 int64 if p.matchLookaheadLiteral("-", 1) { - _t657 = 6 + _t658 = 6 } else { - var _t658 int64 + var _t659 int64 if p.matchLookaheadLiteral("+", 1) { - _t658 = 5 + _t659 = 5 } else { - var _t659 int64 + var _t660 int64 if p.matchLookaheadLiteral("*", 1) { - _t659 = 7 + _t660 = 7 } else { - _t659 = -1 + _t660 = -1 } - _t658 = _t659 + _t659 = _t660 } - _t657 = _t658 + _t658 = _t659 } - _t656 = _t657 + _t657 = _t658 } - _t655 = _t656 + _t656 = _t657 } - _t654 = _t655 + _t655 = _t656 } - _t653 = _t654 + _t654 = _t655 } - _t652 = _t653 + _t653 = _t654 } - _t651 = _t652 + _t652 = _t653 } - _t650 = _t651 + _t651 = _t652 } - _t649 = _t650 + _t650 = _t651 } else { - _t649 = -1 + _t650 = -1 } - prediction149 := _t649 - var _t660 *pb.Primitive + prediction149 := _t650 + var _t661 *pb.Primitive if prediction149 == 9 { p.consumeLiteral("(") p.consumeLiteral("primitive") - _t661 := p.parse_name() - name159 := _t661 + _t662 := p.parse_name() + name159 := _t662 xs160 := []*pb.RelTerm{} cond161 := (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond161 { - _t662 := p.parse_rel_term() - item162 := _t662 + _t663 := p.parse_rel_term() + item162 := _t663 xs160 = append(xs160, item162) cond161 = (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } rel_terms163 := xs160 p.consumeLiteral(")") - _t663 := &pb.Primitive{Name: name159, Terms: rel_terms163} - _t660 = _t663 + _t664 := &pb.Primitive{Name: name159, Terms: rel_terms163} + _t661 = _t664 } else { - var _t664 *pb.Primitive + var _t665 *pb.Primitive if prediction149 == 8 { - _t665 := p.parse_divide() - divide158 := _t665 - _t664 = divide158 + _t666 := p.parse_divide() + divide158 := _t666 + _t665 = divide158 } else { - var _t666 *pb.Primitive + var _t667 *pb.Primitive if prediction149 == 7 { - _t667 := p.parse_multiply() - multiply157 := _t667 - _t666 = multiply157 + _t668 := p.parse_multiply() + multiply157 := _t668 + _t667 = multiply157 } else { - var _t668 *pb.Primitive + var _t669 *pb.Primitive if prediction149 == 6 { - _t669 := p.parse_minus() - minus156 := _t669 - _t668 = minus156 + _t670 := p.parse_minus() + minus156 := _t670 + _t669 = minus156 } else { - var _t670 *pb.Primitive + var _t671 *pb.Primitive if prediction149 == 5 { - _t671 := p.parse_add() - add155 := _t671 - _t670 = add155 + _t672 := p.parse_add() + add155 := _t672 + _t671 = add155 } else { - var _t672 *pb.Primitive + var _t673 *pb.Primitive if prediction149 == 4 { - _t673 := p.parse_gt_eq() - gt_eq154 := _t673 - _t672 = gt_eq154 + _t674 := p.parse_gt_eq() + gt_eq154 := _t674 + _t673 = gt_eq154 } else { - var _t674 *pb.Primitive + var _t675 *pb.Primitive if prediction149 == 3 { - _t675 := p.parse_gt() - gt153 := _t675 - _t674 = gt153 + _t676 := p.parse_gt() + gt153 := _t676 + _t675 = gt153 } else { - var _t676 *pb.Primitive + var _t677 *pb.Primitive if prediction149 == 2 { - _t677 := p.parse_lt_eq() - lt_eq152 := _t677 - _t676 = lt_eq152 + _t678 := p.parse_lt_eq() + lt_eq152 := _t678 + _t677 = lt_eq152 } else { - var _t678 *pb.Primitive + var _t679 *pb.Primitive if prediction149 == 1 { - _t679 := p.parse_lt() - lt151 := _t679 - _t678 = lt151 + _t680 := p.parse_lt() + lt151 := _t680 + _t679 = lt151 } else { - var _t680 *pb.Primitive + var _t681 *pb.Primitive if prediction149 == 0 { - _t681 := p.parse_eq() - eq150 := _t681 - _t680 = eq150 + _t682 := p.parse_eq() + eq150 := _t682 + _t681 = eq150 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in primitive", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t678 = _t680 + _t679 = _t681 } - _t676 = _t678 + _t677 = _t679 } - _t674 = _t676 + _t675 = _t677 } - _t672 = _t674 + _t673 = _t675 } - _t670 = _t672 + _t671 = _t673 } - _t668 = _t670 + _t669 = _t671 } - _t666 = _t668 + _t667 = _t669 } - _t664 = _t666 + _t665 = _t667 } - _t660 = _t664 + _t661 = _t665 } - return _t660 + return _t661 } func (p *Parser) parse_eq() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("=") - _t682 := p.parse_term() - term164 := _t682 _t683 := p.parse_term() - term_3165 := _t683 + term164 := _t683 + _t684 := p.parse_term() + term_3165 := _t684 p.consumeLiteral(")") - _t684 := &pb.RelTerm{} - _t684.RelTermType = &pb.RelTerm_Term{Term: term164} _t685 := &pb.RelTerm{} - _t685.RelTermType = &pb.RelTerm_Term{Term: term_3165} - _t686 := &pb.Primitive{Name: "rel_primitive_eq", Terms: []*pb.RelTerm{_t684, _t685}} - return _t686 + _t685.RelTermType = &pb.RelTerm_Term{Term: term164} + _t686 := &pb.RelTerm{} + _t686.RelTermType = &pb.RelTerm_Term{Term: term_3165} + _t687 := &pb.Primitive{Name: "rel_primitive_eq", Terms: []*pb.RelTerm{_t685, _t686}} + return _t687 } func (p *Parser) parse_lt() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("<") - _t687 := p.parse_term() - term166 := _t687 _t688 := p.parse_term() - term_3167 := _t688 + term166 := _t688 + _t689 := p.parse_term() + term_3167 := _t689 p.consumeLiteral(")") - _t689 := &pb.RelTerm{} - _t689.RelTermType = &pb.RelTerm_Term{Term: term166} _t690 := &pb.RelTerm{} - _t690.RelTermType = &pb.RelTerm_Term{Term: term_3167} - _t691 := &pb.Primitive{Name: "rel_primitive_lt_monotype", Terms: []*pb.RelTerm{_t689, _t690}} - return _t691 + _t690.RelTermType = &pb.RelTerm_Term{Term: term166} + _t691 := &pb.RelTerm{} + _t691.RelTermType = &pb.RelTerm_Term{Term: term_3167} + _t692 := &pb.Primitive{Name: "rel_primitive_lt_monotype", Terms: []*pb.RelTerm{_t690, _t691}} + return _t692 } func (p *Parser) parse_lt_eq() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("<=") - _t692 := p.parse_term() - term168 := _t692 _t693 := p.parse_term() - term_3169 := _t693 + term168 := _t693 + _t694 := p.parse_term() + term_3169 := _t694 p.consumeLiteral(")") - _t694 := &pb.RelTerm{} - _t694.RelTermType = &pb.RelTerm_Term{Term: term168} _t695 := &pb.RelTerm{} - _t695.RelTermType = &pb.RelTerm_Term{Term: term_3169} - _t696 := &pb.Primitive{Name: "rel_primitive_lt_eq_monotype", Terms: []*pb.RelTerm{_t694, _t695}} - return _t696 + _t695.RelTermType = &pb.RelTerm_Term{Term: term168} + _t696 := &pb.RelTerm{} + _t696.RelTermType = &pb.RelTerm_Term{Term: term_3169} + _t697 := &pb.Primitive{Name: "rel_primitive_lt_eq_monotype", Terms: []*pb.RelTerm{_t695, _t696}} + return _t697 } func (p *Parser) parse_gt() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral(">") - _t697 := p.parse_term() - term170 := _t697 _t698 := p.parse_term() - term_3171 := _t698 + term170 := _t698 + _t699 := p.parse_term() + term_3171 := _t699 p.consumeLiteral(")") - _t699 := &pb.RelTerm{} - _t699.RelTermType = &pb.RelTerm_Term{Term: term170} _t700 := &pb.RelTerm{} - _t700.RelTermType = &pb.RelTerm_Term{Term: term_3171} - _t701 := &pb.Primitive{Name: "rel_primitive_gt_monotype", Terms: []*pb.RelTerm{_t699, _t700}} - return _t701 + _t700.RelTermType = &pb.RelTerm_Term{Term: term170} + _t701 := &pb.RelTerm{} + _t701.RelTermType = &pb.RelTerm_Term{Term: term_3171} + _t702 := &pb.Primitive{Name: "rel_primitive_gt_monotype", Terms: []*pb.RelTerm{_t700, _t701}} + return _t702 } func (p *Parser) parse_gt_eq() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral(">=") - _t702 := p.parse_term() - term172 := _t702 _t703 := p.parse_term() - term_3173 := _t703 + term172 := _t703 + _t704 := p.parse_term() + term_3173 := _t704 p.consumeLiteral(")") - _t704 := &pb.RelTerm{} - _t704.RelTermType = &pb.RelTerm_Term{Term: term172} _t705 := &pb.RelTerm{} - _t705.RelTermType = &pb.RelTerm_Term{Term: term_3173} - _t706 := &pb.Primitive{Name: "rel_primitive_gt_eq_monotype", Terms: []*pb.RelTerm{_t704, _t705}} - return _t706 + _t705.RelTermType = &pb.RelTerm_Term{Term: term172} + _t706 := &pb.RelTerm{} + _t706.RelTermType = &pb.RelTerm_Term{Term: term_3173} + _t707 := &pb.Primitive{Name: "rel_primitive_gt_eq_monotype", Terms: []*pb.RelTerm{_t705, _t706}} + return _t707 } func (p *Parser) parse_add() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("+") - _t707 := p.parse_term() - term174 := _t707 _t708 := p.parse_term() - term_3175 := _t708 + term174 := _t708 _t709 := p.parse_term() - term_4176 := _t709 + term_3175 := _t709 + _t710 := p.parse_term() + term_4176 := _t710 p.consumeLiteral(")") - _t710 := &pb.RelTerm{} - _t710.RelTermType = &pb.RelTerm_Term{Term: term174} _t711 := &pb.RelTerm{} - _t711.RelTermType = &pb.RelTerm_Term{Term: term_3175} + _t711.RelTermType = &pb.RelTerm_Term{Term: term174} _t712 := &pb.RelTerm{} - _t712.RelTermType = &pb.RelTerm_Term{Term: term_4176} - _t713 := &pb.Primitive{Name: "rel_primitive_add_monotype", Terms: []*pb.RelTerm{_t710, _t711, _t712}} - return _t713 + _t712.RelTermType = &pb.RelTerm_Term{Term: term_3175} + _t713 := &pb.RelTerm{} + _t713.RelTermType = &pb.RelTerm_Term{Term: term_4176} + _t714 := &pb.Primitive{Name: "rel_primitive_add_monotype", Terms: []*pb.RelTerm{_t711, _t712, _t713}} + return _t714 } func (p *Parser) parse_minus() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("-") - _t714 := p.parse_term() - term177 := _t714 _t715 := p.parse_term() - term_3178 := _t715 + term177 := _t715 _t716 := p.parse_term() - term_4179 := _t716 + term_3178 := _t716 + _t717 := p.parse_term() + term_4179 := _t717 p.consumeLiteral(")") - _t717 := &pb.RelTerm{} - _t717.RelTermType = &pb.RelTerm_Term{Term: term177} _t718 := &pb.RelTerm{} - _t718.RelTermType = &pb.RelTerm_Term{Term: term_3178} + _t718.RelTermType = &pb.RelTerm_Term{Term: term177} _t719 := &pb.RelTerm{} - _t719.RelTermType = &pb.RelTerm_Term{Term: term_4179} - _t720 := &pb.Primitive{Name: "rel_primitive_subtract_monotype", Terms: []*pb.RelTerm{_t717, _t718, _t719}} - return _t720 + _t719.RelTermType = &pb.RelTerm_Term{Term: term_3178} + _t720 := &pb.RelTerm{} + _t720.RelTermType = &pb.RelTerm_Term{Term: term_4179} + _t721 := &pb.Primitive{Name: "rel_primitive_subtract_monotype", Terms: []*pb.RelTerm{_t718, _t719, _t720}} + return _t721 } func (p *Parser) parse_multiply() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("*") - _t721 := p.parse_term() - term180 := _t721 _t722 := p.parse_term() - term_3181 := _t722 + term180 := _t722 _t723 := p.parse_term() - term_4182 := _t723 + term_3181 := _t723 + _t724 := p.parse_term() + term_4182 := _t724 p.consumeLiteral(")") - _t724 := &pb.RelTerm{} - _t724.RelTermType = &pb.RelTerm_Term{Term: term180} _t725 := &pb.RelTerm{} - _t725.RelTermType = &pb.RelTerm_Term{Term: term_3181} + _t725.RelTermType = &pb.RelTerm_Term{Term: term180} _t726 := &pb.RelTerm{} - _t726.RelTermType = &pb.RelTerm_Term{Term: term_4182} - _t727 := &pb.Primitive{Name: "rel_primitive_multiply_monotype", Terms: []*pb.RelTerm{_t724, _t725, _t726}} - return _t727 + _t726.RelTermType = &pb.RelTerm_Term{Term: term_3181} + _t727 := &pb.RelTerm{} + _t727.RelTermType = &pb.RelTerm_Term{Term: term_4182} + _t728 := &pb.Primitive{Name: "rel_primitive_multiply_monotype", Terms: []*pb.RelTerm{_t725, _t726, _t727}} + return _t728 } func (p *Parser) parse_divide() *pb.Primitive { p.consumeLiteral("(") p.consumeLiteral("/") - _t728 := p.parse_term() - term183 := _t728 _t729 := p.parse_term() - term_3184 := _t729 + term183 := _t729 _t730 := p.parse_term() - term_4185 := _t730 + term_3184 := _t730 + _t731 := p.parse_term() + term_4185 := _t731 p.consumeLiteral(")") - _t731 := &pb.RelTerm{} - _t731.RelTermType = &pb.RelTerm_Term{Term: term183} _t732 := &pb.RelTerm{} - _t732.RelTermType = &pb.RelTerm_Term{Term: term_3184} + _t732.RelTermType = &pb.RelTerm_Term{Term: term183} _t733 := &pb.RelTerm{} - _t733.RelTermType = &pb.RelTerm_Term{Term: term_4185} - _t734 := &pb.Primitive{Name: "rel_primitive_divide_monotype", Terms: []*pb.RelTerm{_t731, _t732, _t733}} - return _t734 + _t733.RelTermType = &pb.RelTerm_Term{Term: term_3184} + _t734 := &pb.RelTerm{} + _t734.RelTermType = &pb.RelTerm_Term{Term: term_4185} + _t735 := &pb.Primitive{Name: "rel_primitive_divide_monotype", Terms: []*pb.RelTerm{_t732, _t733, _t734}} + return _t735 } func (p *Parser) parse_rel_term() *pb.RelTerm { - var _t735 int64 + var _t736 int64 if p.matchLookaheadLiteral("true", 0) { - _t735 = 1 + _t736 = 1 } else { - var _t736 int64 + var _t737 int64 if p.matchLookaheadLiteral("missing", 0) { - _t736 = 1 + _t737 = 1 } else { - var _t737 int64 + var _t738 int64 if p.matchLookaheadLiteral("false", 0) { - _t737 = 1 + _t738 = 1 } else { - var _t738 int64 + var _t739 int64 if p.matchLookaheadLiteral("(", 0) { - _t738 = 1 + _t739 = 1 } else { - var _t739 int64 + var _t740 int64 if p.matchLookaheadLiteral("#", 0) { - _t739 = 0 + _t740 = 0 } else { - var _t740 int64 + var _t741 int64 if p.matchLookaheadTerminal("UINT128", 0) { - _t740 = 1 + _t741 = 1 } else { - var _t741 int64 + var _t742 int64 if p.matchLookaheadTerminal("SYMBOL", 0) { - _t741 = 1 + _t742 = 1 } else { - var _t742 int64 + var _t743 int64 if p.matchLookaheadTerminal("STRING", 0) { - _t742 = 1 + _t743 = 1 } else { - var _t743 int64 + var _t744 int64 if p.matchLookaheadTerminal("INT128", 0) { - _t743 = 1 + _t744 = 1 } else { - var _t744 int64 + var _t745 int64 if p.matchLookaheadTerminal("INT", 0) { - _t744 = 1 + _t745 = 1 } else { - var _t745 int64 + var _t746 int64 if p.matchLookaheadTerminal("FLOAT", 0) { - _t745 = 1 + _t746 = 1 } else { - var _t746 int64 + var _t747 int64 if p.matchLookaheadTerminal("DECIMAL", 0) { - _t746 = 1 + _t747 = 1 } else { - _t746 = -1 + _t747 = -1 } - _t745 = _t746 + _t746 = _t747 } - _t744 = _t745 + _t745 = _t746 } - _t743 = _t744 + _t744 = _t745 } - _t742 = _t743 + _t743 = _t744 } - _t741 = _t742 + _t742 = _t743 } - _t740 = _t741 + _t741 = _t742 } - _t739 = _t740 + _t740 = _t741 } - _t738 = _t739 + _t739 = _t740 } - _t737 = _t738 + _t738 = _t739 } - _t736 = _t737 + _t737 = _t738 } - _t735 = _t736 + _t736 = _t737 } - prediction186 := _t735 - var _t747 *pb.RelTerm + prediction186 := _t736 + var _t748 *pb.RelTerm if prediction186 == 1 { - _t748 := p.parse_term() - term188 := _t748 - _t749 := &pb.RelTerm{} - _t749.RelTermType = &pb.RelTerm_Term{Term: term188} - _t747 = _t749 + _t749 := p.parse_term() + term188 := _t749 + _t750 := &pb.RelTerm{} + _t750.RelTermType = &pb.RelTerm_Term{Term: term188} + _t748 = _t750 } else { - var _t750 *pb.RelTerm + var _t751 *pb.RelTerm if prediction186 == 0 { - _t751 := p.parse_specialized_value() - specialized_value187 := _t751 - _t752 := &pb.RelTerm{} - _t752.RelTermType = &pb.RelTerm_SpecializedValue{SpecializedValue: specialized_value187} - _t750 = _t752 + _t752 := p.parse_specialized_value() + specialized_value187 := _t752 + _t753 := &pb.RelTerm{} + _t753.RelTermType = &pb.RelTerm_SpecializedValue{SpecializedValue: specialized_value187} + _t751 = _t753 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in rel_term", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t747 = _t750 + _t748 = _t751 } - return _t747 + return _t748 } func (p *Parser) parse_specialized_value() *pb.Value { p.consumeLiteral("#") - _t753 := p.parse_value() - value189 := _t753 + _t754 := p.parse_value() + value189 := _t754 return value189 } func (p *Parser) parse_rel_atom() *pb.RelAtom { p.consumeLiteral("(") p.consumeLiteral("relatom") - _t754 := p.parse_name() - name190 := _t754 + _t755 := p.parse_name() + name190 := _t755 xs191 := []*pb.RelTerm{} cond192 := (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond192 { - _t755 := p.parse_rel_term() - item193 := _t755 + _t756 := p.parse_rel_term() + item193 := _t756 xs191 = append(xs191, item193) cond192 = (((((((((((p.matchLookaheadLiteral("#", 0) || p.matchLookaheadLiteral("(", 0)) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("SYMBOL", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } rel_terms194 := xs191 p.consumeLiteral(")") - _t756 := &pb.RelAtom{Name: name190, Terms: rel_terms194} - return _t756 + _t757 := &pb.RelAtom{Name: name190, Terms: rel_terms194} + return _t757 } func (p *Parser) parse_cast() *pb.Cast { p.consumeLiteral("(") p.consumeLiteral("cast") - _t757 := p.parse_term() - term195 := _t757 _t758 := p.parse_term() - term_3196 := _t758 + term195 := _t758 + _t759 := p.parse_term() + term_3196 := _t759 p.consumeLiteral(")") - _t759 := &pb.Cast{Input: term195, Result: term_3196} - return _t759 + _t760 := &pb.Cast{Input: term195, Result: term_3196} + return _t760 } func (p *Parser) parse_attrs() []*pb.Attribute { @@ -2754,8 +2754,8 @@ func (p *Parser) parse_attrs() []*pb.Attribute { xs197 := []*pb.Attribute{} cond198 := p.matchLookaheadLiteral("(", 0) for cond198 { - _t760 := p.parse_attribute() - item199 := _t760 + _t761 := p.parse_attribute() + item199 := _t761 xs197 = append(xs197, item199) cond198 = p.matchLookaheadLiteral("(", 0) } @@ -2767,20 +2767,20 @@ func (p *Parser) parse_attrs() []*pb.Attribute { func (p *Parser) parse_attribute() *pb.Attribute { p.consumeLiteral("(") p.consumeLiteral("attribute") - _t761 := p.parse_name() - name201 := _t761 + _t762 := p.parse_name() + name201 := _t762 xs202 := []*pb.Value{} cond203 := (((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("UINT128", 0)) for cond203 { - _t762 := p.parse_value() - item204 := _t762 + _t763 := p.parse_value() + item204 := _t763 xs202 = append(xs202, item204) cond203 = (((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("false", 0)) || p.matchLookaheadLiteral("missing", 0)) || p.matchLookaheadLiteral("true", 0)) || p.matchLookaheadTerminal("DECIMAL", 0)) || p.matchLookaheadTerminal("FLOAT", 0)) || p.matchLookaheadTerminal("INT", 0)) || p.matchLookaheadTerminal("INT128", 0)) || p.matchLookaheadTerminal("STRING", 0)) || p.matchLookaheadTerminal("UINT128", 0)) } values205 := xs202 p.consumeLiteral(")") - _t763 := &pb.Attribute{Name: name201, Args: values205} - return _t763 + _t764 := &pb.Attribute{Name: name201, Args: values205} + return _t764 } func (p *Parser) parse_algorithm() *pb.Algorithm { @@ -2789,17 +2789,17 @@ func (p *Parser) parse_algorithm() *pb.Algorithm { xs206 := []*pb.RelationId{} cond207 := (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) for cond207 { - _t764 := p.parse_relation_id() - item208 := _t764 + _t765 := p.parse_relation_id() + item208 := _t765 xs206 = append(xs206, item208) cond207 = (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) } relation_ids209 := xs206 - _t765 := p.parse_script() - script210 := _t765 + _t766 := p.parse_script() + script210 := _t766 p.consumeLiteral(")") - _t766 := &pb.Algorithm{Global: relation_ids209, Body: script210} - return _t766 + _t767 := &pb.Algorithm{Global: relation_ids209, Body: script210} + return _t767 } func (p *Parser) parse_script() *pb.Script { @@ -2808,94 +2808,94 @@ func (p *Parser) parse_script() *pb.Script { xs211 := []*pb.Construct{} cond212 := p.matchLookaheadLiteral("(", 0) for cond212 { - _t767 := p.parse_construct() - item213 := _t767 + _t768 := p.parse_construct() + item213 := _t768 xs211 = append(xs211, item213) cond212 = p.matchLookaheadLiteral("(", 0) } constructs214 := xs211 p.consumeLiteral(")") - _t768 := &pb.Script{Constructs: constructs214} - return _t768 + _t769 := &pb.Script{Constructs: constructs214} + return _t769 } func (p *Parser) parse_construct() *pb.Construct { - var _t769 int64 + var _t770 int64 if p.matchLookaheadLiteral("(", 0) { - var _t770 int64 + var _t771 int64 if p.matchLookaheadLiteral("upsert", 1) { - _t770 = 1 + _t771 = 1 } else { - var _t771 int64 + var _t772 int64 if p.matchLookaheadLiteral("monus", 1) { - _t771 = 1 + _t772 = 1 } else { - var _t772 int64 + var _t773 int64 if p.matchLookaheadLiteral("monoid", 1) { - _t772 = 1 + _t773 = 1 } else { - var _t773 int64 + var _t774 int64 if p.matchLookaheadLiteral("loop", 1) { - _t773 = 0 + _t774 = 0 } else { - var _t774 int64 + var _t775 int64 if p.matchLookaheadLiteral("break", 1) { - _t774 = 1 + _t775 = 1 } else { - var _t775 int64 + var _t776 int64 if p.matchLookaheadLiteral("assign", 1) { - _t775 = 1 + _t776 = 1 } else { - _t775 = -1 + _t776 = -1 } - _t774 = _t775 + _t775 = _t776 } - _t773 = _t774 + _t774 = _t775 } - _t772 = _t773 + _t773 = _t774 } - _t771 = _t772 + _t772 = _t773 } - _t770 = _t771 + _t771 = _t772 } - _t769 = _t770 + _t770 = _t771 } else { - _t769 = -1 + _t770 = -1 } - prediction215 := _t769 - var _t776 *pb.Construct + prediction215 := _t770 + var _t777 *pb.Construct if prediction215 == 1 { - _t777 := p.parse_instruction() - instruction217 := _t777 - _t778 := &pb.Construct{} - _t778.ConstructType = &pb.Construct_Instruction{Instruction: instruction217} - _t776 = _t778 + _t778 := p.parse_instruction() + instruction217 := _t778 + _t779 := &pb.Construct{} + _t779.ConstructType = &pb.Construct_Instruction{Instruction: instruction217} + _t777 = _t779 } else { - var _t779 *pb.Construct + var _t780 *pb.Construct if prediction215 == 0 { - _t780 := p.parse_loop() - loop216 := _t780 - _t781 := &pb.Construct{} - _t781.ConstructType = &pb.Construct_Loop{Loop: loop216} - _t779 = _t781 + _t781 := p.parse_loop() + loop216 := _t781 + _t782 := &pb.Construct{} + _t782.ConstructType = &pb.Construct_Loop{Loop: loop216} + _t780 = _t782 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in construct", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t776 = _t779 + _t777 = _t780 } - return _t776 + return _t777 } func (p *Parser) parse_loop() *pb.Loop { p.consumeLiteral("(") p.consumeLiteral("loop") - _t782 := p.parse_init() - init218 := _t782 - _t783 := p.parse_script() - script219 := _t783 + _t783 := p.parse_init() + init218 := _t783 + _t784 := p.parse_script() + script219 := _t784 p.consumeLiteral(")") - _t784 := &pb.Loop{Init: init218, Body: script219} - return _t784 + _t785 := &pb.Loop{Init: init218, Body: script219} + return _t785 } func (p *Parser) parse_init() []*pb.Instruction { @@ -2904,8 +2904,8 @@ func (p *Parser) parse_init() []*pb.Instruction { xs220 := []*pb.Instruction{} cond221 := p.matchLookaheadLiteral("(", 0) for cond221 { - _t785 := p.parse_instruction() - item222 := _t785 + _t786 := p.parse_instruction() + item222 := _t786 xs220 = append(xs220, item222) cond221 = p.matchLookaheadLiteral("(", 0) } @@ -2915,350 +2915,350 @@ func (p *Parser) parse_init() []*pb.Instruction { } func (p *Parser) parse_instruction() *pb.Instruction { - var _t786 int64 + var _t787 int64 if p.matchLookaheadLiteral("(", 0) { - var _t787 int64 + var _t788 int64 if p.matchLookaheadLiteral("upsert", 1) { - _t787 = 1 + _t788 = 1 } else { - var _t788 int64 + var _t789 int64 if p.matchLookaheadLiteral("monus", 1) { - _t788 = 4 + _t789 = 4 } else { - var _t789 int64 + var _t790 int64 if p.matchLookaheadLiteral("monoid", 1) { - _t789 = 3 + _t790 = 3 } else { - var _t790 int64 + var _t791 int64 if p.matchLookaheadLiteral("break", 1) { - _t790 = 2 + _t791 = 2 } else { - var _t791 int64 + var _t792 int64 if p.matchLookaheadLiteral("assign", 1) { - _t791 = 0 + _t792 = 0 } else { - _t791 = -1 + _t792 = -1 } - _t790 = _t791 + _t791 = _t792 } - _t789 = _t790 + _t790 = _t791 } - _t788 = _t789 + _t789 = _t790 } - _t787 = _t788 + _t788 = _t789 } - _t786 = _t787 + _t787 = _t788 } else { - _t786 = -1 + _t787 = -1 } - prediction224 := _t786 - var _t792 *pb.Instruction + prediction224 := _t787 + var _t793 *pb.Instruction if prediction224 == 4 { - _t793 := p.parse_monus_def() - monus_def229 := _t793 - _t794 := &pb.Instruction{} - _t794.InstrType = &pb.Instruction_MonusDef{MonusDef: monus_def229} - _t792 = _t794 + _t794 := p.parse_monus_def() + monus_def229 := _t794 + _t795 := &pb.Instruction{} + _t795.InstrType = &pb.Instruction_MonusDef{MonusDef: monus_def229} + _t793 = _t795 } else { - var _t795 *pb.Instruction + var _t796 *pb.Instruction if prediction224 == 3 { - _t796 := p.parse_monoid_def() - monoid_def228 := _t796 - _t797 := &pb.Instruction{} - _t797.InstrType = &pb.Instruction_MonoidDef{MonoidDef: monoid_def228} - _t795 = _t797 + _t797 := p.parse_monoid_def() + monoid_def228 := _t797 + _t798 := &pb.Instruction{} + _t798.InstrType = &pb.Instruction_MonoidDef{MonoidDef: monoid_def228} + _t796 = _t798 } else { - var _t798 *pb.Instruction + var _t799 *pb.Instruction if prediction224 == 2 { - _t799 := p.parse_break() - break227 := _t799 - _t800 := &pb.Instruction{} - _t800.InstrType = &pb.Instruction_Break{Break: break227} - _t798 = _t800 + _t800 := p.parse_break() + break227 := _t800 + _t801 := &pb.Instruction{} + _t801.InstrType = &pb.Instruction_Break{Break: break227} + _t799 = _t801 } else { - var _t801 *pb.Instruction + var _t802 *pb.Instruction if prediction224 == 1 { - _t802 := p.parse_upsert() - upsert226 := _t802 - _t803 := &pb.Instruction{} - _t803.InstrType = &pb.Instruction_Upsert{Upsert: upsert226} - _t801 = _t803 + _t803 := p.parse_upsert() + upsert226 := _t803 + _t804 := &pb.Instruction{} + _t804.InstrType = &pb.Instruction_Upsert{Upsert: upsert226} + _t802 = _t804 } else { - var _t804 *pb.Instruction + var _t805 *pb.Instruction if prediction224 == 0 { - _t805 := p.parse_assign() - assign225 := _t805 - _t806 := &pb.Instruction{} - _t806.InstrType = &pb.Instruction_Assign{Assign: assign225} - _t804 = _t806 + _t806 := p.parse_assign() + assign225 := _t806 + _t807 := &pb.Instruction{} + _t807.InstrType = &pb.Instruction_Assign{Assign: assign225} + _t805 = _t807 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in instruction", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t801 = _t804 + _t802 = _t805 } - _t798 = _t801 + _t799 = _t802 } - _t795 = _t798 + _t796 = _t799 } - _t792 = _t795 + _t793 = _t796 } - return _t792 + return _t793 } func (p *Parser) parse_assign() *pb.Assign { p.consumeLiteral("(") p.consumeLiteral("assign") - _t807 := p.parse_relation_id() - relation_id230 := _t807 - _t808 := p.parse_abstraction() - abstraction231 := _t808 - var _t809 []*pb.Attribute + _t808 := p.parse_relation_id() + relation_id230 := _t808 + _t809 := p.parse_abstraction() + abstraction231 := _t809 + var _t810 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t810 := p.parse_attrs() - _t809 = _t810 + _t811 := p.parse_attrs() + _t810 = _t811 } - attrs232 := _t809 + attrs232 := _t810 p.consumeLiteral(")") - _t811 := attrs232 + _t812 := attrs232 if attrs232 == nil { - _t811 = []*pb.Attribute{} + _t812 = []*pb.Attribute{} } - _t812 := &pb.Assign{Name: relation_id230, Body: abstraction231, Attrs: _t811} - return _t812 + _t813 := &pb.Assign{Name: relation_id230, Body: abstraction231, Attrs: _t812} + return _t813 } func (p *Parser) parse_upsert() *pb.Upsert { p.consumeLiteral("(") p.consumeLiteral("upsert") - _t813 := p.parse_relation_id() - relation_id233 := _t813 - _t814 := p.parse_abstraction_with_arity() - abstraction_with_arity234 := _t814 - var _t815 []*pb.Attribute + _t814 := p.parse_relation_id() + relation_id233 := _t814 + _t815 := p.parse_abstraction_with_arity() + abstraction_with_arity234 := _t815 + var _t816 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t816 := p.parse_attrs() - _t815 = _t816 + _t817 := p.parse_attrs() + _t816 = _t817 } - attrs235 := _t815 + attrs235 := _t816 p.consumeLiteral(")") - _t817 := attrs235 + _t818 := attrs235 if attrs235 == nil { - _t817 = []*pb.Attribute{} + _t818 = []*pb.Attribute{} } - _t818 := &pb.Upsert{Name: relation_id233, Body: abstraction_with_arity234[0].(*pb.Abstraction), Attrs: _t817, ValueArity: abstraction_with_arity234[1].(int64)} - return _t818 + _t819 := &pb.Upsert{Name: relation_id233, Body: abstraction_with_arity234[0].(*pb.Abstraction), Attrs: _t818, ValueArity: abstraction_with_arity234[1].(int64)} + return _t819 } func (p *Parser) parse_abstraction_with_arity() []interface{} { p.consumeLiteral("(") - _t819 := p.parse_bindings() - bindings236 := _t819 - _t820 := p.parse_formula() - formula237 := _t820 + _t820 := p.parse_bindings() + bindings236 := _t820 + _t821 := p.parse_formula() + formula237 := _t821 p.consumeLiteral(")") - _t821 := &pb.Abstraction{Vars: listConcat(bindings236[0].([]*pb.Binding), bindings236[1].([]*pb.Binding)), Value: formula237} - return []interface{}{_t821, int64(len(bindings236[1].([]*pb.Binding)))} + _t822 := &pb.Abstraction{Vars: listConcat(bindings236[0].([]*pb.Binding), bindings236[1].([]*pb.Binding)), Value: formula237} + return []interface{}{_t822, int64(len(bindings236[1].([]*pb.Binding)))} } func (p *Parser) parse_break() *pb.Break { p.consumeLiteral("(") p.consumeLiteral("break") - _t822 := p.parse_relation_id() - relation_id238 := _t822 - _t823 := p.parse_abstraction() - abstraction239 := _t823 - var _t824 []*pb.Attribute + _t823 := p.parse_relation_id() + relation_id238 := _t823 + _t824 := p.parse_abstraction() + abstraction239 := _t824 + var _t825 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t825 := p.parse_attrs() - _t824 = _t825 + _t826 := p.parse_attrs() + _t825 = _t826 } - attrs240 := _t824 + attrs240 := _t825 p.consumeLiteral(")") - _t826 := attrs240 + _t827 := attrs240 if attrs240 == nil { - _t826 = []*pb.Attribute{} + _t827 = []*pb.Attribute{} } - _t827 := &pb.Break{Name: relation_id238, Body: abstraction239, Attrs: _t826} - return _t827 + _t828 := &pb.Break{Name: relation_id238, Body: abstraction239, Attrs: _t827} + return _t828 } func (p *Parser) parse_monoid_def() *pb.MonoidDef { p.consumeLiteral("(") p.consumeLiteral("monoid") - _t828 := p.parse_monoid() - monoid241 := _t828 - _t829 := p.parse_relation_id() - relation_id242 := _t829 - _t830 := p.parse_abstraction_with_arity() - abstraction_with_arity243 := _t830 - var _t831 []*pb.Attribute + _t829 := p.parse_monoid() + monoid241 := _t829 + _t830 := p.parse_relation_id() + relation_id242 := _t830 + _t831 := p.parse_abstraction_with_arity() + abstraction_with_arity243 := _t831 + var _t832 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t832 := p.parse_attrs() - _t831 = _t832 + _t833 := p.parse_attrs() + _t832 = _t833 } - attrs244 := _t831 + attrs244 := _t832 p.consumeLiteral(")") - _t833 := attrs244 + _t834 := attrs244 if attrs244 == nil { - _t833 = []*pb.Attribute{} + _t834 = []*pb.Attribute{} } - _t834 := &pb.MonoidDef{Monoid: monoid241, Name: relation_id242, Body: abstraction_with_arity243[0].(*pb.Abstraction), Attrs: _t833, ValueArity: abstraction_with_arity243[1].(int64)} - return _t834 + _t835 := &pb.MonoidDef{Monoid: monoid241, Name: relation_id242, Body: abstraction_with_arity243[0].(*pb.Abstraction), Attrs: _t834, ValueArity: abstraction_with_arity243[1].(int64)} + return _t835 } func (p *Parser) parse_monoid() *pb.Monoid { - var _t835 int64 + var _t836 int64 if p.matchLookaheadLiteral("(", 0) { - var _t836 int64 + var _t837 int64 if p.matchLookaheadLiteral("sum", 1) { - _t836 = 3 + _t837 = 3 } else { - var _t837 int64 + var _t838 int64 if p.matchLookaheadLiteral("or", 1) { - _t837 = 0 + _t838 = 0 } else { - var _t838 int64 + var _t839 int64 if p.matchLookaheadLiteral("min", 1) { - _t838 = 1 + _t839 = 1 } else { - var _t839 int64 + var _t840 int64 if p.matchLookaheadLiteral("max", 1) { - _t839 = 2 + _t840 = 2 } else { - _t839 = -1 + _t840 = -1 } - _t838 = _t839 + _t839 = _t840 } - _t837 = _t838 + _t838 = _t839 } - _t836 = _t837 + _t837 = _t838 } - _t835 = _t836 + _t836 = _t837 } else { - _t835 = -1 + _t836 = -1 } - prediction245 := _t835 - var _t840 *pb.Monoid + prediction245 := _t836 + var _t841 *pb.Monoid if prediction245 == 3 { - _t841 := p.parse_sum_monoid() - sum_monoid249 := _t841 - _t842 := &pb.Monoid{} - _t842.Value = &pb.Monoid_SumMonoid{SumMonoid: sum_monoid249} - _t840 = _t842 + _t842 := p.parse_sum_monoid() + sum_monoid249 := _t842 + _t843 := &pb.Monoid{} + _t843.Value = &pb.Monoid_SumMonoid{SumMonoid: sum_monoid249} + _t841 = _t843 } else { - var _t843 *pb.Monoid + var _t844 *pb.Monoid if prediction245 == 2 { - _t844 := p.parse_max_monoid() - max_monoid248 := _t844 - _t845 := &pb.Monoid{} - _t845.Value = &pb.Monoid_MaxMonoid{MaxMonoid: max_monoid248} - _t843 = _t845 + _t845 := p.parse_max_monoid() + max_monoid248 := _t845 + _t846 := &pb.Monoid{} + _t846.Value = &pb.Monoid_MaxMonoid{MaxMonoid: max_monoid248} + _t844 = _t846 } else { - var _t846 *pb.Monoid + var _t847 *pb.Monoid if prediction245 == 1 { - _t847 := p.parse_min_monoid() - min_monoid247 := _t847 - _t848 := &pb.Monoid{} - _t848.Value = &pb.Monoid_MinMonoid{MinMonoid: min_monoid247} - _t846 = _t848 + _t848 := p.parse_min_monoid() + min_monoid247 := _t848 + _t849 := &pb.Monoid{} + _t849.Value = &pb.Monoid_MinMonoid{MinMonoid: min_monoid247} + _t847 = _t849 } else { - var _t849 *pb.Monoid + var _t850 *pb.Monoid if prediction245 == 0 { - _t850 := p.parse_or_monoid() - or_monoid246 := _t850 - _t851 := &pb.Monoid{} - _t851.Value = &pb.Monoid_OrMonoid{OrMonoid: or_monoid246} - _t849 = _t851 + _t851 := p.parse_or_monoid() + or_monoid246 := _t851 + _t852 := &pb.Monoid{} + _t852.Value = &pb.Monoid_OrMonoid{OrMonoid: or_monoid246} + _t850 = _t852 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in monoid", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t846 = _t849 + _t847 = _t850 } - _t843 = _t846 + _t844 = _t847 } - _t840 = _t843 + _t841 = _t844 } - return _t840 + return _t841 } func (p *Parser) parse_or_monoid() *pb.OrMonoid { p.consumeLiteral("(") p.consumeLiteral("or") p.consumeLiteral(")") - _t852 := &pb.OrMonoid{} - return _t852 + _t853 := &pb.OrMonoid{} + return _t853 } func (p *Parser) parse_min_monoid() *pb.MinMonoid { p.consumeLiteral("(") p.consumeLiteral("min") - _t853 := p.parse_type() - type250 := _t853 + _t854 := p.parse_type() + type250 := _t854 p.consumeLiteral(")") - _t854 := &pb.MinMonoid{Type: type250} - return _t854 + _t855 := &pb.MinMonoid{Type: type250} + return _t855 } func (p *Parser) parse_max_monoid() *pb.MaxMonoid { p.consumeLiteral("(") p.consumeLiteral("max") - _t855 := p.parse_type() - type251 := _t855 + _t856 := p.parse_type() + type251 := _t856 p.consumeLiteral(")") - _t856 := &pb.MaxMonoid{Type: type251} - return _t856 + _t857 := &pb.MaxMonoid{Type: type251} + return _t857 } func (p *Parser) parse_sum_monoid() *pb.SumMonoid { p.consumeLiteral("(") p.consumeLiteral("sum") - _t857 := p.parse_type() - type252 := _t857 + _t858 := p.parse_type() + type252 := _t858 p.consumeLiteral(")") - _t858 := &pb.SumMonoid{Type: type252} - return _t858 + _t859 := &pb.SumMonoid{Type: type252} + return _t859 } func (p *Parser) parse_monus_def() *pb.MonusDef { p.consumeLiteral("(") p.consumeLiteral("monus") - _t859 := p.parse_monoid() - monoid253 := _t859 - _t860 := p.parse_relation_id() - relation_id254 := _t860 - _t861 := p.parse_abstraction_with_arity() - abstraction_with_arity255 := _t861 - var _t862 []*pb.Attribute + _t860 := p.parse_monoid() + monoid253 := _t860 + _t861 := p.parse_relation_id() + relation_id254 := _t861 + _t862 := p.parse_abstraction_with_arity() + abstraction_with_arity255 := _t862 + var _t863 []*pb.Attribute if p.matchLookaheadLiteral("(", 0) { - _t863 := p.parse_attrs() - _t862 = _t863 + _t864 := p.parse_attrs() + _t863 = _t864 } - attrs256 := _t862 + attrs256 := _t863 p.consumeLiteral(")") - _t864 := attrs256 + _t865 := attrs256 if attrs256 == nil { - _t864 = []*pb.Attribute{} + _t865 = []*pb.Attribute{} } - _t865 := &pb.MonusDef{Monoid: monoid253, Name: relation_id254, Body: abstraction_with_arity255[0].(*pb.Abstraction), Attrs: _t864, ValueArity: abstraction_with_arity255[1].(int64)} - return _t865 + _t866 := &pb.MonusDef{Monoid: monoid253, Name: relation_id254, Body: abstraction_with_arity255[0].(*pb.Abstraction), Attrs: _t865, ValueArity: abstraction_with_arity255[1].(int64)} + return _t866 } func (p *Parser) parse_constraint() *pb.Constraint { p.consumeLiteral("(") p.consumeLiteral("functional_dependency") - _t866 := p.parse_relation_id() - relation_id257 := _t866 - _t867 := p.parse_abstraction() - abstraction258 := _t867 - _t868 := p.parse_functional_dependency_keys() - functional_dependency_keys259 := _t868 - _t869 := p.parse_functional_dependency_values() - functional_dependency_values260 := _t869 + _t867 := p.parse_relation_id() + relation_id257 := _t867 + _t868 := p.parse_abstraction() + abstraction258 := _t868 + _t869 := p.parse_functional_dependency_keys() + functional_dependency_keys259 := _t869 + _t870 := p.parse_functional_dependency_values() + functional_dependency_values260 := _t870 p.consumeLiteral(")") - _t870 := &pb.FunctionalDependency{Guard: abstraction258, Keys: functional_dependency_keys259, Values: functional_dependency_values260} - _t871 := &pb.Constraint{Name: relation_id257} - _t871.ConstraintType = &pb.Constraint_FunctionalDependency{FunctionalDependency: _t870} - return _t871 + _t871 := &pb.FunctionalDependency{Guard: abstraction258, Keys: functional_dependency_keys259, Values: functional_dependency_values260} + _t872 := &pb.Constraint{Name: relation_id257} + _t872.ConstraintType = &pb.Constraint_FunctionalDependency{FunctionalDependency: _t871} + return _t872 } func (p *Parser) parse_functional_dependency_keys() []*pb.Var { @@ -3267,8 +3267,8 @@ func (p *Parser) parse_functional_dependency_keys() []*pb.Var { xs261 := []*pb.Var{} cond262 := p.matchLookaheadTerminal("SYMBOL", 0) for cond262 { - _t872 := p.parse_var() - item263 := _t872 + _t873 := p.parse_var() + item263 := _t873 xs261 = append(xs261, item263) cond262 = p.matchLookaheadTerminal("SYMBOL", 0) } @@ -3283,8 +3283,8 @@ func (p *Parser) parse_functional_dependency_values() []*pb.Var { xs265 := []*pb.Var{} cond266 := p.matchLookaheadTerminal("SYMBOL", 0) for cond266 { - _t873 := p.parse_var() - item267 := _t873 + _t874 := p.parse_var() + item267 := _t874 xs265 = append(xs265, item267) cond266 = p.matchLookaheadTerminal("SYMBOL", 0) } @@ -3294,76 +3294,76 @@ func (p *Parser) parse_functional_dependency_values() []*pb.Var { } func (p *Parser) parse_data() *pb.Data { - var _t874 int64 + var _t875 int64 if p.matchLookaheadLiteral("(", 0) { - var _t875 int64 + var _t876 int64 if p.matchLookaheadLiteral("rel_edb", 1) { - _t875 = 0 + _t876 = 0 } else { - var _t876 int64 + var _t877 int64 if p.matchLookaheadLiteral("csv_data", 1) { - _t876 = 2 + _t877 = 2 } else { - var _t877 int64 + var _t878 int64 if p.matchLookaheadLiteral("betree_relation", 1) { - _t877 = 1 + _t878 = 1 } else { - _t877 = -1 + _t878 = -1 } - _t876 = _t877 + _t877 = _t878 } - _t875 = _t876 + _t876 = _t877 } - _t874 = _t875 + _t875 = _t876 } else { - _t874 = -1 + _t875 = -1 } - prediction269 := _t874 - var _t878 *pb.Data + prediction269 := _t875 + var _t879 *pb.Data if prediction269 == 2 { - _t879 := p.parse_csv_data() - csv_data272 := _t879 - _t880 := &pb.Data{} - _t880.DataType = &pb.Data_CsvData{CsvData: csv_data272} - _t878 = _t880 + _t880 := p.parse_csv_data() + csv_data272 := _t880 + _t881 := &pb.Data{} + _t881.DataType = &pb.Data_CsvData{CsvData: csv_data272} + _t879 = _t881 } else { - var _t881 *pb.Data + var _t882 *pb.Data if prediction269 == 1 { - _t882 := p.parse_betree_relation() - betree_relation271 := _t882 - _t883 := &pb.Data{} - _t883.DataType = &pb.Data_BetreeRelation{BetreeRelation: betree_relation271} - _t881 = _t883 + _t883 := p.parse_betree_relation() + betree_relation271 := _t883 + _t884 := &pb.Data{} + _t884.DataType = &pb.Data_BetreeRelation{BetreeRelation: betree_relation271} + _t882 = _t884 } else { - var _t884 *pb.Data + var _t885 *pb.Data if prediction269 == 0 { - _t885 := p.parse_rel_edb() - rel_edb270 := _t885 - _t886 := &pb.Data{} - _t886.DataType = &pb.Data_RelEdb{RelEdb: rel_edb270} - _t884 = _t886 + _t886 := p.parse_rel_edb() + rel_edb270 := _t886 + _t887 := &pb.Data{} + _t887.DataType = &pb.Data_RelEdb{RelEdb: rel_edb270} + _t885 = _t887 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in data", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t881 = _t884 + _t882 = _t885 } - _t878 = _t881 + _t879 = _t882 } - return _t878 + return _t879 } func (p *Parser) parse_rel_edb() *pb.RelEDB { p.consumeLiteral("(") p.consumeLiteral("rel_edb") - _t887 := p.parse_relation_id() - relation_id273 := _t887 - _t888 := p.parse_rel_edb_path() - rel_edb_path274 := _t888 - _t889 := p.parse_rel_edb_types() - rel_edb_types275 := _t889 + _t888 := p.parse_relation_id() + relation_id273 := _t888 + _t889 := p.parse_rel_edb_path() + rel_edb_path274 := _t889 + _t890 := p.parse_rel_edb_types() + rel_edb_types275 := _t890 p.consumeLiteral(")") - _t890 := &pb.RelEDB{TargetId: relation_id273, Path: rel_edb_path274, Types: rel_edb_types275} - return _t890 + _t891 := &pb.RelEDB{TargetId: relation_id273, Path: rel_edb_path274, Types: rel_edb_types275} + return _t891 } func (p *Parser) parse_rel_edb_path() []string { @@ -3385,8 +3385,8 @@ func (p *Parser) parse_rel_edb_types() []*pb.Type { xs280 := []*pb.Type{} cond281 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond281 { - _t891 := p.parse_type() - item282 := _t891 + _t892 := p.parse_type() + item282 := _t892 xs280 = append(xs280, item282) cond281 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } @@ -3398,27 +3398,27 @@ func (p *Parser) parse_rel_edb_types() []*pb.Type { func (p *Parser) parse_betree_relation() *pb.BeTreeRelation { p.consumeLiteral("(") p.consumeLiteral("betree_relation") - _t892 := p.parse_relation_id() - relation_id284 := _t892 - _t893 := p.parse_betree_info() - betree_info285 := _t893 + _t893 := p.parse_relation_id() + relation_id284 := _t893 + _t894 := p.parse_betree_info() + betree_info285 := _t894 p.consumeLiteral(")") - _t894 := &pb.BeTreeRelation{Name: relation_id284, RelationInfo: betree_info285} - return _t894 + _t895 := &pb.BeTreeRelation{Name: relation_id284, RelationInfo: betree_info285} + return _t895 } func (p *Parser) parse_betree_info() *pb.BeTreeInfo { p.consumeLiteral("(") p.consumeLiteral("betree_info") - _t895 := p.parse_betree_info_key_types() - betree_info_key_types286 := _t895 - _t896 := p.parse_betree_info_value_types() - betree_info_value_types287 := _t896 - _t897 := p.parse_config_dict() - config_dict288 := _t897 + _t896 := p.parse_betree_info_key_types() + betree_info_key_types286 := _t896 + _t897 := p.parse_betree_info_value_types() + betree_info_value_types287 := _t897 + _t898 := p.parse_config_dict() + config_dict288 := _t898 p.consumeLiteral(")") - _t898 := p.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) - return _t898 + _t899 := p.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) + return _t899 } func (p *Parser) parse_betree_info_key_types() []*pb.Type { @@ -3427,8 +3427,8 @@ func (p *Parser) parse_betree_info_key_types() []*pb.Type { xs289 := []*pb.Type{} cond290 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond290 { - _t899 := p.parse_type() - item291 := _t899 + _t900 := p.parse_type() + item291 := _t900 xs289 = append(xs289, item291) cond290 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } @@ -3443,8 +3443,8 @@ func (p *Parser) parse_betree_info_value_types() []*pb.Type { xs293 := []*pb.Type{} cond294 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond294 { - _t900 := p.parse_type() - item295 := _t900 + _t901 := p.parse_type() + item295 := _t901 xs293 = append(xs293, item295) cond294 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } @@ -3456,41 +3456,41 @@ func (p *Parser) parse_betree_info_value_types() []*pb.Type { func (p *Parser) parse_csv_data() *pb.CSVData { p.consumeLiteral("(") p.consumeLiteral("csv_data") - _t901 := p.parse_csvlocator() - csvlocator297 := _t901 - _t902 := p.parse_csv_config() - csv_config298 := _t902 - _t903 := p.parse_csv_columns() - csv_columns299 := _t903 - _t904 := p.parse_csv_asof() - csv_asof300 := _t904 + _t902 := p.parse_csvlocator() + csvlocator297 := _t902 + _t903 := p.parse_csv_config() + csv_config298 := _t903 + _t904 := p.parse_csv_columns() + csv_columns299 := _t904 + _t905 := p.parse_csv_asof() + csv_asof300 := _t905 p.consumeLiteral(")") - _t905 := &pb.CSVData{Locator: csvlocator297, Config: csv_config298, Columns: csv_columns299, Asof: csv_asof300} - return _t905 + _t906 := &pb.CSVData{Locator: csvlocator297, Config: csv_config298, Columns: csv_columns299, Asof: csv_asof300} + return _t906 } func (p *Parser) parse_csvlocator() *pb.CSVLocator { p.consumeLiteral("(") p.consumeLiteral("csv_locator") - var _t906 []string + var _t907 []string if (p.matchLookaheadLiteral("(", 0) && p.matchLookaheadLiteral("paths", 1)) { - _t907 := p.parse_csv_locator_paths() - _t906 = _t907 + _t908 := p.parse_csv_locator_paths() + _t907 = _t908 } - csv_locator_paths301 := _t906 - var _t908 *string + csv_locator_paths301 := _t907 + var _t909 *string if p.matchLookaheadLiteral("(", 0) { - _t909 := p.parse_csv_locator_inline_data() - _t908 = ptr(_t909) + _t910 := p.parse_csv_locator_inline_data() + _t909 = ptr(_t910) } - csv_locator_inline_data302 := _t908 + csv_locator_inline_data302 := _t909 p.consumeLiteral(")") - _t910 := csv_locator_paths301 + _t911 := csv_locator_paths301 if csv_locator_paths301 == nil { - _t910 = []string{} + _t911 = []string{} } - _t911 := &pb.CSVLocator{Paths: _t910, InlineData: []byte(deref(csv_locator_inline_data302, ""))} - return _t911 + _t912 := &pb.CSVLocator{Paths: _t911, InlineData: []byte(deref(csv_locator_inline_data302, ""))} + return _t912 } func (p *Parser) parse_csv_locator_paths() []string { @@ -3519,11 +3519,11 @@ func (p *Parser) parse_csv_locator_inline_data() string { func (p *Parser) parse_csv_config() *pb.CSVConfig { p.consumeLiteral("(") p.consumeLiteral("csv_config") - _t912 := p.parse_config_dict() - config_dict308 := _t912 + _t913 := p.parse_config_dict() + config_dict308 := _t913 p.consumeLiteral(")") - _t913 := p.construct_csv_config(config_dict308) - return _t913 + _t914 := p.construct_csv_config(config_dict308) + return _t914 } func (p *Parser) parse_csv_columns() []*pb.CSVColumn { @@ -3532,8 +3532,8 @@ func (p *Parser) parse_csv_columns() []*pb.CSVColumn { xs309 := []*pb.CSVColumn{} cond310 := p.matchLookaheadLiteral("(", 0) for cond310 { - _t914 := p.parse_csv_column() - item311 := _t914 + _t915 := p.parse_csv_column() + item311 := _t915 xs309 = append(xs309, item311) cond310 = p.matchLookaheadLiteral("(", 0) } @@ -3546,22 +3546,22 @@ func (p *Parser) parse_csv_column() *pb.CSVColumn { p.consumeLiteral("(") p.consumeLiteral("column") string313 := p.consumeTerminal("STRING").Value.AsString() - _t915 := p.parse_relation_id() - relation_id314 := _t915 + _t916 := p.parse_relation_id() + relation_id314 := _t916 p.consumeLiteral("[") xs315 := []*pb.Type{} cond316 := ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) for cond316 { - _t916 := p.parse_type() - item317 := _t916 + _t917 := p.parse_type() + item317 := _t917 xs315 = append(xs315, item317) cond316 = ((((((((((p.matchLookaheadLiteral("(", 0) || p.matchLookaheadLiteral("BOOLEAN", 0)) || p.matchLookaheadLiteral("DATE", 0)) || p.matchLookaheadLiteral("DATETIME", 0)) || p.matchLookaheadLiteral("FLOAT", 0)) || p.matchLookaheadLiteral("INT", 0)) || p.matchLookaheadLiteral("INT128", 0)) || p.matchLookaheadLiteral("MISSING", 0)) || p.matchLookaheadLiteral("STRING", 0)) || p.matchLookaheadLiteral("UINT128", 0)) || p.matchLookaheadLiteral("UNKNOWN", 0)) } types318 := xs315 p.consumeLiteral("]") p.consumeLiteral(")") - _t917 := &pb.CSVColumn{ColumnName: string313, TargetId: relation_id314, Types: types318} - return _t917 + _t918 := &pb.CSVColumn{ColumnName: string313, TargetId: relation_id314, Types: types318} + return _t918 } func (p *Parser) parse_csv_asof() string { @@ -3575,11 +3575,11 @@ func (p *Parser) parse_csv_asof() string { func (p *Parser) parse_undefine() *pb.Undefine { p.consumeLiteral("(") p.consumeLiteral("undefine") - _t918 := p.parse_fragment_id() - fragment_id320 := _t918 + _t919 := p.parse_fragment_id() + fragment_id320 := _t919 p.consumeLiteral(")") - _t919 := &pb.Undefine{FragmentId: fragment_id320} - return _t919 + _t920 := &pb.Undefine{FragmentId: fragment_id320} + return _t920 } func (p *Parser) parse_context() *pb.Context { @@ -3588,15 +3588,15 @@ func (p *Parser) parse_context() *pb.Context { xs321 := []*pb.RelationId{} cond322 := (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) for cond322 { - _t920 := p.parse_relation_id() - item323 := _t920 + _t921 := p.parse_relation_id() + item323 := _t921 xs321 = append(xs321, item323) cond322 = (p.matchLookaheadLiteral(":", 0) || p.matchLookaheadTerminal("UINT128", 0)) } relation_ids324 := xs321 p.consumeLiteral(")") - _t921 := &pb.Context{Relations: relation_ids324} - return _t921 + _t922 := &pb.Context{Relations: relation_ids324} + return _t922 } func (p *Parser) parse_epoch_reads() []*pb.Read { @@ -3605,8 +3605,8 @@ func (p *Parser) parse_epoch_reads() []*pb.Read { xs325 := []*pb.Read{} cond326 := p.matchLookaheadLiteral("(", 0) for cond326 { - _t922 := p.parse_read() - item327 := _t922 + _t923 := p.parse_read() + item327 := _t923 xs325 = append(xs325, item327) cond326 = p.matchLookaheadLiteral("(", 0) } @@ -3616,296 +3616,302 @@ func (p *Parser) parse_epoch_reads() []*pb.Read { } func (p *Parser) parse_read() *pb.Read { - var _t923 int64 + var _t924 int64 if p.matchLookaheadLiteral("(", 0) { - var _t924 int64 + var _t925 int64 if p.matchLookaheadLiteral("what_if", 1) { - _t924 = 2 + _t925 = 2 } else { - var _t925 int64 + var _t926 int64 if p.matchLookaheadLiteral("output", 1) { - _t925 = 1 + _t926 = 1 } else { - var _t926 int64 + var _t927 int64 if p.matchLookaheadLiteral("export", 1) { - _t926 = 4 + _t927 = 4 } else { - var _t927 int64 + var _t928 int64 if p.matchLookaheadLiteral("demand", 1) { - _t927 = 0 + _t928 = 0 } else { - var _t928 int64 + var _t929 int64 if p.matchLookaheadLiteral("abort", 1) { - _t928 = 3 + _t929 = 3 } else { - _t928 = -1 + _t929 = -1 } - _t927 = _t928 + _t928 = _t929 } - _t926 = _t927 + _t927 = _t928 } - _t925 = _t926 + _t926 = _t927 } - _t924 = _t925 + _t925 = _t926 } - _t923 = _t924 + _t924 = _t925 } else { - _t923 = -1 + _t924 = -1 } - prediction329 := _t923 - var _t929 *pb.Read + prediction329 := _t924 + var _t930 *pb.Read if prediction329 == 4 { - _t930 := p.parse_export() - export334 := _t930 - _t931 := &pb.Read{} - _t931.ReadType = &pb.Read_Export{Export: export334} - _t929 = _t931 + _t931 := p.parse_export() + export334 := _t931 + _t932 := &pb.Read{} + _t932.ReadType = &pb.Read_Export{Export: export334} + _t930 = _t932 } else { - var _t932 *pb.Read + var _t933 *pb.Read if prediction329 == 3 { - _t933 := p.parse_abort() - abort333 := _t933 - _t934 := &pb.Read{} - _t934.ReadType = &pb.Read_Abort{Abort: abort333} - _t932 = _t934 + _t934 := p.parse_abort() + abort333 := _t934 + _t935 := &pb.Read{} + _t935.ReadType = &pb.Read_Abort{Abort: abort333} + _t933 = _t935 } else { - var _t935 *pb.Read + var _t936 *pb.Read if prediction329 == 2 { - _t936 := p.parse_what_if() - what_if332 := _t936 - _t937 := &pb.Read{} - _t937.ReadType = &pb.Read_WhatIf{WhatIf: what_if332} - _t935 = _t937 + _t937 := p.parse_what_if() + what_if332 := _t937 + _t938 := &pb.Read{} + _t938.ReadType = &pb.Read_WhatIf{WhatIf: what_if332} + _t936 = _t938 } else { - var _t938 *pb.Read + var _t939 *pb.Read if prediction329 == 1 { - _t939 := p.parse_output() - output331 := _t939 - _t940 := &pb.Read{} - _t940.ReadType = &pb.Read_Output{Output: output331} - _t938 = _t940 + _t940 := p.parse_output() + output331 := _t940 + _t941 := &pb.Read{} + _t941.ReadType = &pb.Read_Output{Output: output331} + _t939 = _t941 } else { - var _t941 *pb.Read + var _t942 *pb.Read if prediction329 == 0 { - _t942 := p.parse_demand() - demand330 := _t942 - _t943 := &pb.Read{} - _t943.ReadType = &pb.Read_Demand{Demand: demand330} - _t941 = _t943 + _t943 := p.parse_demand() + demand330 := _t943 + _t944 := &pb.Read{} + _t944.ReadType = &pb.Read_Demand{Demand: demand330} + _t942 = _t944 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in read", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t938 = _t941 + _t939 = _t942 } - _t935 = _t938 + _t936 = _t939 } - _t932 = _t935 + _t933 = _t936 } - _t929 = _t932 + _t930 = _t933 } - return _t929 + return _t930 } func (p *Parser) parse_demand() *pb.Demand { p.consumeLiteral("(") p.consumeLiteral("demand") - _t944 := p.parse_relation_id() - relation_id335 := _t944 + _t945 := p.parse_relation_id() + relation_id335 := _t945 p.consumeLiteral(")") - _t945 := &pb.Demand{RelationId: relation_id335} - return _t945 + _t946 := &pb.Demand{RelationId: relation_id335} + return _t946 } func (p *Parser) parse_output() *pb.Output { p.consumeLiteral("(") p.consumeLiteral("output") - _t946 := p.parse_name() - name336 := _t946 - _t947 := p.parse_relation_id() - relation_id337 := _t947 + _t947 := p.parse_name() + name336 := _t947 + _t948 := p.parse_relation_id() + relation_id337 := _t948 p.consumeLiteral(")") - _t948 := &pb.Output{Name: name336, RelationId: relation_id337} - return _t948 + _t949 := &pb.Output{Name: name336, RelationId: relation_id337} + return _t949 } func (p *Parser) parse_what_if() *pb.WhatIf { p.consumeLiteral("(") p.consumeLiteral("what_if") - _t949 := p.parse_name() - name338 := _t949 - _t950 := p.parse_epoch() - epoch339 := _t950 + _t950 := p.parse_name() + name338 := _t950 + _t951 := p.parse_epoch() + epoch339 := _t951 p.consumeLiteral(")") - _t951 := &pb.WhatIf{Branch: name338, Epoch: epoch339} - return _t951 + _t952 := &pb.WhatIf{Branch: name338, Epoch: epoch339} + return _t952 } func (p *Parser) parse_abort() *pb.Abort { p.consumeLiteral("(") p.consumeLiteral("abort") - var _t952 *string + var _t953 *string if (p.matchLookaheadLiteral(":", 0) && p.matchLookaheadTerminal("SYMBOL", 1)) { - _t953 := p.parse_name() - _t952 = ptr(_t953) + _t954 := p.parse_name() + _t953 = ptr(_t954) } - name340 := _t952 - _t954 := p.parse_relation_id() - relation_id341 := _t954 + name340 := _t953 + _t955 := p.parse_relation_id() + relation_id341 := _t955 p.consumeLiteral(")") - _t955 := &pb.Abort{Name: deref(name340, "abort"), RelationId: relation_id341} - return _t955 + _t956 := &pb.Abort{Name: deref(name340, "abort"), RelationId: relation_id341} + return _t956 } func (p *Parser) parse_export() *pb.Export { p.consumeLiteral("(") p.consumeLiteral("export") - _t956 := p.parse_export_csv_config() - export_csv_config342 := _t956 + _t957 := p.parse_export_csv_config() + export_csv_config342 := _t957 p.consumeLiteral(")") - _t957 := &pb.Export{} - _t957.ExportConfig = &pb.Export_CsvConfig{CsvConfig: export_csv_config342} - return _t957 + _t958 := &pb.Export{} + _t958.ExportConfig = &pb.Export_CsvConfig{CsvConfig: export_csv_config342} + return _t958 } func (p *Parser) parse_export_csv_config() *pb.ExportCSVConfig { - var _t958 int64 + var _t959 int64 if p.matchLookaheadLiteral("(", 0) { - var _t959 int64 + var _t960 int64 if p.matchLookaheadLiteral("export_csv_config_v2", 1) { - _t959 = 0 + _t960 = 0 } else { - var _t960 int64 + var _t961 int64 if p.matchLookaheadLiteral("export_csv_config", 1) { - _t960 = 1 + _t961 = 1 } else { - _t960 = -1 + _t961 = -1 } - _t959 = _t960 + _t960 = _t961 } - _t958 = _t959 + _t959 = _t960 } else { - _t958 = -1 + _t959 = -1 } - prediction343 := _t958 - var _t961 *pb.ExportCSVConfig + prediction343 := _t959 + var _t962 *pb.ExportCSVConfig if prediction343 == 1 { p.consumeLiteral("(") p.consumeLiteral("export_csv_config") - _t962 := p.parse_export_csv_path() - export_csv_path347 := _t962 - p.consumeLiteral("(") - p.consumeLiteral("columns") - xs348 := []*pb.ExportCSVColumn{} - cond349 := p.matchLookaheadLiteral("(", 0) - for cond349 { - _t963 := p.parse_export_csv_column() - item350 := _t963 - xs348 = append(xs348, item350) - cond349 = p.matchLookaheadLiteral("(", 0) - } - export_csv_columns351 := xs348 - p.consumeLiteral(")") - _t964 := p.parse_config_dict() - config_dict352 := _t964 + _t963 := p.parse_export_csv_path() + export_csv_path347 := _t963 + _t964 := p.parse_export_csv_columns() + export_csv_columns348 := _t964 + _t965 := p.parse_config_dict() + config_dict349 := _t965 p.consumeLiteral(")") - _t965 := p.construct_export_csv_config(export_csv_path347, export_csv_columns351, config_dict352) - _t961 = _t965 + _t966 := p.construct_export_csv_config(export_csv_path347, export_csv_columns348, config_dict349) + _t962 = _t966 } else { - var _t966 *pb.ExportCSVConfig + var _t967 *pb.ExportCSVConfig if prediction343 == 0 { p.consumeLiteral("(") p.consumeLiteral("export_csv_config_v2") - _t967 := p.parse_export_csv_path() - export_csv_path344 := _t967 - _t968 := p.parse_export_csv_source() - export_csv_source345 := _t968 - _t969 := p.parse_csv_config() - csv_config346 := _t969 + _t968 := p.parse_export_csv_path() + export_csv_path344 := _t968 + _t969 := p.parse_export_csv_source() + export_csv_source345 := _t969 + _t970 := p.parse_csv_config() + csv_config346 := _t970 p.consumeLiteral(")") - _t970 := p.construct_export_csv_config_with_source(export_csv_path344, export_csv_source345, csv_config346) - _t966 = _t970 + _t971 := p.construct_export_csv_config_with_source(export_csv_path344, export_csv_source345, csv_config346) + _t967 = _t971 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in export_csv_config", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t961 = _t966 + _t962 = _t967 } - return _t961 + return _t962 } func (p *Parser) parse_export_csv_path() string { p.consumeLiteral("(") p.consumeLiteral("path") - string353 := p.consumeTerminal("STRING").Value.AsString() + string350 := p.consumeTerminal("STRING").Value.AsString() p.consumeLiteral(")") - return string353 + return string350 } func (p *Parser) parse_export_csv_source() *pb.ExportCSVSource { - var _t971 int64 + var _t972 int64 if p.matchLookaheadLiteral("(", 0) { - var _t972 int64 + var _t973 int64 if p.matchLookaheadLiteral("table_def", 1) { - _t972 = 1 + _t973 = 1 } else { - var _t973 int64 + var _t974 int64 if p.matchLookaheadLiteral("gnf_columns", 1) { - _t973 = 0 + _t974 = 0 } else { - _t973 = -1 + _t974 = -1 } - _t972 = _t973 + _t973 = _t974 } - _t971 = _t972 + _t972 = _t973 } else { - _t971 = -1 + _t972 = -1 } - prediction354 := _t971 - var _t974 *pb.ExportCSVSource - if prediction354 == 1 { + prediction351 := _t972 + var _t975 *pb.ExportCSVSource + if prediction351 == 1 { p.consumeLiteral("(") p.consumeLiteral("table_def") - _t975 := p.parse_relation_id() - relation_id359 := _t975 + _t976 := p.parse_relation_id() + relation_id356 := _t976 p.consumeLiteral(")") - _t976 := &pb.ExportCSVSource{} - _t976.CsvSource = &pb.ExportCSVSource_TableDef{TableDef: relation_id359} - _t974 = _t976 + _t977 := &pb.ExportCSVSource{} + _t977.CsvSource = &pb.ExportCSVSource_TableDef{TableDef: relation_id356} + _t975 = _t977 } else { - var _t977 *pb.ExportCSVSource - if prediction354 == 0 { + var _t978 *pb.ExportCSVSource + if prediction351 == 0 { p.consumeLiteral("(") p.consumeLiteral("gnf_columns") - xs355 := []*pb.ExportCSVColumn{} - cond356 := p.matchLookaheadLiteral("(", 0) - for cond356 { - _t978 := p.parse_export_csv_column() - item357 := _t978 - xs355 = append(xs355, item357) - cond356 = p.matchLookaheadLiteral("(", 0) + xs352 := []*pb.ExportCSVColumn{} + cond353 := p.matchLookaheadLiteral("(", 0) + for cond353 { + _t979 := p.parse_export_csv_column() + item354 := _t979 + xs352 = append(xs352, item354) + cond353 = p.matchLookaheadLiteral("(", 0) } - export_csv_columns358 := xs355 + export_csv_columns355 := xs352 p.consumeLiteral(")") - _t979 := &pb.ExportCSVColumns{Columns: export_csv_columns358} - _t980 := &pb.ExportCSVSource{} - _t980.CsvSource = &pb.ExportCSVSource_GnfColumns{GnfColumns: _t979} - _t977 = _t980 + _t980 := &pb.ExportCSVColumns{Columns: export_csv_columns355} + _t981 := &pb.ExportCSVSource{} + _t981.CsvSource = &pb.ExportCSVSource_GnfColumns{GnfColumns: _t980} + _t978 = _t981 } else { panic(ParseError{msg: fmt.Sprintf("%s: %s=`%v`", "Unexpected token in export_csv_source", p.lookahead(0).Type, p.lookahead(0).Value)}) } - _t974 = _t977 + _t975 = _t978 } - return _t974 + return _t975 } func (p *Parser) parse_export_csv_column() *pb.ExportCSVColumn { p.consumeLiteral("(") p.consumeLiteral("column") - string360 := p.consumeTerminal("STRING").Value.AsString() - _t981 := p.parse_relation_id() - relation_id361 := _t981 + string357 := p.consumeTerminal("STRING").Value.AsString() + _t982 := p.parse_relation_id() + relation_id358 := _t982 + p.consumeLiteral(")") + _t983 := &pb.ExportCSVColumn{ColumnName: string357, ColumnData: relation_id358} + return _t983 +} + +func (p *Parser) parse_export_csv_columns() []*pb.ExportCSVColumn { + p.consumeLiteral("(") + p.consumeLiteral("columns") + xs359 := []*pb.ExportCSVColumn{} + cond360 := p.matchLookaheadLiteral("(", 0) + for cond360 { + _t984 := p.parse_export_csv_column() + item361 := _t984 + xs359 = append(xs359, item361) + cond360 = p.matchLookaheadLiteral("(", 0) + } + export_csv_columns362 := xs359 p.consumeLiteral(")") - _t982 := &pb.ExportCSVColumn{ColumnName: string360, ColumnData: relation_id361} - return _t982 + return export_csv_columns362 } diff --git a/sdks/julia/LogicalQueryProtocol/src/parser.jl b/sdks/julia/LogicalQueryProtocol/src/parser.jl index 2914fb25..9ff89d95 100644 --- a/sdks/julia/LogicalQueryProtocol/src/parser.jl +++ b/sdks/julia/LogicalQueryProtocol/src/parser.jl @@ -325,50 +325,31 @@ end # --- Helper functions --- -function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.Configure - config = Dict(config_dict) - maintenance_level_val = get(config, "ivm.maintenance_level", nothing) - maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - if (!isnothing(maintenance_level_val) && _has_proto_field(maintenance_level_val, Symbol("string_value"))) - if _get_oneof_field(maintenance_level_val, :string_value) == "off" - maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - else - if _get_oneof_field(maintenance_level_val, :string_value) == "auto" - maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO - else - if _get_oneof_field(maintenance_level_val, :string_value) == "all" - maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_ALL - else - maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - end - end - end +function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool + if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) + return _get_oneof_field(value, :boolean_value) end - _t972 = Proto.IVMConfig(level=maintenance_level) - ivm_config = _t972 - _t973 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) - semantics_version = _t973 - _t974 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t974 -end - -function default_configure(parser::Parser)::Proto.Configure - _t975 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t975 - _t976 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) - return _t976 -end - -function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Proto.ExportCSVSource, csv_config::Proto.CSVConfig)::Proto.ExportCSVConfig - _t977 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) - return _t977 + return default end -function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return _get_oneof_field(value, :string_value) - end - return default +function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig + config = Dict(config_dict) + _t974 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) + partition_size = _t974 + _t975 = _extract_value_string(parser, get(config, "compression", nothing), "") + compression = _t975 + _t976 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) + syntax_header_row = _t976 + _t977 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") + syntax_missing_string = _t977 + _t978 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") + syntax_delim = _t978 + _t979 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") + syntax_quotechar = _t979 + _t980 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") + syntax_escapechar = _t980 + _t981 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t981 end function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int64 @@ -378,18 +359,11 @@ function _extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value} return default end -function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int32 - if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return Int32(_get_oneof_field(value, :int_value)) - end - return Int32(default) -end - -function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} - if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) - return _get_oneof_field(value, :int_value) +function _extract_value_string(parser::Parser, value::Union{Nothing, Proto.Value}, default::String)::String + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return _get_oneof_field(value, :string_value) end - return nothing + return default end function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Vector{UInt8}} @@ -399,38 +373,71 @@ function _try_extract_value_bytes(parser::Parser, value::Union{Nothing, Proto.Va return nothing end -function _extract_value_boolean(parser::Parser, value::Union{Nothing, Proto.Value}, default::Bool)::Bool - if (!isnothing(value) && _has_proto_field(value, Symbol("boolean_value"))) - return _get_oneof_field(value, :boolean_value) - end - return default +function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo + config = Dict(config_dict) + _t982 = _try_extract_value_float64(parser, get(config, "betree_config_epsilon", nothing)) + epsilon = _t982 + _t983 = _try_extract_value_int64(parser, get(config, "betree_config_max_pivots", nothing)) + max_pivots = _t983 + _t984 = _try_extract_value_int64(parser, get(config, "betree_config_max_deltas", nothing)) + max_deltas = _t984 + _t985 = _try_extract_value_int64(parser, get(config, "betree_config_max_leaf", nothing)) + max_leaf = _t985 + _t986 = Proto.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t986 + _t987 = _try_extract_value_uint128(parser, get(config, "betree_locator_root_pageid", nothing)) + root_pageid = _t987 + _t988 = _try_extract_value_bytes(parser, get(config, "betree_locator_inline_data", nothing)) + inline_data = _t988 + _t989 = _try_extract_value_int64(parser, get(config, "betree_locator_element_count", nothing)) + element_count = _t989 + _t990 = _try_extract_value_int64(parser, get(config, "betree_locator_tree_height", nothing)) + tree_height = _t990 + _t991 = Proto.BeTreeLocator(location=(!isnothing(root_pageid) ? OneOf(:root_pageid, root_pageid) : (!isnothing(inline_data) ? OneOf(:inline_data, inline_data) : nothing)), element_count=element_count, tree_height=tree_height) + relation_locator = _t991 + _t992 = Proto.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) + return _t992 end -function construct_export_csv_config(parser::Parser, path::String, columns::Vector{Proto.ExportCSVColumn}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.ExportCSVConfig - config = Dict(config_dict) - _t978 = _extract_value_int64(parser, get(config, "partition_size", nothing), 0) - partition_size = _t978 - _t979 = _extract_value_string(parser, get(config, "compression", nothing), "") - compression = _t979 - _t980 = _extract_value_boolean(parser, get(config, "syntax_header_row", nothing), true) - syntax_header_row = _t980 - _t981 = _extract_value_string(parser, get(config, "syntax_missing_string", nothing), "") - syntax_missing_string = _t981 - _t982 = _extract_value_string(parser, get(config, "syntax_delim", nothing), ",") - syntax_delim = _t982 - _t983 = _extract_value_string(parser, get(config, "syntax_quotechar", nothing), "\"") - syntax_quotechar = _t983 - _t984 = _extract_value_string(parser, get(config, "syntax_escapechar", nothing), "\\") - syntax_escapechar = _t984 - _t985 = Proto.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t985 +function default_configure(parser::Parser)::Proto.Configure + _t993 = Proto.IVMConfig(level=Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t993 + _t994 = Proto.Configure(semantics_version=0, ivm_config=ivm_config) + return _t994 end -function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} - if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) - return String[_get_oneof_field(value, :string_value)] +function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} + if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) + return _get_oneof_field(value, :float_value) end - return default + return nothing +end + +function construct_configure(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.Configure + config = Dict(config_dict) + maintenance_level_val = get(config, "ivm.maintenance_level", nothing) + maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF + if (!isnothing(maintenance_level_val) && _has_proto_field(maintenance_level_val, Symbol("string_value"))) + if _get_oneof_field(maintenance_level_val, :string_value) == "off" + maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF + else + if _get_oneof_field(maintenance_level_val, :string_value) == "auto" + maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO + else + if _get_oneof_field(maintenance_level_val, :string_value) == "all" + maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_ALL + else + maintenance_level = Proto.MaintenanceLevel.MAINTENANCE_LEVEL_OFF + end + end + end + end + _t995 = Proto.IVMConfig(level=maintenance_level) + ivm_config = _t995 + _t996 = _extract_value_int64(parser, get(config, "semantics_version", nothing), 0) + semantics_version = _t996 + _t997 = Proto.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t997 end function _try_extract_value_uint128(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Proto.UInt128Value} @@ -442,65 +449,58 @@ end function construct_csv_config(parser::Parser, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.CSVConfig config = Dict(config_dict) - _t986 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) - header_row = _t986 - _t987 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) - skip = _t987 - _t988 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") - new_line = _t988 - _t989 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") - delimiter = _t989 - _t990 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") - quotechar = _t990 - _t991 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") - escapechar = _t991 - _t992 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") - comment = _t992 - _t993 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) - missing_strings = _t993 - _t994 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") - decimal_separator = _t994 - _t995 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") - encoding = _t995 - _t996 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") - compression = _t996 - _t997 = _extract_value_int64(parser, get(config, "csv_partition_size_mb", nothing), 0) - partition_size = _t997 - _t998 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) - return _t998 + _t998 = _extract_value_int32(parser, get(config, "csv_header_row", nothing), 1) + header_row = _t998 + _t999 = _extract_value_int64(parser, get(config, "csv_skip", nothing), 0) + skip = _t999 + _t1000 = _extract_value_string(parser, get(config, "csv_new_line", nothing), "") + new_line = _t1000 + _t1001 = _extract_value_string(parser, get(config, "csv_delimiter", nothing), ",") + delimiter = _t1001 + _t1002 = _extract_value_string(parser, get(config, "csv_quotechar", nothing), "\"") + quotechar = _t1002 + _t1003 = _extract_value_string(parser, get(config, "csv_escapechar", nothing), "\"") + escapechar = _t1003 + _t1004 = _extract_value_string(parser, get(config, "csv_comment", nothing), "") + comment = _t1004 + _t1005 = _extract_value_string_list(parser, get(config, "csv_missing_strings", nothing), String[]) + missing_strings = _t1005 + _t1006 = _extract_value_string(parser, get(config, "csv_decimal_separator", nothing), ".") + decimal_separator = _t1006 + _t1007 = _extract_value_string(parser, get(config, "csv_encoding", nothing), "utf-8") + encoding = _t1007 + _t1008 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") + compression = _t1008 + _t1009 = _extract_value_int64(parser, get(config, "csv_partition_size_mb", nothing), 0) + partition_size = _t1009 + _t1010 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + return _t1010 end -function _try_extract_value_float64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Float64} - if (!isnothing(value) && _has_proto_field(value, Symbol("float_value"))) - return _get_oneof_field(value, :float_value) +function _try_extract_value_int64(parser::Parser, value::Union{Nothing, Proto.Value})::Union{Nothing, Int64} + if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) + return _get_oneof_field(value, :int_value) end return nothing end -function construct_betree_info(parser::Parser, key_types::Vector{Proto.var"#Type"}, value_types::Vector{Proto.var"#Type"}, config_dict::Vector{Tuple{String, Proto.Value}})::Proto.BeTreeInfo - config = Dict(config_dict) - _t999 = _try_extract_value_float64(parser, get(config, "betree_config_epsilon", nothing)) - epsilon = _t999 - _t1000 = _try_extract_value_int64(parser, get(config, "betree_config_max_pivots", nothing)) - max_pivots = _t1000 - _t1001 = _try_extract_value_int64(parser, get(config, "betree_config_max_deltas", nothing)) - max_deltas = _t1001 - _t1002 = _try_extract_value_int64(parser, get(config, "betree_config_max_leaf", nothing)) - max_leaf = _t1002 - _t1003 = Proto.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t1003 - _t1004 = _try_extract_value_uint128(parser, get(config, "betree_locator_root_pageid", nothing)) - root_pageid = _t1004 - _t1005 = _try_extract_value_bytes(parser, get(config, "betree_locator_inline_data", nothing)) - inline_data = _t1005 - _t1006 = _try_extract_value_int64(parser, get(config, "betree_locator_element_count", nothing)) - element_count = _t1006 - _t1007 = _try_extract_value_int64(parser, get(config, "betree_locator_tree_height", nothing)) - tree_height = _t1007 - _t1008 = Proto.BeTreeLocator(location=(!isnothing(root_pageid) ? OneOf(:root_pageid, root_pageid) : (!isnothing(inline_data) ? OneOf(:inline_data, inline_data) : nothing)), element_count=element_count, tree_height=tree_height) - relation_locator = _t1008 - _t1009 = Proto.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t1009 +function _extract_value_int32(parser::Parser, value::Union{Nothing, Proto.Value}, default::Int64)::Int32 + if (!isnothing(value) && _has_proto_field(value, Symbol("int_value"))) + return Int32(_get_oneof_field(value, :int_value)) + end + return Int32(default) +end + +function construct_export_csv_config_with_source(parser::Parser, path::String, csv_source::Proto.ExportCSVSource, csv_config::Proto.CSVConfig)::Proto.ExportCSVConfig + _t1011 = Proto.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t1011 +end + +function _extract_value_string_list(parser::Parser, value::Union{Nothing, Proto.Value}, default::Vector{String})::Vector{String} + if (!isnothing(value) && _has_proto_field(value, Symbol("string_value"))) + return String[_get_oneof_field(value, :string_value)] + end + return default end # --- Parse functions --- @@ -510,43 +510,43 @@ function parse_transaction(parser::Parser)::Proto.Transaction consume_literal!(parser, "transaction") if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "configure", 1)) - _t363 = parse_configure(parser) - _t362 = _t363 + _t364 = parse_configure(parser) + _t363 = _t364 else - _t362 = nothing + _t363 = nothing end - configure0 = _t362 + configure0 = _t363 if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "sync", 1)) - _t365 = parse_sync(parser) - _t364 = _t365 + _t366 = parse_sync(parser) + _t365 = _t366 else - _t364 = nothing + _t365 = nothing end - sync1 = _t364 + sync1 = _t365 xs2 = Proto.Epoch[] cond3 = match_lookahead_literal(parser, "(", 0) while cond3 - _t366 = parse_epoch(parser) - item4 = _t366 + _t367 = parse_epoch(parser) + item4 = _t367 push!(xs2, item4) cond3 = match_lookahead_literal(parser, "(", 0) end epochs5 = xs2 consume_literal!(parser, ")") - _t367 = default_configure(parser) - _t368 = Proto.Transaction(epochs=epochs5, configure=(!isnothing(configure0) ? configure0 : _t367), sync=sync1) - return _t368 + _t368 = default_configure(parser) + _t369 = Proto.Transaction(epochs=epochs5, configure=(!isnothing(configure0) ? configure0 : _t368), sync=sync1) + return _t369 end function parse_configure(parser::Parser)::Proto.Configure consume_literal!(parser, "(") consume_literal!(parser, "configure") - _t369 = parse_config_dict(parser) - config_dict6 = _t369 + _t370 = parse_config_dict(parser) + config_dict6 = _t370 consume_literal!(parser, ")") - _t370 = construct_configure(parser, config_dict6) - return _t370 + _t371 = construct_configure(parser, config_dict6) + return _t371 end function parse_config_dict(parser::Parser)::Vector{Tuple{String, Proto.Value}} @@ -554,8 +554,8 @@ function parse_config_dict(parser::Parser)::Vector{Tuple{String, Proto.Value}} xs7 = Tuple{String, Proto.Value}[] cond8 = match_lookahead_literal(parser, ":", 0) while cond8 - _t371 = parse_config_key_value(parser) - item9 = _t371 + _t372 = parse_config_key_value(parser) + item9 = _t372 push!(xs7, item9) cond8 = match_lookahead_literal(parser, ":", 0) end @@ -567,170 +567,170 @@ end function parse_config_key_value(parser::Parser)::Tuple{String, Proto.Value} consume_literal!(parser, ":") symbol11 = consume_terminal!(parser, "SYMBOL") - _t372 = parse_value(parser) - value12 = _t372 + _t373 = parse_value(parser) + value12 = _t373 return (symbol11, value12,) end function parse_value(parser::Parser)::Proto.Value if match_lookahead_literal(parser, "true", 0) - _t373 = 9 + _t374 = 9 else if match_lookahead_literal(parser, "missing", 0) - _t374 = 8 + _t375 = 8 else if match_lookahead_literal(parser, "false", 0) - _t375 = 9 + _t376 = 9 else if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "datetime", 1) - _t377 = 1 + _t378 = 1 else if match_lookahead_literal(parser, "date", 1) - _t378 = 0 + _t379 = 0 else - _t378 = -1 + _t379 = -1 end - _t377 = _t378 + _t378 = _t379 end - _t376 = _t377 + _t377 = _t378 else if match_lookahead_terminal(parser, "UINT128", 0) - _t379 = 5 + _t380 = 5 else if match_lookahead_terminal(parser, "STRING", 0) - _t380 = 2 + _t381 = 2 else if match_lookahead_terminal(parser, "INT128", 0) - _t381 = 6 + _t382 = 6 else if match_lookahead_terminal(parser, "INT", 0) - _t382 = 3 + _t383 = 3 else if match_lookahead_terminal(parser, "FLOAT", 0) - _t383 = 4 + _t384 = 4 else if match_lookahead_terminal(parser, "DECIMAL", 0) - _t384 = 7 + _t385 = 7 else - _t384 = -1 + _t385 = -1 end - _t383 = _t384 + _t384 = _t385 end - _t382 = _t383 + _t383 = _t384 end - _t381 = _t382 + _t382 = _t383 end - _t380 = _t381 + _t381 = _t382 end - _t379 = _t380 + _t380 = _t381 end - _t376 = _t379 + _t377 = _t380 end - _t375 = _t376 + _t376 = _t377 end - _t374 = _t375 + _t375 = _t376 end - _t373 = _t374 + _t374 = _t375 end - prediction13 = _t373 + prediction13 = _t374 if prediction13 == 9 - _t386 = parse_boolean_value(parser) - boolean_value22 = _t386 - _t387 = Proto.Value(value=OneOf(:boolean_value, boolean_value22)) - _t385 = _t387 + _t387 = parse_boolean_value(parser) + boolean_value22 = _t387 + _t388 = Proto.Value(value=OneOf(:boolean_value, boolean_value22)) + _t386 = _t388 else if prediction13 == 8 consume_literal!(parser, "missing") - _t389 = Proto.MissingValue() - _t390 = Proto.Value(value=OneOf(:missing_value, _t389)) - _t388 = _t390 + _t390 = Proto.MissingValue() + _t391 = Proto.Value(value=OneOf(:missing_value, _t390)) + _t389 = _t391 else if prediction13 == 7 decimal21 = consume_terminal!(parser, "DECIMAL") - _t392 = Proto.Value(value=OneOf(:decimal_value, decimal21)) - _t391 = _t392 + _t393 = Proto.Value(value=OneOf(:decimal_value, decimal21)) + _t392 = _t393 else if prediction13 == 6 int12820 = consume_terminal!(parser, "INT128") - _t394 = Proto.Value(value=OneOf(:int128_value, int12820)) - _t393 = _t394 + _t395 = Proto.Value(value=OneOf(:int128_value, int12820)) + _t394 = _t395 else if prediction13 == 5 uint12819 = consume_terminal!(parser, "UINT128") - _t396 = Proto.Value(value=OneOf(:uint128_value, uint12819)) - _t395 = _t396 + _t397 = Proto.Value(value=OneOf(:uint128_value, uint12819)) + _t396 = _t397 else if prediction13 == 4 float18 = consume_terminal!(parser, "FLOAT") - _t398 = Proto.Value(value=OneOf(:float_value, float18)) - _t397 = _t398 + _t399 = Proto.Value(value=OneOf(:float_value, float18)) + _t398 = _t399 else if prediction13 == 3 int17 = consume_terminal!(parser, "INT") - _t400 = Proto.Value(value=OneOf(:int_value, int17)) - _t399 = _t400 + _t401 = Proto.Value(value=OneOf(:int_value, int17)) + _t400 = _t401 else if prediction13 == 2 string16 = consume_terminal!(parser, "STRING") - _t402 = Proto.Value(value=OneOf(:string_value, string16)) - _t401 = _t402 + _t403 = Proto.Value(value=OneOf(:string_value, string16)) + _t402 = _t403 else if prediction13 == 1 - _t404 = parse_datetime(parser) - datetime15 = _t404 - _t405 = Proto.Value(value=OneOf(:datetime_value, datetime15)) - _t403 = _t405 + _t405 = parse_datetime(parser) + datetime15 = _t405 + _t406 = Proto.Value(value=OneOf(:datetime_value, datetime15)) + _t404 = _t406 else if prediction13 == 0 - _t407 = parse_date(parser) - date14 = _t407 - _t408 = Proto.Value(value=OneOf(:date_value, date14)) - _t406 = _t408 + _t408 = parse_date(parser) + date14 = _t408 + _t409 = Proto.Value(value=OneOf(:date_value, date14)) + _t407 = _t409 else throw(ParseError("Unexpected token in value" * ": " * string(lookahead(parser, 0)))) end - _t403 = _t406 + _t404 = _t407 end - _t401 = _t403 + _t402 = _t404 end - _t399 = _t401 + _t400 = _t402 end - _t397 = _t399 + _t398 = _t400 end - _t395 = _t397 + _t396 = _t398 end - _t393 = _t395 + _t394 = _t396 end - _t391 = _t393 + _t392 = _t394 end - _t388 = _t391 + _t389 = _t392 end - _t385 = _t388 + _t386 = _t389 end - return _t385 + return _t386 end function parse_date(parser::Parser)::Proto.DateValue @@ -740,8 +740,8 @@ function parse_date(parser::Parser)::Proto.DateValue int_324 = consume_terminal!(parser, "INT") int_425 = consume_terminal!(parser, "INT") consume_literal!(parser, ")") - _t409 = Proto.DateValue(year=Int32(int23), month=Int32(int_324), day=Int32(int_425)) - return _t409 + _t410 = Proto.DateValue(year=Int32(int23), month=Int32(int_324), day=Int32(int_425)) + return _t410 end function parse_datetime(parser::Parser)::Proto.DateTimeValue @@ -755,45 +755,45 @@ function parse_datetime(parser::Parser)::Proto.DateTimeValue int_731 = consume_terminal!(parser, "INT") if match_lookahead_terminal(parser, "INT", 0) - _t410 = consume_terminal!(parser, "INT") + _t411 = consume_terminal!(parser, "INT") else - _t410 = nothing + _t411 = nothing end - int_832 = _t410 + int_832 = _t411 consume_literal!(parser, ")") - _t411 = Proto.DateTimeValue(year=Int32(int26), month=Int32(int_327), day=Int32(int_428), hour=Int32(int_529), minute=Int32(int_630), second=Int32(int_731), microsecond=Int32((!isnothing(int_832) ? int_832 : 0))) - return _t411 + _t412 = Proto.DateTimeValue(year=Int32(int26), month=Int32(int_327), day=Int32(int_428), hour=Int32(int_529), minute=Int32(int_630), second=Int32(int_731), microsecond=Int32((!isnothing(int_832) ? int_832 : 0))) + return _t412 end function parse_boolean_value(parser::Parser)::Bool if match_lookahead_literal(parser, "true", 0) - _t412 = 0 + _t413 = 0 else if match_lookahead_literal(parser, "false", 0) - _t413 = 1 + _t414 = 1 else - _t413 = -1 + _t414 = -1 end - _t412 = _t413 + _t413 = _t414 end - prediction33 = _t412 + prediction33 = _t413 if prediction33 == 1 consume_literal!(parser, "false") - _t414 = false + _t415 = false else if prediction33 == 0 consume_literal!(parser, "true") - _t415 = true + _t416 = true else throw(ParseError("Unexpected token in boolean_value" * ": " * string(lookahead(parser, 0)))) end - _t414 = _t415 + _t415 = _t416 end - return _t414 + return _t415 end function parse_sync(parser::Parser)::Proto.Sync @@ -802,15 +802,15 @@ function parse_sync(parser::Parser)::Proto.Sync xs34 = Proto.FragmentId[] cond35 = match_lookahead_literal(parser, ":", 0) while cond35 - _t416 = parse_fragment_id(parser) - item36 = _t416 + _t417 = parse_fragment_id(parser) + item36 = _t417 push!(xs34, item36) cond35 = match_lookahead_literal(parser, ":", 0) end fragment_ids37 = xs34 consume_literal!(parser, ")") - _t417 = Proto.Sync(fragments=fragment_ids37) - return _t417 + _t418 = Proto.Sync(fragments=fragment_ids37) + return _t418 end function parse_fragment_id(parser::Parser)::Proto.FragmentId @@ -824,23 +824,23 @@ function parse_epoch(parser::Parser)::Proto.Epoch consume_literal!(parser, "epoch") if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "writes", 1)) - _t419 = parse_epoch_writes(parser) - _t418 = _t419 + _t420 = parse_epoch_writes(parser) + _t419 = _t420 else - _t418 = nothing + _t419 = nothing end - epoch_writes39 = _t418 + epoch_writes39 = _t419 if match_lookahead_literal(parser, "(", 0) - _t421 = parse_epoch_reads(parser) - _t420 = _t421 + _t422 = parse_epoch_reads(parser) + _t421 = _t422 else - _t420 = nothing + _t421 = nothing end - epoch_reads40 = _t420 + epoch_reads40 = _t421 consume_literal!(parser, ")") - _t422 = Proto.Epoch(writes=(!isnothing(epoch_writes39) ? epoch_writes39 : Proto.Write[]), reads=(!isnothing(epoch_reads40) ? epoch_reads40 : Proto.Read[])) - return _t422 + _t423 = Proto.Epoch(writes=(!isnothing(epoch_writes39) ? epoch_writes39 : Proto.Write[]), reads=(!isnothing(epoch_reads40) ? epoch_reads40 : Proto.Read[])) + return _t423 end function parse_epoch_writes(parser::Parser)::Vector{Proto.Write} @@ -849,8 +849,8 @@ function parse_epoch_writes(parser::Parser)::Vector{Proto.Write} xs41 = Proto.Write[] cond42 = match_lookahead_literal(parser, "(", 0) while cond42 - _t423 = parse_write(parser) - item43 = _t423 + _t424 = parse_write(parser) + item43 = _t424 push!(xs41, item43) cond42 = match_lookahead_literal(parser, "(", 0) end @@ -864,77 +864,77 @@ function parse_write(parser::Parser)::Proto.Write if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "undefine", 1) - _t425 = 1 + _t426 = 1 else if match_lookahead_literal(parser, "define", 1) - _t426 = 0 + _t427 = 0 else if match_lookahead_literal(parser, "context", 1) - _t427 = 2 + _t428 = 2 else - _t427 = -1 + _t428 = -1 end - _t426 = _t427 + _t427 = _t428 end - _t425 = _t426 + _t426 = _t427 end - _t424 = _t425 + _t425 = _t426 else - _t424 = -1 + _t425 = -1 end - prediction45 = _t424 + prediction45 = _t425 if prediction45 == 2 - _t429 = parse_context(parser) - context48 = _t429 - _t430 = Proto.Write(write_type=OneOf(:context, context48)) - _t428 = _t430 + _t430 = parse_context(parser) + context48 = _t430 + _t431 = Proto.Write(write_type=OneOf(:context, context48)) + _t429 = _t431 else if prediction45 == 1 - _t432 = parse_undefine(parser) - undefine47 = _t432 - _t433 = Proto.Write(write_type=OneOf(:undefine, undefine47)) - _t431 = _t433 + _t433 = parse_undefine(parser) + undefine47 = _t433 + _t434 = Proto.Write(write_type=OneOf(:undefine, undefine47)) + _t432 = _t434 else if prediction45 == 0 - _t435 = parse_define(parser) - define46 = _t435 - _t436 = Proto.Write(write_type=OneOf(:define, define46)) - _t434 = _t436 + _t436 = parse_define(parser) + define46 = _t436 + _t437 = Proto.Write(write_type=OneOf(:define, define46)) + _t435 = _t437 else throw(ParseError("Unexpected token in write" * ": " * string(lookahead(parser, 0)))) end - _t431 = _t434 + _t432 = _t435 end - _t428 = _t431 + _t429 = _t432 end - return _t428 + return _t429 end function parse_define(parser::Parser)::Proto.Define consume_literal!(parser, "(") consume_literal!(parser, "define") - _t437 = parse_fragment(parser) - fragment49 = _t437 + _t438 = parse_fragment(parser) + fragment49 = _t438 consume_literal!(parser, ")") - _t438 = Proto.Define(fragment=fragment49) - return _t438 + _t439 = Proto.Define(fragment=fragment49) + return _t439 end function parse_fragment(parser::Parser)::Proto.Fragment consume_literal!(parser, "(") consume_literal!(parser, "fragment") - _t439 = parse_new_fragment_id(parser) - new_fragment_id50 = _t439 + _t440 = parse_new_fragment_id(parser) + new_fragment_id50 = _t440 xs51 = Proto.Declaration[] cond52 = match_lookahead_literal(parser, "(", 0) while cond52 - _t440 = parse_declaration(parser) - item53 = _t440 + _t441 = parse_declaration(parser) + item53 = _t441 push!(xs51, item53) cond52 = match_lookahead_literal(parser, "(", 0) end @@ -944,8 +944,8 @@ function parse_fragment(parser::Parser)::Proto.Fragment end function parse_new_fragment_id(parser::Parser)::Proto.FragmentId - _t441 = parse_fragment_id(parser) - fragment_id55 = _t441 + _t442 = parse_fragment_id(parser) + fragment_id55 = _t442 start_fragment!(parser, fragment_id55) return fragment_id55 end @@ -955,145 +955,145 @@ function parse_declaration(parser::Parser)::Proto.Declaration if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "rel_edb", 1) - _t443 = 3 + _t444 = 3 else if match_lookahead_literal(parser, "functional_dependency", 1) - _t444 = 2 + _t445 = 2 else if match_lookahead_literal(parser, "def", 1) - _t445 = 0 + _t446 = 0 else if match_lookahead_literal(parser, "csv_data", 1) - _t446 = 3 + _t447 = 3 else if match_lookahead_literal(parser, "betree_relation", 1) - _t447 = 3 + _t448 = 3 else if match_lookahead_literal(parser, "algorithm", 1) - _t448 = 1 + _t449 = 1 else - _t448 = -1 + _t449 = -1 end - _t447 = _t448 + _t448 = _t449 end - _t446 = _t447 + _t447 = _t448 end - _t445 = _t446 + _t446 = _t447 end - _t444 = _t445 + _t445 = _t446 end - _t443 = _t444 + _t444 = _t445 end - _t442 = _t443 + _t443 = _t444 else - _t442 = -1 + _t443 = -1 end - prediction56 = _t442 + prediction56 = _t443 if prediction56 == 3 - _t450 = parse_data(parser) - data60 = _t450 - _t451 = Proto.Declaration(declaration_type=OneOf(:data, data60)) - _t449 = _t451 + _t451 = parse_data(parser) + data60 = _t451 + _t452 = Proto.Declaration(declaration_type=OneOf(:data, data60)) + _t450 = _t452 else if prediction56 == 2 - _t453 = parse_constraint(parser) - constraint59 = _t453 - _t454 = Proto.Declaration(declaration_type=OneOf(:constraint, constraint59)) - _t452 = _t454 + _t454 = parse_constraint(parser) + constraint59 = _t454 + _t455 = Proto.Declaration(declaration_type=OneOf(:constraint, constraint59)) + _t453 = _t455 else if prediction56 == 1 - _t456 = parse_algorithm(parser) - algorithm58 = _t456 - _t457 = Proto.Declaration(declaration_type=OneOf(:algorithm, algorithm58)) - _t455 = _t457 + _t457 = parse_algorithm(parser) + algorithm58 = _t457 + _t458 = Proto.Declaration(declaration_type=OneOf(:algorithm, algorithm58)) + _t456 = _t458 else if prediction56 == 0 - _t459 = parse_def(parser) - def57 = _t459 - _t460 = Proto.Declaration(declaration_type=OneOf(:def, def57)) - _t458 = _t460 + _t460 = parse_def(parser) + def57 = _t460 + _t461 = Proto.Declaration(declaration_type=OneOf(:def, def57)) + _t459 = _t461 else throw(ParseError("Unexpected token in declaration" * ": " * string(lookahead(parser, 0)))) end - _t455 = _t458 + _t456 = _t459 end - _t452 = _t455 + _t453 = _t456 end - _t449 = _t452 + _t450 = _t453 end - return _t449 + return _t450 end function parse_def(parser::Parser)::Proto.Def consume_literal!(parser, "(") consume_literal!(parser, "def") - _t461 = parse_relation_id(parser) - relation_id61 = _t461 - _t462 = parse_abstraction(parser) - abstraction62 = _t462 + _t462 = parse_relation_id(parser) + relation_id61 = _t462 + _t463 = parse_abstraction(parser) + abstraction62 = _t463 if match_lookahead_literal(parser, "(", 0) - _t464 = parse_attrs(parser) - _t463 = _t464 + _t465 = parse_attrs(parser) + _t464 = _t465 else - _t463 = nothing + _t464 = nothing end - attrs63 = _t463 + attrs63 = _t464 consume_literal!(parser, ")") - _t465 = Proto.Def(name=relation_id61, body=abstraction62, attrs=(!isnothing(attrs63) ? attrs63 : Proto.Attribute[])) - return _t465 + _t466 = Proto.Def(name=relation_id61, body=abstraction62, attrs=(!isnothing(attrs63) ? attrs63 : Proto.Attribute[])) + return _t466 end function parse_relation_id(parser::Parser)::Proto.RelationId if match_lookahead_literal(parser, ":", 0) - _t466 = 0 + _t467 = 0 else if match_lookahead_terminal(parser, "UINT128", 0) - _t467 = 1 + _t468 = 1 else - _t467 = -1 + _t468 = -1 end - _t466 = _t467 + _t467 = _t468 end - prediction64 = _t466 + prediction64 = _t467 if prediction64 == 1 uint12866 = consume_terminal!(parser, "UINT128") - _t468 = Proto.RelationId(uint12866.low, uint12866.high) + _t469 = Proto.RelationId(uint12866.low, uint12866.high) else if prediction64 == 0 consume_literal!(parser, ":") symbol65 = consume_terminal!(parser, "SYMBOL") - _t469 = relation_id_from_string(parser, symbol65) + _t470 = relation_id_from_string(parser, symbol65) else throw(ParseError("Unexpected token in relation_id" * ": " * string(lookahead(parser, 0)))) end - _t468 = _t469 + _t469 = _t470 end - return _t468 + return _t469 end function parse_abstraction(parser::Parser)::Proto.Abstraction consume_literal!(parser, "(") - _t470 = parse_bindings(parser) - bindings67 = _t470 - _t471 = parse_formula(parser) - formula68 = _t471 + _t471 = parse_bindings(parser) + bindings67 = _t471 + _t472 = parse_formula(parser) + formula68 = _t472 consume_literal!(parser, ")") - _t472 = Proto.Abstraction(vars=vcat(bindings67[1], !isnothing(bindings67[2]) ? bindings67[2] : []), value=formula68) - return _t472 + _t473 = Proto.Abstraction(vars=vcat(bindings67[1], !isnothing(bindings67[2]) ? bindings67[2] : []), value=formula68) + return _t473 end function parse_bindings(parser::Parser)::Tuple{Vector{Proto.Binding}, Vector{Proto.Binding}} @@ -1101,20 +1101,20 @@ function parse_bindings(parser::Parser)::Tuple{Vector{Proto.Binding}, Vector{Pro xs69 = Proto.Binding[] cond70 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond70 - _t473 = parse_binding(parser) - item71 = _t473 + _t474 = parse_binding(parser) + item71 = _t474 push!(xs69, item71) cond70 = match_lookahead_terminal(parser, "SYMBOL", 0) end bindings72 = xs69 if match_lookahead_literal(parser, "|", 0) - _t475 = parse_value_bindings(parser) - _t474 = _t475 + _t476 = parse_value_bindings(parser) + _t475 = _t476 else - _t474 = nothing + _t475 = nothing end - value_bindings73 = _t474 + value_bindings73 = _t475 consume_literal!(parser, "]") return (bindings72, (!isnothing(value_bindings73) ? value_bindings73 : Proto.Binding[]),) end @@ -1122,235 +1122,235 @@ end function parse_binding(parser::Parser)::Proto.Binding symbol74 = consume_terminal!(parser, "SYMBOL") consume_literal!(parser, "::") - _t476 = parse_type(parser) - type75 = _t476 - _t477 = Proto.Var(name=symbol74) - _t478 = Proto.Binding(var=_t477, var"#type"=type75) - return _t478 + _t477 = parse_type(parser) + type75 = _t477 + _t478 = Proto.Var(name=symbol74) + _t479 = Proto.Binding(var=_t478, var"#type"=type75) + return _t479 end function parse_type(parser::Parser)::Proto.var"#Type" if match_lookahead_literal(parser, "UNKNOWN", 0) - _t479 = 0 + _t480 = 0 else if match_lookahead_literal(parser, "UINT128", 0) - _t480 = 4 + _t481 = 4 else if match_lookahead_literal(parser, "STRING", 0) - _t481 = 1 + _t482 = 1 else if match_lookahead_literal(parser, "MISSING", 0) - _t482 = 8 + _t483 = 8 else if match_lookahead_literal(parser, "INT128", 0) - _t483 = 5 + _t484 = 5 else if match_lookahead_literal(parser, "INT", 0) - _t484 = 2 + _t485 = 2 else if match_lookahead_literal(parser, "FLOAT", 0) - _t485 = 3 + _t486 = 3 else if match_lookahead_literal(parser, "DATETIME", 0) - _t486 = 7 + _t487 = 7 else if match_lookahead_literal(parser, "DATE", 0) - _t487 = 6 + _t488 = 6 else if match_lookahead_literal(parser, "BOOLEAN", 0) - _t488 = 10 + _t489 = 10 else if match_lookahead_literal(parser, "(", 0) - _t489 = 9 + _t490 = 9 else - _t489 = -1 + _t490 = -1 end - _t488 = _t489 + _t489 = _t490 end - _t487 = _t488 + _t488 = _t489 end - _t486 = _t487 + _t487 = _t488 end - _t485 = _t486 + _t486 = _t487 end - _t484 = _t485 + _t485 = _t486 end - _t483 = _t484 + _t484 = _t485 end - _t482 = _t483 + _t483 = _t484 end - _t481 = _t482 + _t482 = _t483 end - _t480 = _t481 + _t481 = _t482 end - _t479 = _t480 + _t480 = _t481 end - prediction76 = _t479 + prediction76 = _t480 if prediction76 == 10 - _t491 = parse_boolean_type(parser) - boolean_type87 = _t491 - _t492 = Proto.var"#Type"(var"#type"=OneOf(:boolean_type, boolean_type87)) - _t490 = _t492 + _t492 = parse_boolean_type(parser) + boolean_type87 = _t492 + _t493 = Proto.var"#Type"(var"#type"=OneOf(:boolean_type, boolean_type87)) + _t491 = _t493 else if prediction76 == 9 - _t494 = parse_decimal_type(parser) - decimal_type86 = _t494 - _t495 = Proto.var"#Type"(var"#type"=OneOf(:decimal_type, decimal_type86)) - _t493 = _t495 + _t495 = parse_decimal_type(parser) + decimal_type86 = _t495 + _t496 = Proto.var"#Type"(var"#type"=OneOf(:decimal_type, decimal_type86)) + _t494 = _t496 else if prediction76 == 8 - _t497 = parse_missing_type(parser) - missing_type85 = _t497 - _t498 = Proto.var"#Type"(var"#type"=OneOf(:missing_type, missing_type85)) - _t496 = _t498 + _t498 = parse_missing_type(parser) + missing_type85 = _t498 + _t499 = Proto.var"#Type"(var"#type"=OneOf(:missing_type, missing_type85)) + _t497 = _t499 else if prediction76 == 7 - _t500 = parse_datetime_type(parser) - datetime_type84 = _t500 - _t501 = Proto.var"#Type"(var"#type"=OneOf(:datetime_type, datetime_type84)) - _t499 = _t501 + _t501 = parse_datetime_type(parser) + datetime_type84 = _t501 + _t502 = Proto.var"#Type"(var"#type"=OneOf(:datetime_type, datetime_type84)) + _t500 = _t502 else if prediction76 == 6 - _t503 = parse_date_type(parser) - date_type83 = _t503 - _t504 = Proto.var"#Type"(var"#type"=OneOf(:date_type, date_type83)) - _t502 = _t504 + _t504 = parse_date_type(parser) + date_type83 = _t504 + _t505 = Proto.var"#Type"(var"#type"=OneOf(:date_type, date_type83)) + _t503 = _t505 else if prediction76 == 5 - _t506 = parse_int128_type(parser) - int128_type82 = _t506 - _t507 = Proto.var"#Type"(var"#type"=OneOf(:int128_type, int128_type82)) - _t505 = _t507 + _t507 = parse_int128_type(parser) + int128_type82 = _t507 + _t508 = Proto.var"#Type"(var"#type"=OneOf(:int128_type, int128_type82)) + _t506 = _t508 else if prediction76 == 4 - _t509 = parse_uint128_type(parser) - uint128_type81 = _t509 - _t510 = Proto.var"#Type"(var"#type"=OneOf(:uint128_type, uint128_type81)) - _t508 = _t510 + _t510 = parse_uint128_type(parser) + uint128_type81 = _t510 + _t511 = Proto.var"#Type"(var"#type"=OneOf(:uint128_type, uint128_type81)) + _t509 = _t511 else if prediction76 == 3 - _t512 = parse_float_type(parser) - float_type80 = _t512 - _t513 = Proto.var"#Type"(var"#type"=OneOf(:float_type, float_type80)) - _t511 = _t513 + _t513 = parse_float_type(parser) + float_type80 = _t513 + _t514 = Proto.var"#Type"(var"#type"=OneOf(:float_type, float_type80)) + _t512 = _t514 else if prediction76 == 2 - _t515 = parse_int_type(parser) - int_type79 = _t515 - _t516 = Proto.var"#Type"(var"#type"=OneOf(:int_type, int_type79)) - _t514 = _t516 + _t516 = parse_int_type(parser) + int_type79 = _t516 + _t517 = Proto.var"#Type"(var"#type"=OneOf(:int_type, int_type79)) + _t515 = _t517 else if prediction76 == 1 - _t518 = parse_string_type(parser) - string_type78 = _t518 - _t519 = Proto.var"#Type"(var"#type"=OneOf(:string_type, string_type78)) - _t517 = _t519 + _t519 = parse_string_type(parser) + string_type78 = _t519 + _t520 = Proto.var"#Type"(var"#type"=OneOf(:string_type, string_type78)) + _t518 = _t520 else if prediction76 == 0 - _t521 = parse_unspecified_type(parser) - unspecified_type77 = _t521 - _t522 = Proto.var"#Type"(var"#type"=OneOf(:unspecified_type, unspecified_type77)) - _t520 = _t522 + _t522 = parse_unspecified_type(parser) + unspecified_type77 = _t522 + _t523 = Proto.var"#Type"(var"#type"=OneOf(:unspecified_type, unspecified_type77)) + _t521 = _t523 else throw(ParseError("Unexpected token in type" * ": " * string(lookahead(parser, 0)))) end - _t517 = _t520 + _t518 = _t521 end - _t514 = _t517 + _t515 = _t518 end - _t511 = _t514 + _t512 = _t515 end - _t508 = _t511 + _t509 = _t512 end - _t505 = _t508 + _t506 = _t509 end - _t502 = _t505 + _t503 = _t506 end - _t499 = _t502 + _t500 = _t503 end - _t496 = _t499 + _t497 = _t500 end - _t493 = _t496 + _t494 = _t497 end - _t490 = _t493 + _t491 = _t494 end - return _t490 + return _t491 end function parse_unspecified_type(parser::Parser)::Proto.UnspecifiedType consume_literal!(parser, "UNKNOWN") - _t523 = Proto.UnspecifiedType() - return _t523 + _t524 = Proto.UnspecifiedType() + return _t524 end function parse_string_type(parser::Parser)::Proto.StringType consume_literal!(parser, "STRING") - _t524 = Proto.StringType() - return _t524 + _t525 = Proto.StringType() + return _t525 end function parse_int_type(parser::Parser)::Proto.IntType consume_literal!(parser, "INT") - _t525 = Proto.IntType() - return _t525 + _t526 = Proto.IntType() + return _t526 end function parse_float_type(parser::Parser)::Proto.FloatType consume_literal!(parser, "FLOAT") - _t526 = Proto.FloatType() - return _t526 + _t527 = Proto.FloatType() + return _t527 end function parse_uint128_type(parser::Parser)::Proto.UInt128Type consume_literal!(parser, "UINT128") - _t527 = Proto.UInt128Type() - return _t527 + _t528 = Proto.UInt128Type() + return _t528 end function parse_int128_type(parser::Parser)::Proto.Int128Type consume_literal!(parser, "INT128") - _t528 = Proto.Int128Type() - return _t528 + _t529 = Proto.Int128Type() + return _t529 end function parse_date_type(parser::Parser)::Proto.DateType consume_literal!(parser, "DATE") - _t529 = Proto.DateType() - return _t529 + _t530 = Proto.DateType() + return _t530 end function parse_datetime_type(parser::Parser)::Proto.DateTimeType consume_literal!(parser, "DATETIME") - _t530 = Proto.DateTimeType() - return _t530 + _t531 = Proto.DateTimeType() + return _t531 end function parse_missing_type(parser::Parser)::Proto.MissingType consume_literal!(parser, "MISSING") - _t531 = Proto.MissingType() - return _t531 + _t532 = Proto.MissingType() + return _t532 end function parse_decimal_type(parser::Parser)::Proto.DecimalType @@ -1359,14 +1359,14 @@ function parse_decimal_type(parser::Parser)::Proto.DecimalType int88 = consume_terminal!(parser, "INT") int_389 = consume_terminal!(parser, "INT") consume_literal!(parser, ")") - _t532 = Proto.DecimalType(precision=Int32(int88), scale=Int32(int_389)) - return _t532 + _t533 = Proto.DecimalType(precision=Int32(int88), scale=Int32(int_389)) + return _t533 end function parse_boolean_type(parser::Parser)::Proto.BooleanType consume_literal!(parser, "BOOLEAN") - _t533 = Proto.BooleanType() - return _t533 + _t534 = Proto.BooleanType() + return _t534 end function parse_value_bindings(parser::Parser)::Vector{Proto.Binding} @@ -1374,8 +1374,8 @@ function parse_value_bindings(parser::Parser)::Vector{Proto.Binding} xs90 = Proto.Binding[] cond91 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond91 - _t534 = parse_binding(parser) - item92 = _t534 + _t535 = parse_binding(parser) + item92 = _t535 push!(xs90, item92) cond91 = match_lookahead_terminal(parser, "SYMBOL", 0) end @@ -1388,302 +1388,302 @@ function parse_formula(parser::Parser)::Proto.Formula if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "true", 1) - _t536 = 0 + _t537 = 0 else if match_lookahead_literal(parser, "relatom", 1) - _t537 = 11 + _t538 = 11 else if match_lookahead_literal(parser, "reduce", 1) - _t538 = 3 + _t539 = 3 else if match_lookahead_literal(parser, "primitive", 1) - _t539 = 10 + _t540 = 10 else if match_lookahead_literal(parser, "pragma", 1) - _t540 = 9 + _t541 = 9 else if match_lookahead_literal(parser, "or", 1) - _t541 = 5 + _t542 = 5 else if match_lookahead_literal(parser, "not", 1) - _t542 = 6 + _t543 = 6 else if match_lookahead_literal(parser, "ffi", 1) - _t543 = 7 + _t544 = 7 else if match_lookahead_literal(parser, "false", 1) - _t544 = 1 + _t545 = 1 else if match_lookahead_literal(parser, "exists", 1) - _t545 = 2 + _t546 = 2 else if match_lookahead_literal(parser, "cast", 1) - _t546 = 12 + _t547 = 12 else if match_lookahead_literal(parser, "atom", 1) - _t547 = 8 + _t548 = 8 else if match_lookahead_literal(parser, "and", 1) - _t548 = 4 + _t549 = 4 else if match_lookahead_literal(parser, ">=", 1) - _t549 = 10 + _t550 = 10 else if match_lookahead_literal(parser, ">", 1) - _t550 = 10 + _t551 = 10 else if match_lookahead_literal(parser, "=", 1) - _t551 = 10 + _t552 = 10 else if match_lookahead_literal(parser, "<=", 1) - _t552 = 10 + _t553 = 10 else if match_lookahead_literal(parser, "<", 1) - _t553 = 10 + _t554 = 10 else if match_lookahead_literal(parser, "/", 1) - _t554 = 10 + _t555 = 10 else if match_lookahead_literal(parser, "-", 1) - _t555 = 10 + _t556 = 10 else if match_lookahead_literal(parser, "+", 1) - _t556 = 10 + _t557 = 10 else if match_lookahead_literal(parser, "*", 1) - _t557 = 10 + _t558 = 10 else - _t557 = -1 + _t558 = -1 end - _t556 = _t557 + _t557 = _t558 end - _t555 = _t556 + _t556 = _t557 end - _t554 = _t555 + _t555 = _t556 end - _t553 = _t554 + _t554 = _t555 end - _t552 = _t553 + _t553 = _t554 end - _t551 = _t552 + _t552 = _t553 end - _t550 = _t551 + _t551 = _t552 end - _t549 = _t550 + _t550 = _t551 end - _t548 = _t549 + _t549 = _t550 end - _t547 = _t548 + _t548 = _t549 end - _t546 = _t547 + _t547 = _t548 end - _t545 = _t546 + _t546 = _t547 end - _t544 = _t545 + _t545 = _t546 end - _t543 = _t544 + _t544 = _t545 end - _t542 = _t543 + _t543 = _t544 end - _t541 = _t542 + _t542 = _t543 end - _t540 = _t541 + _t541 = _t542 end - _t539 = _t540 + _t540 = _t541 end - _t538 = _t539 + _t539 = _t540 end - _t537 = _t538 + _t538 = _t539 end - _t536 = _t537 + _t537 = _t538 end - _t535 = _t536 + _t536 = _t537 else - _t535 = -1 + _t536 = -1 end - prediction94 = _t535 + prediction94 = _t536 if prediction94 == 12 - _t559 = parse_cast(parser) - cast107 = _t559 - _t560 = Proto.Formula(formula_type=OneOf(:cast, cast107)) - _t558 = _t560 + _t560 = parse_cast(parser) + cast107 = _t560 + _t561 = Proto.Formula(formula_type=OneOf(:cast, cast107)) + _t559 = _t561 else if prediction94 == 11 - _t562 = parse_rel_atom(parser) - rel_atom106 = _t562 - _t563 = Proto.Formula(formula_type=OneOf(:rel_atom, rel_atom106)) - _t561 = _t563 + _t563 = parse_rel_atom(parser) + rel_atom106 = _t563 + _t564 = Proto.Formula(formula_type=OneOf(:rel_atom, rel_atom106)) + _t562 = _t564 else if prediction94 == 10 - _t565 = parse_primitive(parser) - primitive105 = _t565 - _t566 = Proto.Formula(formula_type=OneOf(:primitive, primitive105)) - _t564 = _t566 + _t566 = parse_primitive(parser) + primitive105 = _t566 + _t567 = Proto.Formula(formula_type=OneOf(:primitive, primitive105)) + _t565 = _t567 else if prediction94 == 9 - _t568 = parse_pragma(parser) - pragma104 = _t568 - _t569 = Proto.Formula(formula_type=OneOf(:pragma, pragma104)) - _t567 = _t569 + _t569 = parse_pragma(parser) + pragma104 = _t569 + _t570 = Proto.Formula(formula_type=OneOf(:pragma, pragma104)) + _t568 = _t570 else if prediction94 == 8 - _t571 = parse_atom(parser) - atom103 = _t571 - _t572 = Proto.Formula(formula_type=OneOf(:atom, atom103)) - _t570 = _t572 + _t572 = parse_atom(parser) + atom103 = _t572 + _t573 = Proto.Formula(formula_type=OneOf(:atom, atom103)) + _t571 = _t573 else if prediction94 == 7 - _t574 = parse_ffi(parser) - ffi102 = _t574 - _t575 = Proto.Formula(formula_type=OneOf(:ffi, ffi102)) - _t573 = _t575 + _t575 = parse_ffi(parser) + ffi102 = _t575 + _t576 = Proto.Formula(formula_type=OneOf(:ffi, ffi102)) + _t574 = _t576 else if prediction94 == 6 - _t577 = parse_not(parser) - not101 = _t577 - _t578 = Proto.Formula(formula_type=OneOf(:not, not101)) - _t576 = _t578 + _t578 = parse_not(parser) + not101 = _t578 + _t579 = Proto.Formula(formula_type=OneOf(:not, not101)) + _t577 = _t579 else if prediction94 == 5 - _t580 = parse_disjunction(parser) - disjunction100 = _t580 - _t581 = Proto.Formula(formula_type=OneOf(:disjunction, disjunction100)) - _t579 = _t581 + _t581 = parse_disjunction(parser) + disjunction100 = _t581 + _t582 = Proto.Formula(formula_type=OneOf(:disjunction, disjunction100)) + _t580 = _t582 else if prediction94 == 4 - _t583 = parse_conjunction(parser) - conjunction99 = _t583 - _t584 = Proto.Formula(formula_type=OneOf(:conjunction, conjunction99)) - _t582 = _t584 + _t584 = parse_conjunction(parser) + conjunction99 = _t584 + _t585 = Proto.Formula(formula_type=OneOf(:conjunction, conjunction99)) + _t583 = _t585 else if prediction94 == 3 - _t586 = parse_reduce(parser) - reduce98 = _t586 - _t587 = Proto.Formula(formula_type=OneOf(:reduce, reduce98)) - _t585 = _t587 + _t587 = parse_reduce(parser) + reduce98 = _t587 + _t588 = Proto.Formula(formula_type=OneOf(:reduce, reduce98)) + _t586 = _t588 else if prediction94 == 2 - _t589 = parse_exists(parser) - exists97 = _t589 - _t590 = Proto.Formula(formula_type=OneOf(:exists, exists97)) - _t588 = _t590 + _t590 = parse_exists(parser) + exists97 = _t590 + _t591 = Proto.Formula(formula_type=OneOf(:exists, exists97)) + _t589 = _t591 else if prediction94 == 1 - _t592 = parse_false(parser) - false96 = _t592 - _t593 = Proto.Formula(formula_type=OneOf(:disjunction, false96)) - _t591 = _t593 + _t593 = parse_false(parser) + false96 = _t593 + _t594 = Proto.Formula(formula_type=OneOf(:disjunction, false96)) + _t592 = _t594 else if prediction94 == 0 - _t595 = parse_true(parser) - true95 = _t595 - _t596 = Proto.Formula(formula_type=OneOf(:conjunction, true95)) - _t594 = _t596 + _t596 = parse_true(parser) + true95 = _t596 + _t597 = Proto.Formula(formula_type=OneOf(:conjunction, true95)) + _t595 = _t597 else throw(ParseError("Unexpected token in formula" * ": " * string(lookahead(parser, 0)))) end - _t591 = _t594 + _t592 = _t595 end - _t588 = _t591 + _t589 = _t592 end - _t585 = _t588 + _t586 = _t589 end - _t582 = _t585 + _t583 = _t586 end - _t579 = _t582 + _t580 = _t583 end - _t576 = _t579 + _t577 = _t580 end - _t573 = _t576 + _t574 = _t577 end - _t570 = _t573 + _t571 = _t574 end - _t567 = _t570 + _t568 = _t571 end - _t564 = _t567 + _t565 = _t568 end - _t561 = _t564 + _t562 = _t565 end - _t558 = _t561 + _t559 = _t562 end - return _t558 + return _t559 end function parse_true(parser::Parser)::Proto.Conjunction consume_literal!(parser, "(") consume_literal!(parser, "true") consume_literal!(parser, ")") - _t597 = Proto.Conjunction(args=Proto.Formula[]) - return _t597 + _t598 = Proto.Conjunction(args=Proto.Formula[]) + return _t598 end function parse_false(parser::Parser)::Proto.Disjunction consume_literal!(parser, "(") consume_literal!(parser, "false") consume_literal!(parser, ")") - _t598 = Proto.Disjunction(args=Proto.Formula[]) - return _t598 + _t599 = Proto.Disjunction(args=Proto.Formula[]) + return _t599 end function parse_exists(parser::Parser)::Proto.Exists consume_literal!(parser, "(") consume_literal!(parser, "exists") - _t599 = parse_bindings(parser) - bindings108 = _t599 - _t600 = parse_formula(parser) - formula109 = _t600 + _t600 = parse_bindings(parser) + bindings108 = _t600 + _t601 = parse_formula(parser) + formula109 = _t601 consume_literal!(parser, ")") - _t601 = Proto.Abstraction(vars=vcat(bindings108[1], !isnothing(bindings108[2]) ? bindings108[2] : []), value=formula109) - _t602 = Proto.Exists(body=_t601) - return _t602 + _t602 = Proto.Abstraction(vars=vcat(bindings108[1], !isnothing(bindings108[2]) ? bindings108[2] : []), value=formula109) + _t603 = Proto.Exists(body=_t602) + return _t603 end function parse_reduce(parser::Parser)::Proto.Reduce consume_literal!(parser, "(") consume_literal!(parser, "reduce") - _t603 = parse_abstraction(parser) - abstraction110 = _t603 _t604 = parse_abstraction(parser) - abstraction_3111 = _t604 - _t605 = parse_terms(parser) - terms112 = _t605 + abstraction110 = _t604 + _t605 = parse_abstraction(parser) + abstraction_3111 = _t605 + _t606 = parse_terms(parser) + terms112 = _t606 consume_literal!(parser, ")") - _t606 = Proto.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) - return _t606 + _t607 = Proto.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) + return _t607 end function parse_terms(parser::Parser)::Vector{Proto.Term} @@ -1692,8 +1692,8 @@ function parse_terms(parser::Parser)::Vector{Proto.Term} xs113 = Proto.Term[] cond114 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond114 - _t607 = parse_term(parser) - item115 = _t607 + _t608 = parse_term(parser) + item115 = _t608 push!(xs113, item115) cond114 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end @@ -1705,101 +1705,101 @@ end function parse_term(parser::Parser)::Proto.Term if match_lookahead_literal(parser, "true", 0) - _t608 = 1 + _t609 = 1 else if match_lookahead_literal(parser, "missing", 0) - _t609 = 1 + _t610 = 1 else if match_lookahead_literal(parser, "false", 0) - _t610 = 1 + _t611 = 1 else if match_lookahead_literal(parser, "(", 0) - _t611 = 1 + _t612 = 1 else if match_lookahead_terminal(parser, "UINT128", 0) - _t612 = 1 + _t613 = 1 else if match_lookahead_terminal(parser, "SYMBOL", 0) - _t613 = 0 + _t614 = 0 else if match_lookahead_terminal(parser, "STRING", 0) - _t614 = 1 + _t615 = 1 else if match_lookahead_terminal(parser, "INT128", 0) - _t615 = 1 + _t616 = 1 else if match_lookahead_terminal(parser, "INT", 0) - _t616 = 1 + _t617 = 1 else if match_lookahead_terminal(parser, "FLOAT", 0) - _t617 = 1 + _t618 = 1 else if match_lookahead_terminal(parser, "DECIMAL", 0) - _t618 = 1 + _t619 = 1 else - _t618 = -1 + _t619 = -1 end - _t617 = _t618 + _t618 = _t619 end - _t616 = _t617 + _t617 = _t618 end - _t615 = _t616 + _t616 = _t617 end - _t614 = _t615 + _t615 = _t616 end - _t613 = _t614 + _t614 = _t615 end - _t612 = _t613 + _t613 = _t614 end - _t611 = _t612 + _t612 = _t613 end - _t610 = _t611 + _t611 = _t612 end - _t609 = _t610 + _t610 = _t611 end - _t608 = _t609 + _t609 = _t610 end - prediction117 = _t608 + prediction117 = _t609 if prediction117 == 1 - _t620 = parse_constant(parser) - constant119 = _t620 - _t621 = Proto.Term(term_type=OneOf(:constant, constant119)) - _t619 = _t621 + _t621 = parse_constant(parser) + constant119 = _t621 + _t622 = Proto.Term(term_type=OneOf(:constant, constant119)) + _t620 = _t622 else if prediction117 == 0 - _t623 = parse_var(parser) - var118 = _t623 - _t624 = Proto.Term(term_type=OneOf(:var, var118)) - _t622 = _t624 + _t624 = parse_var(parser) + var118 = _t624 + _t625 = Proto.Term(term_type=OneOf(:var, var118)) + _t623 = _t625 else throw(ParseError("Unexpected token in term" * ": " * string(lookahead(parser, 0)))) end - _t619 = _t622 + _t620 = _t623 end - return _t619 + return _t620 end function parse_var(parser::Parser)::Proto.Var symbol120 = consume_terminal!(parser, "SYMBOL") - _t625 = Proto.Var(name=symbol120) - return _t625 + _t626 = Proto.Var(name=symbol120) + return _t626 end function parse_constant(parser::Parser)::Proto.Value - _t626 = parse_value(parser) - value121 = _t626 + _t627 = parse_value(parser) + value121 = _t627 return value121 end @@ -1809,15 +1809,15 @@ function parse_conjunction(parser::Parser)::Proto.Conjunction xs122 = Proto.Formula[] cond123 = match_lookahead_literal(parser, "(", 0) while cond123 - _t627 = parse_formula(parser) - item124 = _t627 + _t628 = parse_formula(parser) + item124 = _t628 push!(xs122, item124) cond123 = match_lookahead_literal(parser, "(", 0) end formulas125 = xs122 consume_literal!(parser, ")") - _t628 = Proto.Conjunction(args=formulas125) - return _t628 + _t629 = Proto.Conjunction(args=formulas125) + return _t629 end function parse_disjunction(parser::Parser)::Proto.Disjunction @@ -1826,39 +1826,39 @@ function parse_disjunction(parser::Parser)::Proto.Disjunction xs126 = Proto.Formula[] cond127 = match_lookahead_literal(parser, "(", 0) while cond127 - _t629 = parse_formula(parser) - item128 = _t629 + _t630 = parse_formula(parser) + item128 = _t630 push!(xs126, item128) cond127 = match_lookahead_literal(parser, "(", 0) end formulas129 = xs126 consume_literal!(parser, ")") - _t630 = Proto.Disjunction(args=formulas129) - return _t630 + _t631 = Proto.Disjunction(args=formulas129) + return _t631 end function parse_not(parser::Parser)::Proto.Not consume_literal!(parser, "(") consume_literal!(parser, "not") - _t631 = parse_formula(parser) - formula130 = _t631 + _t632 = parse_formula(parser) + formula130 = _t632 consume_literal!(parser, ")") - _t632 = Proto.Not(arg=formula130) - return _t632 + _t633 = Proto.Not(arg=formula130) + return _t633 end function parse_ffi(parser::Parser)::Proto.FFI consume_literal!(parser, "(") consume_literal!(parser, "ffi") - _t633 = parse_name(parser) - name131 = _t633 - _t634 = parse_ffi_args(parser) - ffi_args132 = _t634 - _t635 = parse_terms(parser) - terms133 = _t635 + _t634 = parse_name(parser) + name131 = _t634 + _t635 = parse_ffi_args(parser) + ffi_args132 = _t635 + _t636 = parse_terms(parser) + terms133 = _t636 consume_literal!(parser, ")") - _t636 = Proto.FFI(name=name131, args=ffi_args132, terms=terms133) - return _t636 + _t637 = Proto.FFI(name=name131, args=ffi_args132, terms=terms133) + return _t637 end function parse_name(parser::Parser)::String @@ -1873,8 +1873,8 @@ function parse_ffi_args(parser::Parser)::Vector{Proto.Abstraction} xs135 = Proto.Abstraction[] cond136 = match_lookahead_literal(parser, "(", 0) while cond136 - _t637 = parse_abstraction(parser) - item137 = _t637 + _t638 = parse_abstraction(parser) + item137 = _t638 push!(xs135, item137) cond136 = match_lookahead_literal(parser, "(", 0) end @@ -1886,39 +1886,39 @@ end function parse_atom(parser::Parser)::Proto.Atom consume_literal!(parser, "(") consume_literal!(parser, "atom") - _t638 = parse_relation_id(parser) - relation_id139 = _t638 + _t639 = parse_relation_id(parser) + relation_id139 = _t639 xs140 = Proto.Term[] cond141 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond141 - _t639 = parse_term(parser) - item142 = _t639 + _t640 = parse_term(parser) + item142 = _t640 push!(xs140, item142) cond141 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end terms143 = xs140 consume_literal!(parser, ")") - _t640 = Proto.Atom(name=relation_id139, terms=terms143) - return _t640 + _t641 = Proto.Atom(name=relation_id139, terms=terms143) + return _t641 end function parse_pragma(parser::Parser)::Proto.Pragma consume_literal!(parser, "(") consume_literal!(parser, "pragma") - _t641 = parse_name(parser) - name144 = _t641 + _t642 = parse_name(parser) + name144 = _t642 xs145 = Proto.Term[] cond146 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond146 - _t642 = parse_term(parser) - item147 = _t642 + _t643 = parse_term(parser) + item147 = _t643 push!(xs145, item147) cond146 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end terms148 = xs145 consume_literal!(parser, ")") - _t643 = Proto.Pragma(name=name144, terms=terms148) - return _t643 + _t644 = Proto.Pragma(name=name144, terms=terms148) + return _t644 end function parse_primitive(parser::Parser)::Proto.Primitive @@ -1926,434 +1926,434 @@ function parse_primitive(parser::Parser)::Proto.Primitive if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "primitive", 1) - _t645 = 9 + _t646 = 9 else if match_lookahead_literal(parser, ">=", 1) - _t646 = 4 + _t647 = 4 else if match_lookahead_literal(parser, ">", 1) - _t647 = 3 + _t648 = 3 else if match_lookahead_literal(parser, "=", 1) - _t648 = 0 + _t649 = 0 else if match_lookahead_literal(parser, "<=", 1) - _t649 = 2 + _t650 = 2 else if match_lookahead_literal(parser, "<", 1) - _t650 = 1 + _t651 = 1 else if match_lookahead_literal(parser, "/", 1) - _t651 = 8 + _t652 = 8 else if match_lookahead_literal(parser, "-", 1) - _t652 = 6 + _t653 = 6 else if match_lookahead_literal(parser, "+", 1) - _t653 = 5 + _t654 = 5 else if match_lookahead_literal(parser, "*", 1) - _t654 = 7 + _t655 = 7 else - _t654 = -1 + _t655 = -1 end - _t653 = _t654 + _t654 = _t655 end - _t652 = _t653 + _t653 = _t654 end - _t651 = _t652 + _t652 = _t653 end - _t650 = _t651 + _t651 = _t652 end - _t649 = _t650 + _t650 = _t651 end - _t648 = _t649 + _t649 = _t650 end - _t647 = _t648 + _t648 = _t649 end - _t646 = _t647 + _t647 = _t648 end - _t645 = _t646 + _t646 = _t647 end - _t644 = _t645 + _t645 = _t646 else - _t644 = -1 + _t645 = -1 end - prediction149 = _t644 + prediction149 = _t645 if prediction149 == 9 consume_literal!(parser, "(") consume_literal!(parser, "primitive") - _t656 = parse_name(parser) - name159 = _t656 + _t657 = parse_name(parser) + name159 = _t657 xs160 = Proto.RelTerm[] cond161 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond161 - _t657 = parse_rel_term(parser) - item162 = _t657 + _t658 = parse_rel_term(parser) + item162 = _t658 push!(xs160, item162) cond161 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end rel_terms163 = xs160 consume_literal!(parser, ")") - _t658 = Proto.Primitive(name=name159, terms=rel_terms163) - _t655 = _t658 + _t659 = Proto.Primitive(name=name159, terms=rel_terms163) + _t656 = _t659 else if prediction149 == 8 - _t660 = parse_divide(parser) - divide158 = _t660 - _t659 = divide158 + _t661 = parse_divide(parser) + divide158 = _t661 + _t660 = divide158 else if prediction149 == 7 - _t662 = parse_multiply(parser) - multiply157 = _t662 - _t661 = multiply157 + _t663 = parse_multiply(parser) + multiply157 = _t663 + _t662 = multiply157 else if prediction149 == 6 - _t664 = parse_minus(parser) - minus156 = _t664 - _t663 = minus156 + _t665 = parse_minus(parser) + minus156 = _t665 + _t664 = minus156 else if prediction149 == 5 - _t666 = parse_add(parser) - add155 = _t666 - _t665 = add155 + _t667 = parse_add(parser) + add155 = _t667 + _t666 = add155 else if prediction149 == 4 - _t668 = parse_gt_eq(parser) - gt_eq154 = _t668 - _t667 = gt_eq154 + _t669 = parse_gt_eq(parser) + gt_eq154 = _t669 + _t668 = gt_eq154 else if prediction149 == 3 - _t670 = parse_gt(parser) - gt153 = _t670 - _t669 = gt153 + _t671 = parse_gt(parser) + gt153 = _t671 + _t670 = gt153 else if prediction149 == 2 - _t672 = parse_lt_eq(parser) - lt_eq152 = _t672 - _t671 = lt_eq152 + _t673 = parse_lt_eq(parser) + lt_eq152 = _t673 + _t672 = lt_eq152 else if prediction149 == 1 - _t674 = parse_lt(parser) - lt151 = _t674 - _t673 = lt151 + _t675 = parse_lt(parser) + lt151 = _t675 + _t674 = lt151 else if prediction149 == 0 - _t676 = parse_eq(parser) - eq150 = _t676 - _t675 = eq150 + _t677 = parse_eq(parser) + eq150 = _t677 + _t676 = eq150 else throw(ParseError("Unexpected token in primitive" * ": " * string(lookahead(parser, 0)))) end - _t673 = _t675 + _t674 = _t676 end - _t671 = _t673 + _t672 = _t674 end - _t669 = _t671 + _t670 = _t672 end - _t667 = _t669 + _t668 = _t670 end - _t665 = _t667 + _t666 = _t668 end - _t663 = _t665 + _t664 = _t666 end - _t661 = _t663 + _t662 = _t664 end - _t659 = _t661 + _t660 = _t662 end - _t655 = _t659 + _t656 = _t660 end - return _t655 + return _t656 end function parse_eq(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "=") - _t677 = parse_term(parser) - term164 = _t677 _t678 = parse_term(parser) - term_3165 = _t678 + term164 = _t678 + _t679 = parse_term(parser) + term_3165 = _t679 consume_literal!(parser, ")") - _t679 = Proto.RelTerm(rel_term_type=OneOf(:term, term164)) - _t680 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3165)) - _t681 = Proto.Primitive(name="rel_primitive_eq", terms=Proto.RelTerm[_t679, _t680]) - return _t681 + _t680 = Proto.RelTerm(rel_term_type=OneOf(:term, term164)) + _t681 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3165)) + _t682 = Proto.Primitive(name="rel_primitive_eq", terms=Proto.RelTerm[_t680, _t681]) + return _t682 end function parse_lt(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "<") - _t682 = parse_term(parser) - term166 = _t682 _t683 = parse_term(parser) - term_3167 = _t683 + term166 = _t683 + _t684 = parse_term(parser) + term_3167 = _t684 consume_literal!(parser, ")") - _t684 = Proto.RelTerm(rel_term_type=OneOf(:term, term166)) - _t685 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3167)) - _t686 = Proto.Primitive(name="rel_primitive_lt_monotype", terms=Proto.RelTerm[_t684, _t685]) - return _t686 + _t685 = Proto.RelTerm(rel_term_type=OneOf(:term, term166)) + _t686 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3167)) + _t687 = Proto.Primitive(name="rel_primitive_lt_monotype", terms=Proto.RelTerm[_t685, _t686]) + return _t687 end function parse_lt_eq(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "<=") - _t687 = parse_term(parser) - term168 = _t687 _t688 = parse_term(parser) - term_3169 = _t688 + term168 = _t688 + _t689 = parse_term(parser) + term_3169 = _t689 consume_literal!(parser, ")") - _t689 = Proto.RelTerm(rel_term_type=OneOf(:term, term168)) - _t690 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3169)) - _t691 = Proto.Primitive(name="rel_primitive_lt_eq_monotype", terms=Proto.RelTerm[_t689, _t690]) - return _t691 + _t690 = Proto.RelTerm(rel_term_type=OneOf(:term, term168)) + _t691 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3169)) + _t692 = Proto.Primitive(name="rel_primitive_lt_eq_monotype", terms=Proto.RelTerm[_t690, _t691]) + return _t692 end function parse_gt(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, ">") - _t692 = parse_term(parser) - term170 = _t692 _t693 = parse_term(parser) - term_3171 = _t693 + term170 = _t693 + _t694 = parse_term(parser) + term_3171 = _t694 consume_literal!(parser, ")") - _t694 = Proto.RelTerm(rel_term_type=OneOf(:term, term170)) - _t695 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3171)) - _t696 = Proto.Primitive(name="rel_primitive_gt_monotype", terms=Proto.RelTerm[_t694, _t695]) - return _t696 + _t695 = Proto.RelTerm(rel_term_type=OneOf(:term, term170)) + _t696 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3171)) + _t697 = Proto.Primitive(name="rel_primitive_gt_monotype", terms=Proto.RelTerm[_t695, _t696]) + return _t697 end function parse_gt_eq(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, ">=") - _t697 = parse_term(parser) - term172 = _t697 _t698 = parse_term(parser) - term_3173 = _t698 + term172 = _t698 + _t699 = parse_term(parser) + term_3173 = _t699 consume_literal!(parser, ")") - _t699 = Proto.RelTerm(rel_term_type=OneOf(:term, term172)) - _t700 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3173)) - _t701 = Proto.Primitive(name="rel_primitive_gt_eq_monotype", terms=Proto.RelTerm[_t699, _t700]) - return _t701 + _t700 = Proto.RelTerm(rel_term_type=OneOf(:term, term172)) + _t701 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3173)) + _t702 = Proto.Primitive(name="rel_primitive_gt_eq_monotype", terms=Proto.RelTerm[_t700, _t701]) + return _t702 end function parse_add(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "+") - _t702 = parse_term(parser) - term174 = _t702 _t703 = parse_term(parser) - term_3175 = _t703 + term174 = _t703 _t704 = parse_term(parser) - term_4176 = _t704 + term_3175 = _t704 + _t705 = parse_term(parser) + term_4176 = _t705 consume_literal!(parser, ")") - _t705 = Proto.RelTerm(rel_term_type=OneOf(:term, term174)) - _t706 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3175)) - _t707 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4176)) - _t708 = Proto.Primitive(name="rel_primitive_add_monotype", terms=Proto.RelTerm[_t705, _t706, _t707]) - return _t708 + _t706 = Proto.RelTerm(rel_term_type=OneOf(:term, term174)) + _t707 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3175)) + _t708 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4176)) + _t709 = Proto.Primitive(name="rel_primitive_add_monotype", terms=Proto.RelTerm[_t706, _t707, _t708]) + return _t709 end function parse_minus(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "-") - _t709 = parse_term(parser) - term177 = _t709 _t710 = parse_term(parser) - term_3178 = _t710 + term177 = _t710 _t711 = parse_term(parser) - term_4179 = _t711 + term_3178 = _t711 + _t712 = parse_term(parser) + term_4179 = _t712 consume_literal!(parser, ")") - _t712 = Proto.RelTerm(rel_term_type=OneOf(:term, term177)) - _t713 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3178)) - _t714 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4179)) - _t715 = Proto.Primitive(name="rel_primitive_subtract_monotype", terms=Proto.RelTerm[_t712, _t713, _t714]) - return _t715 + _t713 = Proto.RelTerm(rel_term_type=OneOf(:term, term177)) + _t714 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3178)) + _t715 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4179)) + _t716 = Proto.Primitive(name="rel_primitive_subtract_monotype", terms=Proto.RelTerm[_t713, _t714, _t715]) + return _t716 end function parse_multiply(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "*") - _t716 = parse_term(parser) - term180 = _t716 _t717 = parse_term(parser) - term_3181 = _t717 + term180 = _t717 _t718 = parse_term(parser) - term_4182 = _t718 + term_3181 = _t718 + _t719 = parse_term(parser) + term_4182 = _t719 consume_literal!(parser, ")") - _t719 = Proto.RelTerm(rel_term_type=OneOf(:term, term180)) - _t720 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3181)) - _t721 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4182)) - _t722 = Proto.Primitive(name="rel_primitive_multiply_monotype", terms=Proto.RelTerm[_t719, _t720, _t721]) - return _t722 + _t720 = Proto.RelTerm(rel_term_type=OneOf(:term, term180)) + _t721 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3181)) + _t722 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4182)) + _t723 = Proto.Primitive(name="rel_primitive_multiply_monotype", terms=Proto.RelTerm[_t720, _t721, _t722]) + return _t723 end function parse_divide(parser::Parser)::Proto.Primitive consume_literal!(parser, "(") consume_literal!(parser, "/") - _t723 = parse_term(parser) - term183 = _t723 _t724 = parse_term(parser) - term_3184 = _t724 + term183 = _t724 _t725 = parse_term(parser) - term_4185 = _t725 + term_3184 = _t725 + _t726 = parse_term(parser) + term_4185 = _t726 consume_literal!(parser, ")") - _t726 = Proto.RelTerm(rel_term_type=OneOf(:term, term183)) - _t727 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3184)) - _t728 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4185)) - _t729 = Proto.Primitive(name="rel_primitive_divide_monotype", terms=Proto.RelTerm[_t726, _t727, _t728]) - return _t729 + _t727 = Proto.RelTerm(rel_term_type=OneOf(:term, term183)) + _t728 = Proto.RelTerm(rel_term_type=OneOf(:term, term_3184)) + _t729 = Proto.RelTerm(rel_term_type=OneOf(:term, term_4185)) + _t730 = Proto.Primitive(name="rel_primitive_divide_monotype", terms=Proto.RelTerm[_t727, _t728, _t729]) + return _t730 end function parse_rel_term(parser::Parser)::Proto.RelTerm if match_lookahead_literal(parser, "true", 0) - _t730 = 1 + _t731 = 1 else if match_lookahead_literal(parser, "missing", 0) - _t731 = 1 + _t732 = 1 else if match_lookahead_literal(parser, "false", 0) - _t732 = 1 + _t733 = 1 else if match_lookahead_literal(parser, "(", 0) - _t733 = 1 + _t734 = 1 else if match_lookahead_literal(parser, "#", 0) - _t734 = 0 + _t735 = 0 else if match_lookahead_terminal(parser, "UINT128", 0) - _t735 = 1 + _t736 = 1 else if match_lookahead_terminal(parser, "SYMBOL", 0) - _t736 = 1 + _t737 = 1 else if match_lookahead_terminal(parser, "STRING", 0) - _t737 = 1 + _t738 = 1 else if match_lookahead_terminal(parser, "INT128", 0) - _t738 = 1 + _t739 = 1 else if match_lookahead_terminal(parser, "INT", 0) - _t739 = 1 + _t740 = 1 else if match_lookahead_terminal(parser, "FLOAT", 0) - _t740 = 1 + _t741 = 1 else if match_lookahead_terminal(parser, "DECIMAL", 0) - _t741 = 1 + _t742 = 1 else - _t741 = -1 + _t742 = -1 end - _t740 = _t741 + _t741 = _t742 end - _t739 = _t740 + _t740 = _t741 end - _t738 = _t739 + _t739 = _t740 end - _t737 = _t738 + _t738 = _t739 end - _t736 = _t737 + _t737 = _t738 end - _t735 = _t736 + _t736 = _t737 end - _t734 = _t735 + _t735 = _t736 end - _t733 = _t734 + _t734 = _t735 end - _t732 = _t733 + _t733 = _t734 end - _t731 = _t732 + _t732 = _t733 end - _t730 = _t731 + _t731 = _t732 end - prediction186 = _t730 + prediction186 = _t731 if prediction186 == 1 - _t743 = parse_term(parser) - term188 = _t743 - _t744 = Proto.RelTerm(rel_term_type=OneOf(:term, term188)) - _t742 = _t744 + _t744 = parse_term(parser) + term188 = _t744 + _t745 = Proto.RelTerm(rel_term_type=OneOf(:term, term188)) + _t743 = _t745 else if prediction186 == 0 - _t746 = parse_specialized_value(parser) - specialized_value187 = _t746 - _t747 = Proto.RelTerm(rel_term_type=OneOf(:specialized_value, specialized_value187)) - _t745 = _t747 + _t747 = parse_specialized_value(parser) + specialized_value187 = _t747 + _t748 = Proto.RelTerm(rel_term_type=OneOf(:specialized_value, specialized_value187)) + _t746 = _t748 else throw(ParseError("Unexpected token in rel_term" * ": " * string(lookahead(parser, 0)))) end - _t742 = _t745 + _t743 = _t746 end - return _t742 + return _t743 end function parse_specialized_value(parser::Parser)::Proto.Value consume_literal!(parser, "#") - _t748 = parse_value(parser) - value189 = _t748 + _t749 = parse_value(parser) + value189 = _t749 return value189 end function parse_rel_atom(parser::Parser)::Proto.RelAtom consume_literal!(parser, "(") consume_literal!(parser, "relatom") - _t749 = parse_name(parser) - name190 = _t749 + _t750 = parse_name(parser) + name190 = _t750 xs191 = Proto.RelTerm[] cond192 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond192 - _t750 = parse_rel_term(parser) - item193 = _t750 + _t751 = parse_rel_term(parser) + item193 = _t751 push!(xs191, item193) cond192 = (((((((((((match_lookahead_literal(parser, "#", 0) || match_lookahead_literal(parser, "(", 0)) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "SYMBOL", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end rel_terms194 = xs191 consume_literal!(parser, ")") - _t751 = Proto.RelAtom(name=name190, terms=rel_terms194) - return _t751 + _t752 = Proto.RelAtom(name=name190, terms=rel_terms194) + return _t752 end function parse_cast(parser::Parser)::Proto.Cast consume_literal!(parser, "(") consume_literal!(parser, "cast") - _t752 = parse_term(parser) - term195 = _t752 _t753 = parse_term(parser) - term_3196 = _t753 + term195 = _t753 + _t754 = parse_term(parser) + term_3196 = _t754 consume_literal!(parser, ")") - _t754 = Proto.Cast(input=term195, result=term_3196) - return _t754 + _t755 = Proto.Cast(input=term195, result=term_3196) + return _t755 end function parse_attrs(parser::Parser)::Vector{Proto.Attribute} @@ -2362,8 +2362,8 @@ function parse_attrs(parser::Parser)::Vector{Proto.Attribute} xs197 = Proto.Attribute[] cond198 = match_lookahead_literal(parser, "(", 0) while cond198 - _t755 = parse_attribute(parser) - item199 = _t755 + _t756 = parse_attribute(parser) + item199 = _t756 push!(xs197, item199) cond198 = match_lookahead_literal(parser, "(", 0) end @@ -2375,20 +2375,20 @@ end function parse_attribute(parser::Parser)::Proto.Attribute consume_literal!(parser, "(") consume_literal!(parser, "attribute") - _t756 = parse_name(parser) - name201 = _t756 + _t757 = parse_name(parser) + name201 = _t757 xs202 = Proto.Value[] cond203 = (((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) while cond203 - _t757 = parse_value(parser) - item204 = _t757 + _t758 = parse_value(parser) + item204 = _t758 push!(xs202, item204) cond203 = (((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "false", 0)) || match_lookahead_literal(parser, "missing", 0)) || match_lookahead_literal(parser, "true", 0)) || match_lookahead_terminal(parser, "DECIMAL", 0)) || match_lookahead_terminal(parser, "FLOAT", 0)) || match_lookahead_terminal(parser, "INT", 0)) || match_lookahead_terminal(parser, "INT128", 0)) || match_lookahead_terminal(parser, "STRING", 0)) || match_lookahead_terminal(parser, "UINT128", 0)) end values205 = xs202 consume_literal!(parser, ")") - _t758 = Proto.Attribute(name=name201, args=values205) - return _t758 + _t759 = Proto.Attribute(name=name201, args=values205) + return _t759 end function parse_algorithm(parser::Parser)::Proto.Algorithm @@ -2397,17 +2397,17 @@ function parse_algorithm(parser::Parser)::Proto.Algorithm xs206 = Proto.RelationId[] cond207 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) while cond207 - _t759 = parse_relation_id(parser) - item208 = _t759 + _t760 = parse_relation_id(parser) + item208 = _t760 push!(xs206, item208) cond207 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) end relation_ids209 = xs206 - _t760 = parse_script(parser) - script210 = _t760 + _t761 = parse_script(parser) + script210 = _t761 consume_literal!(parser, ")") - _t761 = Proto.Algorithm(var"#global"=relation_ids209, body=script210) - return _t761 + _t762 = Proto.Algorithm(var"#global"=relation_ids209, body=script210) + return _t762 end function parse_script(parser::Parser)::Proto.Script @@ -2416,15 +2416,15 @@ function parse_script(parser::Parser)::Proto.Script xs211 = Proto.Construct[] cond212 = match_lookahead_literal(parser, "(", 0) while cond212 - _t762 = parse_construct(parser) - item213 = _t762 + _t763 = parse_construct(parser) + item213 = _t763 push!(xs211, item213) cond212 = match_lookahead_literal(parser, "(", 0) end constructs214 = xs211 consume_literal!(parser, ")") - _t763 = Proto.Script(constructs=constructs214) - return _t763 + _t764 = Proto.Script(constructs=constructs214) + return _t764 end function parse_construct(parser::Parser)::Proto.Construct @@ -2432,76 +2432,76 @@ function parse_construct(parser::Parser)::Proto.Construct if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "upsert", 1) - _t765 = 1 + _t766 = 1 else if match_lookahead_literal(parser, "monus", 1) - _t766 = 1 + _t767 = 1 else if match_lookahead_literal(parser, "monoid", 1) - _t767 = 1 + _t768 = 1 else if match_lookahead_literal(parser, "loop", 1) - _t768 = 0 + _t769 = 0 else if match_lookahead_literal(parser, "break", 1) - _t769 = 1 + _t770 = 1 else if match_lookahead_literal(parser, "assign", 1) - _t770 = 1 + _t771 = 1 else - _t770 = -1 + _t771 = -1 end - _t769 = _t770 + _t770 = _t771 end - _t768 = _t769 + _t769 = _t770 end - _t767 = _t768 + _t768 = _t769 end - _t766 = _t767 + _t767 = _t768 end - _t765 = _t766 + _t766 = _t767 end - _t764 = _t765 + _t765 = _t766 else - _t764 = -1 + _t765 = -1 end - prediction215 = _t764 + prediction215 = _t765 if prediction215 == 1 - _t772 = parse_instruction(parser) - instruction217 = _t772 - _t773 = Proto.Construct(construct_type=OneOf(:instruction, instruction217)) - _t771 = _t773 + _t773 = parse_instruction(parser) + instruction217 = _t773 + _t774 = Proto.Construct(construct_type=OneOf(:instruction, instruction217)) + _t772 = _t774 else if prediction215 == 0 - _t775 = parse_loop(parser) - loop216 = _t775 - _t776 = Proto.Construct(construct_type=OneOf(:loop, loop216)) - _t774 = _t776 + _t776 = parse_loop(parser) + loop216 = _t776 + _t777 = Proto.Construct(construct_type=OneOf(:loop, loop216)) + _t775 = _t777 else throw(ParseError("Unexpected token in construct" * ": " * string(lookahead(parser, 0)))) end - _t771 = _t774 + _t772 = _t775 end - return _t771 + return _t772 end function parse_loop(parser::Parser)::Proto.Loop consume_literal!(parser, "(") consume_literal!(parser, "loop") - _t777 = parse_init(parser) - init218 = _t777 - _t778 = parse_script(parser) - script219 = _t778 + _t778 = parse_init(parser) + init218 = _t778 + _t779 = parse_script(parser) + script219 = _t779 consume_literal!(parser, ")") - _t779 = Proto.Loop(init=init218, body=script219) - return _t779 + _t780 = Proto.Loop(init=init218, body=script219) + return _t780 end function parse_init(parser::Parser)::Vector{Proto.Instruction} @@ -2510,8 +2510,8 @@ function parse_init(parser::Parser)::Vector{Proto.Instruction} xs220 = Proto.Instruction[] cond221 = match_lookahead_literal(parser, "(", 0) while cond221 - _t780 = parse_instruction(parser) - item222 = _t780 + _t781 = parse_instruction(parser) + item222 = _t781 push!(xs220, item222) cond221 = match_lookahead_literal(parser, "(", 0) end @@ -2525,178 +2525,178 @@ function parse_instruction(parser::Parser)::Proto.Instruction if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "upsert", 1) - _t782 = 1 + _t783 = 1 else if match_lookahead_literal(parser, "monus", 1) - _t783 = 4 + _t784 = 4 else if match_lookahead_literal(parser, "monoid", 1) - _t784 = 3 + _t785 = 3 else if match_lookahead_literal(parser, "break", 1) - _t785 = 2 + _t786 = 2 else if match_lookahead_literal(parser, "assign", 1) - _t786 = 0 + _t787 = 0 else - _t786 = -1 + _t787 = -1 end - _t785 = _t786 + _t786 = _t787 end - _t784 = _t785 + _t785 = _t786 end - _t783 = _t784 + _t784 = _t785 end - _t782 = _t783 + _t783 = _t784 end - _t781 = _t782 + _t782 = _t783 else - _t781 = -1 + _t782 = -1 end - prediction224 = _t781 + prediction224 = _t782 if prediction224 == 4 - _t788 = parse_monus_def(parser) - monus_def229 = _t788 - _t789 = Proto.Instruction(instr_type=OneOf(:monus_def, monus_def229)) - _t787 = _t789 + _t789 = parse_monus_def(parser) + monus_def229 = _t789 + _t790 = Proto.Instruction(instr_type=OneOf(:monus_def, monus_def229)) + _t788 = _t790 else if prediction224 == 3 - _t791 = parse_monoid_def(parser) - monoid_def228 = _t791 - _t792 = Proto.Instruction(instr_type=OneOf(:monoid_def, monoid_def228)) - _t790 = _t792 + _t792 = parse_monoid_def(parser) + monoid_def228 = _t792 + _t793 = Proto.Instruction(instr_type=OneOf(:monoid_def, monoid_def228)) + _t791 = _t793 else if prediction224 == 2 - _t794 = parse_break(parser) - break227 = _t794 - _t795 = Proto.Instruction(instr_type=OneOf(:var"#break", break227)) - _t793 = _t795 + _t795 = parse_break(parser) + break227 = _t795 + _t796 = Proto.Instruction(instr_type=OneOf(:var"#break", break227)) + _t794 = _t796 else if prediction224 == 1 - _t797 = parse_upsert(parser) - upsert226 = _t797 - _t798 = Proto.Instruction(instr_type=OneOf(:upsert, upsert226)) - _t796 = _t798 + _t798 = parse_upsert(parser) + upsert226 = _t798 + _t799 = Proto.Instruction(instr_type=OneOf(:upsert, upsert226)) + _t797 = _t799 else if prediction224 == 0 - _t800 = parse_assign(parser) - assign225 = _t800 - _t801 = Proto.Instruction(instr_type=OneOf(:assign, assign225)) - _t799 = _t801 + _t801 = parse_assign(parser) + assign225 = _t801 + _t802 = Proto.Instruction(instr_type=OneOf(:assign, assign225)) + _t800 = _t802 else throw(ParseError("Unexpected token in instruction" * ": " * string(lookahead(parser, 0)))) end - _t796 = _t799 + _t797 = _t800 end - _t793 = _t796 + _t794 = _t797 end - _t790 = _t793 + _t791 = _t794 end - _t787 = _t790 + _t788 = _t791 end - return _t787 + return _t788 end function parse_assign(parser::Parser)::Proto.Assign consume_literal!(parser, "(") consume_literal!(parser, "assign") - _t802 = parse_relation_id(parser) - relation_id230 = _t802 - _t803 = parse_abstraction(parser) - abstraction231 = _t803 + _t803 = parse_relation_id(parser) + relation_id230 = _t803 + _t804 = parse_abstraction(parser) + abstraction231 = _t804 if match_lookahead_literal(parser, "(", 0) - _t805 = parse_attrs(parser) - _t804 = _t805 + _t806 = parse_attrs(parser) + _t805 = _t806 else - _t804 = nothing + _t805 = nothing end - attrs232 = _t804 + attrs232 = _t805 consume_literal!(parser, ")") - _t806 = Proto.Assign(name=relation_id230, body=abstraction231, attrs=(!isnothing(attrs232) ? attrs232 : Proto.Attribute[])) - return _t806 + _t807 = Proto.Assign(name=relation_id230, body=abstraction231, attrs=(!isnothing(attrs232) ? attrs232 : Proto.Attribute[])) + return _t807 end function parse_upsert(parser::Parser)::Proto.Upsert consume_literal!(parser, "(") consume_literal!(parser, "upsert") - _t807 = parse_relation_id(parser) - relation_id233 = _t807 - _t808 = parse_abstraction_with_arity(parser) - abstraction_with_arity234 = _t808 + _t808 = parse_relation_id(parser) + relation_id233 = _t808 + _t809 = parse_abstraction_with_arity(parser) + abstraction_with_arity234 = _t809 if match_lookahead_literal(parser, "(", 0) - _t810 = parse_attrs(parser) - _t809 = _t810 + _t811 = parse_attrs(parser) + _t810 = _t811 else - _t809 = nothing + _t810 = nothing end - attrs235 = _t809 + attrs235 = _t810 consume_literal!(parser, ")") - _t811 = Proto.Upsert(name=relation_id233, body=abstraction_with_arity234[1], attrs=(!isnothing(attrs235) ? attrs235 : Proto.Attribute[]), value_arity=abstraction_with_arity234[2]) - return _t811 + _t812 = Proto.Upsert(name=relation_id233, body=abstraction_with_arity234[1], attrs=(!isnothing(attrs235) ? attrs235 : Proto.Attribute[]), value_arity=abstraction_with_arity234[2]) + return _t812 end function parse_abstraction_with_arity(parser::Parser)::Tuple{Proto.Abstraction, Int64} consume_literal!(parser, "(") - _t812 = parse_bindings(parser) - bindings236 = _t812 - _t813 = parse_formula(parser) - formula237 = _t813 + _t813 = parse_bindings(parser) + bindings236 = _t813 + _t814 = parse_formula(parser) + formula237 = _t814 consume_literal!(parser, ")") - _t814 = Proto.Abstraction(vars=vcat(bindings236[1], !isnothing(bindings236[2]) ? bindings236[2] : []), value=formula237) - return (_t814, length(bindings236[2]),) + _t815 = Proto.Abstraction(vars=vcat(bindings236[1], !isnothing(bindings236[2]) ? bindings236[2] : []), value=formula237) + return (_t815, length(bindings236[2]),) end function parse_break(parser::Parser)::Proto.Break consume_literal!(parser, "(") consume_literal!(parser, "break") - _t815 = parse_relation_id(parser) - relation_id238 = _t815 - _t816 = parse_abstraction(parser) - abstraction239 = _t816 + _t816 = parse_relation_id(parser) + relation_id238 = _t816 + _t817 = parse_abstraction(parser) + abstraction239 = _t817 if match_lookahead_literal(parser, "(", 0) - _t818 = parse_attrs(parser) - _t817 = _t818 + _t819 = parse_attrs(parser) + _t818 = _t819 else - _t817 = nothing + _t818 = nothing end - attrs240 = _t817 + attrs240 = _t818 consume_literal!(parser, ")") - _t819 = Proto.Break(name=relation_id238, body=abstraction239, attrs=(!isnothing(attrs240) ? attrs240 : Proto.Attribute[])) - return _t819 + _t820 = Proto.Break(name=relation_id238, body=abstraction239, attrs=(!isnothing(attrs240) ? attrs240 : Proto.Attribute[])) + return _t820 end function parse_monoid_def(parser::Parser)::Proto.MonoidDef consume_literal!(parser, "(") consume_literal!(parser, "monoid") - _t820 = parse_monoid(parser) - monoid241 = _t820 - _t821 = parse_relation_id(parser) - relation_id242 = _t821 - _t822 = parse_abstraction_with_arity(parser) - abstraction_with_arity243 = _t822 + _t821 = parse_monoid(parser) + monoid241 = _t821 + _t822 = parse_relation_id(parser) + relation_id242 = _t822 + _t823 = parse_abstraction_with_arity(parser) + abstraction_with_arity243 = _t823 if match_lookahead_literal(parser, "(", 0) - _t824 = parse_attrs(parser) - _t823 = _t824 + _t825 = parse_attrs(parser) + _t824 = _t825 else - _t823 = nothing + _t824 = nothing end - attrs244 = _t823 + attrs244 = _t824 consume_literal!(parser, ")") - _t825 = Proto.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[1], attrs=(!isnothing(attrs244) ? attrs244 : Proto.Attribute[]), value_arity=abstraction_with_arity243[2]) - return _t825 + _t826 = Proto.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[1], attrs=(!isnothing(attrs244) ? attrs244 : Proto.Attribute[]), value_arity=abstraction_with_arity243[2]) + return _t826 end function parse_monoid(parser::Parser)::Proto.Monoid @@ -2704,147 +2704,147 @@ function parse_monoid(parser::Parser)::Proto.Monoid if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "sum", 1) - _t827 = 3 + _t828 = 3 else if match_lookahead_literal(parser, "or", 1) - _t828 = 0 + _t829 = 0 else if match_lookahead_literal(parser, "min", 1) - _t829 = 1 + _t830 = 1 else if match_lookahead_literal(parser, "max", 1) - _t830 = 2 + _t831 = 2 else - _t830 = -1 + _t831 = -1 end - _t829 = _t830 + _t830 = _t831 end - _t828 = _t829 + _t829 = _t830 end - _t827 = _t828 + _t828 = _t829 end - _t826 = _t827 + _t827 = _t828 else - _t826 = -1 + _t827 = -1 end - prediction245 = _t826 + prediction245 = _t827 if prediction245 == 3 - _t832 = parse_sum_monoid(parser) - sum_monoid249 = _t832 - _t833 = Proto.Monoid(value=OneOf(:sum_monoid, sum_monoid249)) - _t831 = _t833 + _t833 = parse_sum_monoid(parser) + sum_monoid249 = _t833 + _t834 = Proto.Monoid(value=OneOf(:sum_monoid, sum_monoid249)) + _t832 = _t834 else if prediction245 == 2 - _t835 = parse_max_monoid(parser) - max_monoid248 = _t835 - _t836 = Proto.Monoid(value=OneOf(:max_monoid, max_monoid248)) - _t834 = _t836 + _t836 = parse_max_monoid(parser) + max_monoid248 = _t836 + _t837 = Proto.Monoid(value=OneOf(:max_monoid, max_monoid248)) + _t835 = _t837 else if prediction245 == 1 - _t838 = parse_min_monoid(parser) - min_monoid247 = _t838 - _t839 = Proto.Monoid(value=OneOf(:min_monoid, min_monoid247)) - _t837 = _t839 + _t839 = parse_min_monoid(parser) + min_monoid247 = _t839 + _t840 = Proto.Monoid(value=OneOf(:min_monoid, min_monoid247)) + _t838 = _t840 else if prediction245 == 0 - _t841 = parse_or_monoid(parser) - or_monoid246 = _t841 - _t842 = Proto.Monoid(value=OneOf(:or_monoid, or_monoid246)) - _t840 = _t842 + _t842 = parse_or_monoid(parser) + or_monoid246 = _t842 + _t843 = Proto.Monoid(value=OneOf(:or_monoid, or_monoid246)) + _t841 = _t843 else throw(ParseError("Unexpected token in monoid" * ": " * string(lookahead(parser, 0)))) end - _t837 = _t840 + _t838 = _t841 end - _t834 = _t837 + _t835 = _t838 end - _t831 = _t834 + _t832 = _t835 end - return _t831 + return _t832 end function parse_or_monoid(parser::Parser)::Proto.OrMonoid consume_literal!(parser, "(") consume_literal!(parser, "or") consume_literal!(parser, ")") - _t843 = Proto.OrMonoid() - return _t843 + _t844 = Proto.OrMonoid() + return _t844 end function parse_min_monoid(parser::Parser)::Proto.MinMonoid consume_literal!(parser, "(") consume_literal!(parser, "min") - _t844 = parse_type(parser) - type250 = _t844 + _t845 = parse_type(parser) + type250 = _t845 consume_literal!(parser, ")") - _t845 = Proto.MinMonoid(var"#type"=type250) - return _t845 + _t846 = Proto.MinMonoid(var"#type"=type250) + return _t846 end function parse_max_monoid(parser::Parser)::Proto.MaxMonoid consume_literal!(parser, "(") consume_literal!(parser, "max") - _t846 = parse_type(parser) - type251 = _t846 + _t847 = parse_type(parser) + type251 = _t847 consume_literal!(parser, ")") - _t847 = Proto.MaxMonoid(var"#type"=type251) - return _t847 + _t848 = Proto.MaxMonoid(var"#type"=type251) + return _t848 end function parse_sum_monoid(parser::Parser)::Proto.SumMonoid consume_literal!(parser, "(") consume_literal!(parser, "sum") - _t848 = parse_type(parser) - type252 = _t848 + _t849 = parse_type(parser) + type252 = _t849 consume_literal!(parser, ")") - _t849 = Proto.SumMonoid(var"#type"=type252) - return _t849 + _t850 = Proto.SumMonoid(var"#type"=type252) + return _t850 end function parse_monus_def(parser::Parser)::Proto.MonusDef consume_literal!(parser, "(") consume_literal!(parser, "monus") - _t850 = parse_monoid(parser) - monoid253 = _t850 - _t851 = parse_relation_id(parser) - relation_id254 = _t851 - _t852 = parse_abstraction_with_arity(parser) - abstraction_with_arity255 = _t852 + _t851 = parse_monoid(parser) + monoid253 = _t851 + _t852 = parse_relation_id(parser) + relation_id254 = _t852 + _t853 = parse_abstraction_with_arity(parser) + abstraction_with_arity255 = _t853 if match_lookahead_literal(parser, "(", 0) - _t854 = parse_attrs(parser) - _t853 = _t854 + _t855 = parse_attrs(parser) + _t854 = _t855 else - _t853 = nothing + _t854 = nothing end - attrs256 = _t853 + attrs256 = _t854 consume_literal!(parser, ")") - _t855 = Proto.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[1], attrs=(!isnothing(attrs256) ? attrs256 : Proto.Attribute[]), value_arity=abstraction_with_arity255[2]) - return _t855 + _t856 = Proto.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[1], attrs=(!isnothing(attrs256) ? attrs256 : Proto.Attribute[]), value_arity=abstraction_with_arity255[2]) + return _t856 end function parse_constraint(parser::Parser)::Proto.Constraint consume_literal!(parser, "(") consume_literal!(parser, "functional_dependency") - _t856 = parse_relation_id(parser) - relation_id257 = _t856 - _t857 = parse_abstraction(parser) - abstraction258 = _t857 - _t858 = parse_functional_dependency_keys(parser) - functional_dependency_keys259 = _t858 - _t859 = parse_functional_dependency_values(parser) - functional_dependency_values260 = _t859 + _t857 = parse_relation_id(parser) + relation_id257 = _t857 + _t858 = parse_abstraction(parser) + abstraction258 = _t858 + _t859 = parse_functional_dependency_keys(parser) + functional_dependency_keys259 = _t859 + _t860 = parse_functional_dependency_values(parser) + functional_dependency_values260 = _t860 consume_literal!(parser, ")") - _t860 = Proto.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) - _t861 = Proto.Constraint(constraint_type=OneOf(:functional_dependency, _t860), name=relation_id257) - return _t861 + _t861 = Proto.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) + _t862 = Proto.Constraint(constraint_type=OneOf(:functional_dependency, _t861), name=relation_id257) + return _t862 end function parse_functional_dependency_keys(parser::Parser)::Vector{Proto.Var} @@ -2853,8 +2853,8 @@ function parse_functional_dependency_keys(parser::Parser)::Vector{Proto.Var} xs261 = Proto.Var[] cond262 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond262 - _t862 = parse_var(parser) - item263 = _t862 + _t863 = parse_var(parser) + item263 = _t863 push!(xs261, item263) cond262 = match_lookahead_terminal(parser, "SYMBOL", 0) end @@ -2869,8 +2869,8 @@ function parse_functional_dependency_values(parser::Parser)::Vector{Proto.Var} xs265 = Proto.Var[] cond266 = match_lookahead_terminal(parser, "SYMBOL", 0) while cond266 - _t863 = parse_var(parser) - item267 = _t863 + _t864 = parse_var(parser) + item267 = _t864 push!(xs265, item267) cond266 = match_lookahead_terminal(parser, "SYMBOL", 0) end @@ -2884,69 +2884,69 @@ function parse_data(parser::Parser)::Proto.Data if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "rel_edb", 1) - _t865 = 0 + _t866 = 0 else if match_lookahead_literal(parser, "csv_data", 1) - _t866 = 2 + _t867 = 2 else if match_lookahead_literal(parser, "betree_relation", 1) - _t867 = 1 + _t868 = 1 else - _t867 = -1 + _t868 = -1 end - _t866 = _t867 + _t867 = _t868 end - _t865 = _t866 + _t866 = _t867 end - _t864 = _t865 + _t865 = _t866 else - _t864 = -1 + _t865 = -1 end - prediction269 = _t864 + prediction269 = _t865 if prediction269 == 2 - _t869 = parse_csv_data(parser) - csv_data272 = _t869 - _t870 = Proto.Data(data_type=OneOf(:csv_data, csv_data272)) - _t868 = _t870 + _t870 = parse_csv_data(parser) + csv_data272 = _t870 + _t871 = Proto.Data(data_type=OneOf(:csv_data, csv_data272)) + _t869 = _t871 else if prediction269 == 1 - _t872 = parse_betree_relation(parser) - betree_relation271 = _t872 - _t873 = Proto.Data(data_type=OneOf(:betree_relation, betree_relation271)) - _t871 = _t873 + _t873 = parse_betree_relation(parser) + betree_relation271 = _t873 + _t874 = Proto.Data(data_type=OneOf(:betree_relation, betree_relation271)) + _t872 = _t874 else if prediction269 == 0 - _t875 = parse_rel_edb(parser) - rel_edb270 = _t875 - _t876 = Proto.Data(data_type=OneOf(:rel_edb, rel_edb270)) - _t874 = _t876 + _t876 = parse_rel_edb(parser) + rel_edb270 = _t876 + _t877 = Proto.Data(data_type=OneOf(:rel_edb, rel_edb270)) + _t875 = _t877 else throw(ParseError("Unexpected token in data" * ": " * string(lookahead(parser, 0)))) end - _t871 = _t874 + _t872 = _t875 end - _t868 = _t871 + _t869 = _t872 end - return _t868 + return _t869 end function parse_rel_edb(parser::Parser)::Proto.RelEDB consume_literal!(parser, "(") consume_literal!(parser, "rel_edb") - _t877 = parse_relation_id(parser) - relation_id273 = _t877 - _t878 = parse_rel_edb_path(parser) - rel_edb_path274 = _t878 - _t879 = parse_rel_edb_types(parser) - rel_edb_types275 = _t879 + _t878 = parse_relation_id(parser) + relation_id273 = _t878 + _t879 = parse_rel_edb_path(parser) + rel_edb_path274 = _t879 + _t880 = parse_rel_edb_types(parser) + rel_edb_types275 = _t880 consume_literal!(parser, ")") - _t880 = Proto.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) - return _t880 + _t881 = Proto.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) + return _t881 end function parse_rel_edb_path(parser::Parser)::Vector{String} @@ -2968,8 +2968,8 @@ function parse_rel_edb_types(parser::Parser)::Vector{Proto.var"#Type"} xs280 = Proto.var"#Type"[] cond281 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond281 - _t881 = parse_type(parser) - item282 = _t881 + _t882 = parse_type(parser) + item282 = _t882 push!(xs280, item282) cond281 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end @@ -2981,27 +2981,27 @@ end function parse_betree_relation(parser::Parser)::Proto.BeTreeRelation consume_literal!(parser, "(") consume_literal!(parser, "betree_relation") - _t882 = parse_relation_id(parser) - relation_id284 = _t882 - _t883 = parse_betree_info(parser) - betree_info285 = _t883 + _t883 = parse_relation_id(parser) + relation_id284 = _t883 + _t884 = parse_betree_info(parser) + betree_info285 = _t884 consume_literal!(parser, ")") - _t884 = Proto.BeTreeRelation(name=relation_id284, relation_info=betree_info285) - return _t884 + _t885 = Proto.BeTreeRelation(name=relation_id284, relation_info=betree_info285) + return _t885 end function parse_betree_info(parser::Parser)::Proto.BeTreeInfo consume_literal!(parser, "(") consume_literal!(parser, "betree_info") - _t885 = parse_betree_info_key_types(parser) - betree_info_key_types286 = _t885 - _t886 = parse_betree_info_value_types(parser) - betree_info_value_types287 = _t886 - _t887 = parse_config_dict(parser) - config_dict288 = _t887 + _t886 = parse_betree_info_key_types(parser) + betree_info_key_types286 = _t886 + _t887 = parse_betree_info_value_types(parser) + betree_info_value_types287 = _t887 + _t888 = parse_config_dict(parser) + config_dict288 = _t888 consume_literal!(parser, ")") - _t888 = construct_betree_info(parser, betree_info_key_types286, betree_info_value_types287, config_dict288) - return _t888 + _t889 = construct_betree_info(parser, betree_info_key_types286, betree_info_value_types287, config_dict288) + return _t889 end function parse_betree_info_key_types(parser::Parser)::Vector{Proto.var"#Type"} @@ -3010,8 +3010,8 @@ function parse_betree_info_key_types(parser::Parser)::Vector{Proto.var"#Type"} xs289 = Proto.var"#Type"[] cond290 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond290 - _t889 = parse_type(parser) - item291 = _t889 + _t890 = parse_type(parser) + item291 = _t890 push!(xs289, item291) cond290 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end @@ -3026,8 +3026,8 @@ function parse_betree_info_value_types(parser::Parser)::Vector{Proto.var"#Type"} xs293 = Proto.var"#Type"[] cond294 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond294 - _t890 = parse_type(parser) - item295 = _t890 + _t891 = parse_type(parser) + item295 = _t891 push!(xs293, item295) cond294 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end @@ -3039,17 +3039,17 @@ end function parse_csv_data(parser::Parser)::Proto.CSVData consume_literal!(parser, "(") consume_literal!(parser, "csv_data") - _t891 = parse_csvlocator(parser) - csvlocator297 = _t891 - _t892 = parse_csv_config(parser) - csv_config298 = _t892 - _t893 = parse_csv_columns(parser) - csv_columns299 = _t893 - _t894 = parse_csv_asof(parser) - csv_asof300 = _t894 + _t892 = parse_csvlocator(parser) + csvlocator297 = _t892 + _t893 = parse_csv_config(parser) + csv_config298 = _t893 + _t894 = parse_csv_columns(parser) + csv_columns299 = _t894 + _t895 = parse_csv_asof(parser) + csv_asof300 = _t895 consume_literal!(parser, ")") - _t895 = Proto.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) - return _t895 + _t896 = Proto.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) + return _t896 end function parse_csvlocator(parser::Parser)::Proto.CSVLocator @@ -3057,23 +3057,23 @@ function parse_csvlocator(parser::Parser)::Proto.CSVLocator consume_literal!(parser, "csv_locator") if (match_lookahead_literal(parser, "(", 0) && match_lookahead_literal(parser, "paths", 1)) - _t897 = parse_csv_locator_paths(parser) - _t896 = _t897 + _t898 = parse_csv_locator_paths(parser) + _t897 = _t898 else - _t896 = nothing + _t897 = nothing end - csv_locator_paths301 = _t896 + csv_locator_paths301 = _t897 if match_lookahead_literal(parser, "(", 0) - _t899 = parse_csv_locator_inline_data(parser) - _t898 = _t899 + _t900 = parse_csv_locator_inline_data(parser) + _t899 = _t900 else - _t898 = nothing + _t899 = nothing end - csv_locator_inline_data302 = _t898 + csv_locator_inline_data302 = _t899 consume_literal!(parser, ")") - _t900 = Proto.CSVLocator(paths=(!isnothing(csv_locator_paths301) ? csv_locator_paths301 : String[]), inline_data=Vector{UInt8}((!isnothing(csv_locator_inline_data302) ? csv_locator_inline_data302 : ""))) - return _t900 + _t901 = Proto.CSVLocator(paths=(!isnothing(csv_locator_paths301) ? csv_locator_paths301 : String[]), inline_data=Vector{UInt8}((!isnothing(csv_locator_inline_data302) ? csv_locator_inline_data302 : ""))) + return _t901 end function parse_csv_locator_paths(parser::Parser)::Vector{String} @@ -3102,11 +3102,11 @@ end function parse_csv_config(parser::Parser)::Proto.CSVConfig consume_literal!(parser, "(") consume_literal!(parser, "csv_config") - _t901 = parse_config_dict(parser) - config_dict308 = _t901 + _t902 = parse_config_dict(parser) + config_dict308 = _t902 consume_literal!(parser, ")") - _t902 = construct_csv_config(parser, config_dict308) - return _t902 + _t903 = construct_csv_config(parser, config_dict308) + return _t903 end function parse_csv_columns(parser::Parser)::Vector{Proto.CSVColumn} @@ -3115,8 +3115,8 @@ function parse_csv_columns(parser::Parser)::Vector{Proto.CSVColumn} xs309 = Proto.CSVColumn[] cond310 = match_lookahead_literal(parser, "(", 0) while cond310 - _t903 = parse_csv_column(parser) - item311 = _t903 + _t904 = parse_csv_column(parser) + item311 = _t904 push!(xs309, item311) cond310 = match_lookahead_literal(parser, "(", 0) end @@ -3129,22 +3129,22 @@ function parse_csv_column(parser::Parser)::Proto.CSVColumn consume_literal!(parser, "(") consume_literal!(parser, "column") string313 = consume_terminal!(parser, "STRING") - _t904 = parse_relation_id(parser) - relation_id314 = _t904 + _t905 = parse_relation_id(parser) + relation_id314 = _t905 consume_literal!(parser, "[") xs315 = Proto.var"#Type"[] cond316 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) while cond316 - _t905 = parse_type(parser) - item317 = _t905 + _t906 = parse_type(parser) + item317 = _t906 push!(xs315, item317) cond316 = ((((((((((match_lookahead_literal(parser, "(", 0) || match_lookahead_literal(parser, "BOOLEAN", 0)) || match_lookahead_literal(parser, "DATE", 0)) || match_lookahead_literal(parser, "DATETIME", 0)) || match_lookahead_literal(parser, "FLOAT", 0)) || match_lookahead_literal(parser, "INT", 0)) || match_lookahead_literal(parser, "INT128", 0)) || match_lookahead_literal(parser, "MISSING", 0)) || match_lookahead_literal(parser, "STRING", 0)) || match_lookahead_literal(parser, "UINT128", 0)) || match_lookahead_literal(parser, "UNKNOWN", 0)) end types318 = xs315 consume_literal!(parser, "]") consume_literal!(parser, ")") - _t906 = Proto.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) - return _t906 + _t907 = Proto.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) + return _t907 end function parse_csv_asof(parser::Parser)::String @@ -3158,11 +3158,11 @@ end function parse_undefine(parser::Parser)::Proto.Undefine consume_literal!(parser, "(") consume_literal!(parser, "undefine") - _t907 = parse_fragment_id(parser) - fragment_id320 = _t907 + _t908 = parse_fragment_id(parser) + fragment_id320 = _t908 consume_literal!(parser, ")") - _t908 = Proto.Undefine(fragment_id=fragment_id320) - return _t908 + _t909 = Proto.Undefine(fragment_id=fragment_id320) + return _t909 end function parse_context(parser::Parser)::Proto.Context @@ -3171,15 +3171,15 @@ function parse_context(parser::Parser)::Proto.Context xs321 = Proto.RelationId[] cond322 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) while cond322 - _t909 = parse_relation_id(parser) - item323 = _t909 + _t910 = parse_relation_id(parser) + item323 = _t910 push!(xs321, item323) cond322 = (match_lookahead_literal(parser, ":", 0) || match_lookahead_terminal(parser, "UINT128", 0)) end relation_ids324 = xs321 consume_literal!(parser, ")") - _t910 = Proto.Context(relations=relation_ids324) - return _t910 + _t911 = Proto.Context(relations=relation_ids324) + return _t911 end function parse_epoch_reads(parser::Parser)::Vector{Proto.Read} @@ -3188,8 +3188,8 @@ function parse_epoch_reads(parser::Parser)::Vector{Proto.Read} xs325 = Proto.Read[] cond326 = match_lookahead_literal(parser, "(", 0) while cond326 - _t911 = parse_read(parser) - item327 = _t911 + _t912 = parse_read(parser) + item327 = _t912 push!(xs325, item327) cond326 = match_lookahead_literal(parser, "(", 0) end @@ -3203,119 +3203,119 @@ function parse_read(parser::Parser)::Proto.Read if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "what_if", 1) - _t913 = 2 + _t914 = 2 else if match_lookahead_literal(parser, "output", 1) - _t914 = 1 + _t915 = 1 else if match_lookahead_literal(parser, "export", 1) - _t915 = 4 + _t916 = 4 else if match_lookahead_literal(parser, "demand", 1) - _t916 = 0 + _t917 = 0 else if match_lookahead_literal(parser, "abort", 1) - _t917 = 3 + _t918 = 3 else - _t917 = -1 + _t918 = -1 end - _t916 = _t917 + _t917 = _t918 end - _t915 = _t916 + _t916 = _t917 end - _t914 = _t915 + _t915 = _t916 end - _t913 = _t914 + _t914 = _t915 end - _t912 = _t913 + _t913 = _t914 else - _t912 = -1 + _t913 = -1 end - prediction329 = _t912 + prediction329 = _t913 if prediction329 == 4 - _t919 = parse_export(parser) - export334 = _t919 - _t920 = Proto.Read(read_type=OneOf(:var"#export", export334)) - _t918 = _t920 + _t920 = parse_export(parser) + export334 = _t920 + _t921 = Proto.Read(read_type=OneOf(:var"#export", export334)) + _t919 = _t921 else if prediction329 == 3 - _t922 = parse_abort(parser) - abort333 = _t922 - _t923 = Proto.Read(read_type=OneOf(:abort, abort333)) - _t921 = _t923 + _t923 = parse_abort(parser) + abort333 = _t923 + _t924 = Proto.Read(read_type=OneOf(:abort, abort333)) + _t922 = _t924 else if prediction329 == 2 - _t925 = parse_what_if(parser) - what_if332 = _t925 - _t926 = Proto.Read(read_type=OneOf(:what_if, what_if332)) - _t924 = _t926 + _t926 = parse_what_if(parser) + what_if332 = _t926 + _t927 = Proto.Read(read_type=OneOf(:what_if, what_if332)) + _t925 = _t927 else if prediction329 == 1 - _t928 = parse_output(parser) - output331 = _t928 - _t929 = Proto.Read(read_type=OneOf(:output, output331)) - _t927 = _t929 + _t929 = parse_output(parser) + output331 = _t929 + _t930 = Proto.Read(read_type=OneOf(:output, output331)) + _t928 = _t930 else if prediction329 == 0 - _t931 = parse_demand(parser) - demand330 = _t931 - _t932 = Proto.Read(read_type=OneOf(:demand, demand330)) - _t930 = _t932 + _t932 = parse_demand(parser) + demand330 = _t932 + _t933 = Proto.Read(read_type=OneOf(:demand, demand330)) + _t931 = _t933 else throw(ParseError("Unexpected token in read" * ": " * string(lookahead(parser, 0)))) end - _t927 = _t930 + _t928 = _t931 end - _t924 = _t927 + _t925 = _t928 end - _t921 = _t924 + _t922 = _t925 end - _t918 = _t921 + _t919 = _t922 end - return _t918 + return _t919 end function parse_demand(parser::Parser)::Proto.Demand consume_literal!(parser, "(") consume_literal!(parser, "demand") - _t933 = parse_relation_id(parser) - relation_id335 = _t933 + _t934 = parse_relation_id(parser) + relation_id335 = _t934 consume_literal!(parser, ")") - _t934 = Proto.Demand(relation_id=relation_id335) - return _t934 + _t935 = Proto.Demand(relation_id=relation_id335) + return _t935 end function parse_output(parser::Parser)::Proto.Output consume_literal!(parser, "(") consume_literal!(parser, "output") - _t935 = parse_name(parser) - name336 = _t935 - _t936 = parse_relation_id(parser) - relation_id337 = _t936 + _t936 = parse_name(parser) + name336 = _t936 + _t937 = parse_relation_id(parser) + relation_id337 = _t937 consume_literal!(parser, ")") - _t937 = Proto.Output(name=name336, relation_id=relation_id337) - return _t937 + _t938 = Proto.Output(name=name336, relation_id=relation_id337) + return _t938 end function parse_what_if(parser::Parser)::Proto.WhatIf consume_literal!(parser, "(") consume_literal!(parser, "what_if") - _t938 = parse_name(parser) - name338 = _t938 - _t939 = parse_epoch(parser) - epoch339 = _t939 + _t939 = parse_name(parser) + name338 = _t939 + _t940 = parse_epoch(parser) + epoch339 = _t940 consume_literal!(parser, ")") - _t940 = Proto.WhatIf(branch=name338, epoch=epoch339) - return _t940 + _t941 = Proto.WhatIf(branch=name338, epoch=epoch339) + return _t941 end function parse_abort(parser::Parser)::Proto.Abort @@ -3323,27 +3323,27 @@ function parse_abort(parser::Parser)::Proto.Abort consume_literal!(parser, "abort") if (match_lookahead_literal(parser, ":", 0) && match_lookahead_terminal(parser, "SYMBOL", 1)) - _t942 = parse_name(parser) - _t941 = _t942 + _t943 = parse_name(parser) + _t942 = _t943 else - _t941 = nothing + _t942 = nothing end - name340 = _t941 - _t943 = parse_relation_id(parser) - relation_id341 = _t943 + name340 = _t942 + _t944 = parse_relation_id(parser) + relation_id341 = _t944 consume_literal!(parser, ")") - _t944 = Proto.Abort(name=(!isnothing(name340) ? name340 : "abort"), relation_id=relation_id341) - return _t944 + _t945 = Proto.Abort(name=(!isnothing(name340) ? name340 : "abort"), relation_id=relation_id341) + return _t945 end function parse_export(parser::Parser)::Proto.Export consume_literal!(parser, "(") consume_literal!(parser, "export") - _t945 = parse_export_csv_config(parser) - export_csv_config342 = _t945 + _t946 = parse_export_csv_config(parser) + export_csv_config342 = _t946 consume_literal!(parser, ")") - _t946 = Proto.Export(export_config=OneOf(:csv_config, export_csv_config342)) - return _t946 + _t947 = Proto.Export(export_config=OneOf(:csv_config, export_csv_config342)) + return _t947 end function parse_export_csv_config(parser::Parser)::Proto.ExportCSVConfig @@ -3351,72 +3351,62 @@ function parse_export_csv_config(parser::Parser)::Proto.ExportCSVConfig if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "export_csv_config_v2", 1) - _t948 = 0 + _t949 = 0 else if match_lookahead_literal(parser, "export_csv_config", 1) - _t949 = 1 + _t950 = 1 else - _t949 = -1 + _t950 = -1 end - _t948 = _t949 + _t949 = _t950 end - _t947 = _t948 + _t948 = _t949 else - _t947 = -1 + _t948 = -1 end - prediction343 = _t947 + prediction343 = _t948 if prediction343 == 1 consume_literal!(parser, "(") consume_literal!(parser, "export_csv_config") - _t951 = parse_export_csv_path(parser) - export_csv_path347 = _t951 - consume_literal!(parser, "(") - consume_literal!(parser, "columns") - xs348 = Proto.ExportCSVColumn[] - cond349 = match_lookahead_literal(parser, "(", 0) - while cond349 - _t952 = parse_export_csv_column(parser) - item350 = _t952 - push!(xs348, item350) - cond349 = match_lookahead_literal(parser, "(", 0) - end - export_csv_columns351 = xs348 - consume_literal!(parser, ")") - _t953 = parse_config_dict(parser) - config_dict352 = _t953 + _t952 = parse_export_csv_path(parser) + export_csv_path347 = _t952 + _t953 = parse_export_csv_columns(parser) + export_csv_columns348 = _t953 + _t954 = parse_config_dict(parser) + config_dict349 = _t954 consume_literal!(parser, ")") - _t954 = construct_export_csv_config(parser, export_csv_path347, export_csv_columns351, config_dict352) - _t950 = _t954 + _t955 = construct_export_csv_config(parser, export_csv_path347, export_csv_columns348, config_dict349) + _t951 = _t955 else if prediction343 == 0 consume_literal!(parser, "(") consume_literal!(parser, "export_csv_config_v2") - _t956 = parse_export_csv_path(parser) - export_csv_path344 = _t956 - _t957 = parse_export_csv_source(parser) - export_csv_source345 = _t957 - _t958 = parse_csv_config(parser) - csv_config346 = _t958 + _t957 = parse_export_csv_path(parser) + export_csv_path344 = _t957 + _t958 = parse_export_csv_source(parser) + export_csv_source345 = _t958 + _t959 = parse_csv_config(parser) + csv_config346 = _t959 consume_literal!(parser, ")") - _t959 = construct_export_csv_config_with_source(parser, export_csv_path344, export_csv_source345, csv_config346) - _t955 = _t959 + _t960 = construct_export_csv_config_with_source(parser, export_csv_path344, export_csv_source345, csv_config346) + _t956 = _t960 else throw(ParseError("Unexpected token in export_csv_config" * ": " * string(lookahead(parser, 0)))) end - _t950 = _t955 + _t951 = _t956 end - return _t950 + return _t951 end function parse_export_csv_path(parser::Parser)::String consume_literal!(parser, "(") consume_literal!(parser, "path") - string353 = consume_terminal!(parser, "STRING") + string350 = consume_terminal!(parser, "STRING") consume_literal!(parser, ")") - return string353 + return string350 end function parse_export_csv_source(parser::Parser)::Proto.ExportCSVSource @@ -3424,65 +3414,81 @@ function parse_export_csv_source(parser::Parser)::Proto.ExportCSVSource if match_lookahead_literal(parser, "(", 0) if match_lookahead_literal(parser, "table_def", 1) - _t961 = 1 + _t962 = 1 else if match_lookahead_literal(parser, "gnf_columns", 1) - _t962 = 0 + _t963 = 0 else - _t962 = -1 + _t963 = -1 end - _t961 = _t962 + _t962 = _t963 end - _t960 = _t961 + _t961 = _t962 else - _t960 = -1 + _t961 = -1 end - prediction354 = _t960 + prediction351 = _t961 - if prediction354 == 1 + if prediction351 == 1 consume_literal!(parser, "(") consume_literal!(parser, "table_def") - _t964 = parse_relation_id(parser) - relation_id359 = _t964 + _t965 = parse_relation_id(parser) + relation_id356 = _t965 consume_literal!(parser, ")") - _t965 = Proto.ExportCSVSource(csv_source=OneOf(:table_def, relation_id359)) - _t963 = _t965 + _t966 = Proto.ExportCSVSource(csv_source=OneOf(:table_def, relation_id356)) + _t964 = _t966 else - if prediction354 == 0 + if prediction351 == 0 consume_literal!(parser, "(") consume_literal!(parser, "gnf_columns") - xs355 = Proto.ExportCSVColumn[] - cond356 = match_lookahead_literal(parser, "(", 0) - while cond356 - _t967 = parse_export_csv_column(parser) - item357 = _t967 - push!(xs355, item357) - cond356 = match_lookahead_literal(parser, "(", 0) + xs352 = Proto.ExportCSVColumn[] + cond353 = match_lookahead_literal(parser, "(", 0) + while cond353 + _t968 = parse_export_csv_column(parser) + item354 = _t968 + push!(xs352, item354) + cond353 = match_lookahead_literal(parser, "(", 0) end - export_csv_columns358 = xs355 + export_csv_columns355 = xs352 consume_literal!(parser, ")") - _t968 = Proto.ExportCSVColumns(columns=export_csv_columns358) - _t969 = Proto.ExportCSVSource(csv_source=OneOf(:gnf_columns, _t968)) - _t966 = _t969 + _t969 = Proto.ExportCSVColumns(columns=export_csv_columns355) + _t970 = Proto.ExportCSVSource(csv_source=OneOf(:gnf_columns, _t969)) + _t967 = _t970 else throw(ParseError("Unexpected token in export_csv_source" * ": " * string(lookahead(parser, 0)))) end - _t963 = _t966 + _t964 = _t967 end - return _t963 + return _t964 end function parse_export_csv_column(parser::Parser)::Proto.ExportCSVColumn consume_literal!(parser, "(") consume_literal!(parser, "column") - string360 = consume_terminal!(parser, "STRING") - _t970 = parse_relation_id(parser) - relation_id361 = _t970 + string357 = consume_terminal!(parser, "STRING") + _t971 = parse_relation_id(parser) + relation_id358 = _t971 + consume_literal!(parser, ")") + _t972 = Proto.ExportCSVColumn(column_name=string357, column_data=relation_id358) + return _t972 +end + +function parse_export_csv_columns(parser::Parser)::Vector{Proto.ExportCSVColumn} + consume_literal!(parser, "(") + consume_literal!(parser, "columns") + xs359 = Proto.ExportCSVColumn[] + cond360 = match_lookahead_literal(parser, "(", 0) + while cond360 + _t973 = parse_export_csv_column(parser) + item361 = _t973 + push!(xs359, item361) + cond360 = match_lookahead_literal(parser, "(", 0) + end + export_csv_columns362 = xs359 consume_literal!(parser, ")") - _t971 = Proto.ExportCSVColumn(column_name=string360, column_data=relation_id361) - return _t971 + return export_csv_columns362 end diff --git a/sdks/python/src/lqp/gen/parser.py b/sdks/python/src/lqp/gen/parser.py index f47132b5..7dba4391 100644 --- a/sdks/python/src/lqp/gen/parser.py +++ b/sdks/python/src/lqp/gen/parser.py @@ -278,159 +278,184 @@ def relation_id_to_uint128(self, msg): # --- Helper functions --- - def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: - config = dict(config_dict) - _t972 = self._extract_value_int32(config.get('csv_header_row'), 1) - header_row = _t972 - _t973 = self._extract_value_int64(config.get('csv_skip'), 0) - skip = _t973 - _t974 = self._extract_value_string(config.get('csv_new_line'), '') - new_line = _t974 - _t975 = self._extract_value_string(config.get('csv_delimiter'), ',') - delimiter = _t975 - _t976 = self._extract_value_string(config.get('csv_quotechar'), '"') - quotechar = _t976 - _t977 = self._extract_value_string(config.get('csv_escapechar'), '"') - escapechar = _t977 - _t978 = self._extract_value_string(config.get('csv_comment'), '') - comment = _t978 - _t979 = self._extract_value_string_list(config.get('csv_missing_strings'), []) - missing_strings = _t979 - _t980 = self._extract_value_string(config.get('csv_decimal_separator'), '.') - decimal_separator = _t980 - _t981 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') - encoding = _t981 - _t982 = self._extract_value_string(config.get('csv_compression'), 'auto') - compression = _t982 - _t983 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) - partition_size = _t983 - _t984 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) - return _t984 - - def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: + def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: if value is not None: assert value is not None - _t985 = value.HasField('string_value') + _t974 = value.HasField('boolean_value') else: - _t985 = False - if _t985: + _t974 = False + if _t974: assert value is not None - return value.string_value + return value.boolean_value return default - def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: + def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: if value is not None: assert value is not None - _t986 = value.HasField('int_value') + _t975 = value.HasField('uint128_value') else: - _t986 = False - if _t986: + _t975 = False + if _t975: assert value is not None - return value.int_value + return value.uint128_value return None - def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Optional[float]: + def _extract_value_string_list(self, value: Optional[logic_pb2.Value], default: Sequence[str]) -> Sequence[str]: if value is not None: assert value is not None - _t987 = value.HasField('float_value') + _t976 = value.HasField('string_value') else: - _t987 = False - if _t987: + _t976 = False + if _t976: assert value is not None - return value.float_value - return None + return [value.string_value] + return default - def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: + def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: + config = dict(config_dict) + _t977 = self._extract_value_int64(config.get('partition_size'), 0) + partition_size = _t977 + _t978 = self._extract_value_string(config.get('compression'), '') + compression = _t978 + _t979 = self._extract_value_boolean(config.get('syntax_header_row'), True) + syntax_header_row = _t979 + _t980 = self._extract_value_string(config.get('syntax_missing_string'), '') + syntax_missing_string = _t980 + _t981 = self._extract_value_string(config.get('syntax_delim'), ',') + syntax_delim = _t981 + _t982 = self._extract_value_string(config.get('syntax_quotechar'), '"') + syntax_quotechar = _t982 + _t983 = self._extract_value_string(config.get('syntax_escapechar'), '\\') + syntax_escapechar = _t983 + _t984 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) + return _t984 + + def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.CSVConfig: + config = dict(config_dict) + _t985 = self._extract_value_int32(config.get('csv_header_row'), 1) + header_row = _t985 + _t986 = self._extract_value_int64(config.get('csv_skip'), 0) + skip = _t986 + _t987 = self._extract_value_string(config.get('csv_new_line'), '') + new_line = _t987 + _t988 = self._extract_value_string(config.get('csv_delimiter'), ',') + delimiter = _t988 + _t989 = self._extract_value_string(config.get('csv_quotechar'), '"') + quotechar = _t989 + _t990 = self._extract_value_string(config.get('csv_escapechar'), '"') + escapechar = _t990 + _t991 = self._extract_value_string(config.get('csv_comment'), '') + comment = _t991 + _t992 = self._extract_value_string_list(config.get('csv_missing_strings'), []) + missing_strings = _t992 + _t993 = self._extract_value_string(config.get('csv_decimal_separator'), '.') + decimal_separator = _t993 + _t994 = self._extract_value_string(config.get('csv_encoding'), 'utf-8') + encoding = _t994 + _t995 = self._extract_value_string(config.get('csv_compression'), 'auto') + compression = _t995 + _t996 = self._extract_value_int64(config.get('csv_partition_size_mb'), 0) + partition_size = _t996 + _t997 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + return _t997 + + def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: + config = dict(config_dict) + _t998 = self._try_extract_value_float64(config.get('betree_config_epsilon')) + epsilon = _t998 + _t999 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) + max_pivots = _t999 + _t1000 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) + max_deltas = _t1000 + _t1001 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) + max_leaf = _t1001 + _t1002 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) + storage_config = _t1002 + _t1003 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) + root_pageid = _t1003 + _t1004 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) + inline_data = _t1004 + _t1005 = self._try_extract_value_int64(config.get('betree_locator_element_count')) + element_count = _t1005 + _t1006 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) + tree_height = _t1006 + _t1007 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) + relation_locator = _t1007 + _t1008 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) + return _t1008 + + def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional[bytes]: if value is not None: assert value is not None - _t988 = value.HasField('int_value') + _t1009 = value.HasField('string_value') else: - _t988 = False - if _t988: + _t1009 = False + if _t1009: assert value is not None - return value.int_value - return default + return value.string_value.encode() + return None - def _extract_value_boolean(self, value: Optional[logic_pb2.Value], default: bool) -> bool: + def _extract_value_int64(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t989 = value.HasField('boolean_value') + _t1010 = value.HasField('int_value') else: - _t989 = False - if _t989: + _t1010 = False + if _t1010: assert value is not None - return value.boolean_value + return value.int_value return default - def _try_extract_value_bytes(self, value: Optional[logic_pb2.Value]) -> Optional[bytes]: + def _try_extract_value_float64(self, value: Optional[logic_pb2.Value]) -> Optional[float]: if value is not None: assert value is not None - _t990 = value.HasField('string_value') + _t1011 = value.HasField('float_value') else: - _t990 = False - if _t990: + _t1011 = False + if _t1011: assert value is not None - return value.string_value.encode() + return value.float_value return None - def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: + def default_configure(self) -> transactions_pb2.Configure: + _t1012 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) + ivm_config = _t1012 + _t1013 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) + return _t1013 + + def construct_export_csv_config_with_source(self, path: str, csv_source: transactions_pb2.ExportCSVSource, csv_config: logic_pb2.CSVConfig) -> transactions_pb2.ExportCSVConfig: + _t1014 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) + return _t1014 + + def _extract_value_string(self, value: Optional[logic_pb2.Value], default: str) -> str: if value is not None: assert value is not None - _t991 = value.HasField('int_value') + _t1015 = value.HasField('string_value') else: - _t991 = False - if _t991: + _t1015 = False + if _t1015: assert value is not None - return int(value.int_value) - return int(default) + return value.string_value + return default - def _try_extract_value_uint128(self, value: Optional[logic_pb2.Value]) -> Optional[logic_pb2.UInt128Value]: + def _extract_value_int32(self, value: Optional[logic_pb2.Value], default: int) -> int: if value is not None: assert value is not None - _t992 = value.HasField('uint128_value') + _t1016 = value.HasField('int_value') else: - _t992 = False - if _t992: + _t1016 = False + if _t1016: assert value is not None - return value.uint128_value - return None - - def construct_export_csv_config(self, path: str, columns: Sequence[transactions_pb2.ExportCSVColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.ExportCSVConfig: - config = dict(config_dict) - _t993 = self._extract_value_int64(config.get('partition_size'), 0) - partition_size = _t993 - _t994 = self._extract_value_string(config.get('compression'), '') - compression = _t994 - _t995 = self._extract_value_boolean(config.get('syntax_header_row'), True) - syntax_header_row = _t995 - _t996 = self._extract_value_string(config.get('syntax_missing_string'), '') - syntax_missing_string = _t996 - _t997 = self._extract_value_string(config.get('syntax_delim'), ',') - syntax_delim = _t997 - _t998 = self._extract_value_string(config.get('syntax_quotechar'), '"') - syntax_quotechar = _t998 - _t999 = self._extract_value_string(config.get('syntax_escapechar'), '\\') - syntax_escapechar = _t999 - _t1000 = transactions_pb2.ExportCSVConfig(path=path, data_columns=columns, partition_size=partition_size, compression=compression, syntax_header_row=syntax_header_row, syntax_missing_string=syntax_missing_string, syntax_delim=syntax_delim, syntax_quotechar=syntax_quotechar, syntax_escapechar=syntax_escapechar) - return _t1000 - - def default_configure(self) -> transactions_pb2.Configure: - _t1001 = transactions_pb2.IVMConfig(level=transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF) - ivm_config = _t1001 - _t1002 = transactions_pb2.Configure(semantics_version=0, ivm_config=ivm_config) - return _t1002 - - def construct_export_csv_config_with_source(self, path: str, csv_source: transactions_pb2.ExportCSVSource, csv_config: logic_pb2.CSVConfig) -> transactions_pb2.ExportCSVConfig: - _t1003 = transactions_pb2.ExportCSVConfig(path=path, csv_source=csv_source, csv_config=csv_config) - return _t1003 + return int(value.int_value) + return int(default) def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> transactions_pb2.Configure: config = dict(config_dict) @@ -447,49 +472,24 @@ def construct_configure(self, config_dict: Sequence[tuple[str, logic_pb2.Value]] maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL else: maintenance_level = transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF - _t1004 = transactions_pb2.IVMConfig(level=maintenance_level) - ivm_config = _t1004 - _t1005 = self._extract_value_int64(config.get('semantics_version'), 0) - semantics_version = _t1005 - _t1006 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) - return _t1006 + _t1017 = transactions_pb2.IVMConfig(level=maintenance_level) + ivm_config = _t1017 + _t1018 = self._extract_value_int64(config.get('semantics_version'), 0) + semantics_version = _t1018 + _t1019 = transactions_pb2.Configure(semantics_version=semantics_version, ivm_config=ivm_config) + return _t1019 - def _extract_value_string_list(self, value: Optional[logic_pb2.Value], default: Sequence[str]) -> Sequence[str]: + def _try_extract_value_int64(self, value: Optional[logic_pb2.Value]) -> Optional[int]: if value is not None: assert value is not None - _t1007 = value.HasField('string_value') + _t1020 = value.HasField('int_value') else: - _t1007 = False - if _t1007: + _t1020 = False + if _t1020: assert value is not None - return [value.string_value] - return default - - def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: - config = dict(config_dict) - _t1008 = self._try_extract_value_float64(config.get('betree_config_epsilon')) - epsilon = _t1008 - _t1009 = self._try_extract_value_int64(config.get('betree_config_max_pivots')) - max_pivots = _t1009 - _t1010 = self._try_extract_value_int64(config.get('betree_config_max_deltas')) - max_deltas = _t1010 - _t1011 = self._try_extract_value_int64(config.get('betree_config_max_leaf')) - max_leaf = _t1011 - _t1012 = logic_pb2.BeTreeConfig(epsilon=epsilon, max_pivots=max_pivots, max_deltas=max_deltas, max_leaf=max_leaf) - storage_config = _t1012 - _t1013 = self._try_extract_value_uint128(config.get('betree_locator_root_pageid')) - root_pageid = _t1013 - _t1014 = self._try_extract_value_bytes(config.get('betree_locator_inline_data')) - inline_data = _t1014 - _t1015 = self._try_extract_value_int64(config.get('betree_locator_element_count')) - element_count = _t1015 - _t1016 = self._try_extract_value_int64(config.get('betree_locator_tree_height')) - tree_height = _t1016 - _t1017 = logic_pb2.BeTreeLocator(root_pageid=root_pageid, inline_data=inline_data, element_count=element_count, tree_height=tree_height) - relation_locator = _t1017 - _t1018 = logic_pb2.BeTreeInfo(key_types=key_types, value_types=value_types, storage_config=storage_config, relation_locator=relation_locator) - return _t1018 + return value.int_value + return None # --- Parse methods --- @@ -498,47 +498,47 @@ def parse_transaction(self) -> transactions_pb2.Transaction: self.consume_literal('transaction') if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('configure', 1)): - _t363 = self.parse_configure() - _t362 = _t363 + _t364 = self.parse_configure() + _t363 = _t364 else: - _t362 = None - configure0 = _t362 + _t363 = None + configure0 = _t363 if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('sync', 1)): - _t365 = self.parse_sync() - _t364 = _t365 + _t366 = self.parse_sync() + _t365 = _t366 else: - _t364 = None - sync1 = _t364 + _t365 = None + sync1 = _t365 xs2 = [] cond3 = self.match_lookahead_literal('(', 0) while cond3: - _t366 = self.parse_epoch() - item4 = _t366 + _t367 = self.parse_epoch() + item4 = _t367 xs2.append(item4) cond3 = self.match_lookahead_literal('(', 0) epochs5 = xs2 self.consume_literal(')') - _t367 = self.default_configure() - _t368 = transactions_pb2.Transaction(epochs=epochs5, configure=(configure0 if configure0 is not None else _t367), sync=sync1) - return _t368 + _t368 = self.default_configure() + _t369 = transactions_pb2.Transaction(epochs=epochs5, configure=(configure0 if configure0 is not None else _t368), sync=sync1) + return _t369 def parse_configure(self) -> transactions_pb2.Configure: self.consume_literal('(') self.consume_literal('configure') - _t369 = self.parse_config_dict() - config_dict6 = _t369 + _t370 = self.parse_config_dict() + config_dict6 = _t370 self.consume_literal(')') - _t370 = self.construct_configure(config_dict6) - return _t370 + _t371 = self.construct_configure(config_dict6) + return _t371 def parse_config_dict(self) -> Sequence[tuple[str, logic_pb2.Value]]: self.consume_literal('{') xs7 = [] cond8 = self.match_lookahead_literal(':', 0) while cond8: - _t371 = self.parse_config_key_value() - item9 = _t371 + _t372 = self.parse_config_key_value() + item9 = _t372 xs7.append(item9) cond8 = self.match_lookahead_literal(':', 0) config_key_values10 = xs7 @@ -548,147 +548,147 @@ def parse_config_dict(self) -> Sequence[tuple[str, logic_pb2.Value]]: def parse_config_key_value(self) -> tuple[str, logic_pb2.Value]: self.consume_literal(':') symbol11 = self.consume_terminal('SYMBOL') - _t372 = self.parse_value() - value12 = _t372 + _t373 = self.parse_value() + value12 = _t373 return (symbol11, value12,) def parse_value(self) -> logic_pb2.Value: if self.match_lookahead_literal('true', 0): - _t373 = 9 + _t374 = 9 else: if self.match_lookahead_literal('missing', 0): - _t374 = 8 + _t375 = 8 else: if self.match_lookahead_literal('false', 0): - _t375 = 9 + _t376 = 9 else: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('datetime', 1): - _t377 = 1 + _t378 = 1 else: if self.match_lookahead_literal('date', 1): - _t378 = 0 + _t379 = 0 else: - _t378 = -1 - _t377 = _t378 - _t376 = _t377 + _t379 = -1 + _t378 = _t379 + _t377 = _t378 else: if self.match_lookahead_terminal('UINT128', 0): - _t379 = 5 + _t380 = 5 else: if self.match_lookahead_terminal('STRING', 0): - _t380 = 2 + _t381 = 2 else: if self.match_lookahead_terminal('INT128', 0): - _t381 = 6 + _t382 = 6 else: if self.match_lookahead_terminal('INT', 0): - _t382 = 3 + _t383 = 3 else: if self.match_lookahead_terminal('FLOAT', 0): - _t383 = 4 + _t384 = 4 else: if self.match_lookahead_terminal('DECIMAL', 0): - _t384 = 7 + _t385 = 7 else: - _t384 = -1 - _t383 = _t384 - _t382 = _t383 - _t381 = _t382 - _t380 = _t381 - _t379 = _t380 - _t376 = _t379 - _t375 = _t376 - _t374 = _t375 - _t373 = _t374 - prediction13 = _t373 + _t385 = -1 + _t384 = _t385 + _t383 = _t384 + _t382 = _t383 + _t381 = _t382 + _t380 = _t381 + _t377 = _t380 + _t376 = _t377 + _t375 = _t376 + _t374 = _t375 + prediction13 = _t374 if prediction13 == 9: - _t386 = self.parse_boolean_value() - boolean_value22 = _t386 - _t387 = logic_pb2.Value(boolean_value=boolean_value22) - _t385 = _t387 + _t387 = self.parse_boolean_value() + boolean_value22 = _t387 + _t388 = logic_pb2.Value(boolean_value=boolean_value22) + _t386 = _t388 else: if prediction13 == 8: self.consume_literal('missing') - _t389 = logic_pb2.MissingValue() - _t390 = logic_pb2.Value(missing_value=_t389) - _t388 = _t390 + _t390 = logic_pb2.MissingValue() + _t391 = logic_pb2.Value(missing_value=_t390) + _t389 = _t391 else: if prediction13 == 7: decimal21 = self.consume_terminal('DECIMAL') - _t392 = logic_pb2.Value(decimal_value=decimal21) - _t391 = _t392 + _t393 = logic_pb2.Value(decimal_value=decimal21) + _t392 = _t393 else: if prediction13 == 6: int12820 = self.consume_terminal('INT128') - _t394 = logic_pb2.Value(int128_value=int12820) - _t393 = _t394 + _t395 = logic_pb2.Value(int128_value=int12820) + _t394 = _t395 else: if prediction13 == 5: uint12819 = self.consume_terminal('UINT128') - _t396 = logic_pb2.Value(uint128_value=uint12819) - _t395 = _t396 + _t397 = logic_pb2.Value(uint128_value=uint12819) + _t396 = _t397 else: if prediction13 == 4: float18 = self.consume_terminal('FLOAT') - _t398 = logic_pb2.Value(float_value=float18) - _t397 = _t398 + _t399 = logic_pb2.Value(float_value=float18) + _t398 = _t399 else: if prediction13 == 3: int17 = self.consume_terminal('INT') - _t400 = logic_pb2.Value(int_value=int17) - _t399 = _t400 + _t401 = logic_pb2.Value(int_value=int17) + _t400 = _t401 else: if prediction13 == 2: string16 = self.consume_terminal('STRING') - _t402 = logic_pb2.Value(string_value=string16) - _t401 = _t402 + _t403 = logic_pb2.Value(string_value=string16) + _t402 = _t403 else: if prediction13 == 1: - _t404 = self.parse_datetime() - datetime15 = _t404 - _t405 = logic_pb2.Value(datetime_value=datetime15) - _t403 = _t405 + _t405 = self.parse_datetime() + datetime15 = _t405 + _t406 = logic_pb2.Value(datetime_value=datetime15) + _t404 = _t406 else: if prediction13 == 0: - _t407 = self.parse_date() - date14 = _t407 - _t408 = logic_pb2.Value(date_value=date14) - _t406 = _t408 + _t408 = self.parse_date() + date14 = _t408 + _t409 = logic_pb2.Value(date_value=date14) + _t407 = _t409 else: raise ParseError(f"{'Unexpected token in value'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t403 = _t406 - _t401 = _t403 - _t399 = _t401 - _t397 = _t399 - _t395 = _t397 - _t393 = _t395 - _t391 = _t393 - _t388 = _t391 - _t385 = _t388 - return _t385 + _t404 = _t407 + _t402 = _t404 + _t400 = _t402 + _t398 = _t400 + _t396 = _t398 + _t394 = _t396 + _t392 = _t394 + _t389 = _t392 + _t386 = _t389 + return _t386 def parse_date(self) -> logic_pb2.DateValue: self.consume_literal('(') @@ -697,8 +697,8 @@ def parse_date(self) -> logic_pb2.DateValue: int_324 = self.consume_terminal('INT') int_425 = self.consume_terminal('INT') self.consume_literal(')') - _t409 = logic_pb2.DateValue(year=int(int23), month=int(int_324), day=int(int_425)) - return _t409 + _t410 = logic_pb2.DateValue(year=int(int23), month=int(int_324), day=int(int_425)) + return _t410 def parse_datetime(self) -> logic_pb2.DateTimeValue: self.consume_literal('(') @@ -711,39 +711,39 @@ def parse_datetime(self) -> logic_pb2.DateTimeValue: int_731 = self.consume_terminal('INT') if self.match_lookahead_terminal('INT', 0): - _t410 = self.consume_terminal('INT') + _t411 = self.consume_terminal('INT') else: - _t410 = None - int_832 = _t410 + _t411 = None + int_832 = _t411 self.consume_literal(')') - _t411 = logic_pb2.DateTimeValue(year=int(int26), month=int(int_327), day=int(int_428), hour=int(int_529), minute=int(int_630), second=int(int_731), microsecond=int((int_832 if int_832 is not None else 0))) - return _t411 + _t412 = logic_pb2.DateTimeValue(year=int(int26), month=int(int_327), day=int(int_428), hour=int(int_529), minute=int(int_630), second=int(int_731), microsecond=int((int_832 if int_832 is not None else 0))) + return _t412 def parse_boolean_value(self) -> bool: if self.match_lookahead_literal('true', 0): - _t412 = 0 + _t413 = 0 else: if self.match_lookahead_literal('false', 0): - _t413 = 1 + _t414 = 1 else: - _t413 = -1 - _t412 = _t413 - prediction33 = _t412 + _t414 = -1 + _t413 = _t414 + prediction33 = _t413 if prediction33 == 1: self.consume_literal('false') - _t414 = False + _t415 = False else: if prediction33 == 0: self.consume_literal('true') - _t415 = True + _t416 = True else: raise ParseError(f"{'Unexpected token in boolean_value'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t414 = _t415 - return _t414 + _t415 = _t416 + return _t415 def parse_sync(self) -> transactions_pb2.Sync: self.consume_literal('(') @@ -751,14 +751,14 @@ def parse_sync(self) -> transactions_pb2.Sync: xs34 = [] cond35 = self.match_lookahead_literal(':', 0) while cond35: - _t416 = self.parse_fragment_id() - item36 = _t416 + _t417 = self.parse_fragment_id() + item36 = _t417 xs34.append(item36) cond35 = self.match_lookahead_literal(':', 0) fragment_ids37 = xs34 self.consume_literal(')') - _t417 = transactions_pb2.Sync(fragments=fragment_ids37) - return _t417 + _t418 = transactions_pb2.Sync(fragments=fragment_ids37) + return _t418 def parse_fragment_id(self) -> fragments_pb2.FragmentId: self.consume_literal(':') @@ -770,21 +770,21 @@ def parse_epoch(self) -> transactions_pb2.Epoch: self.consume_literal('epoch') if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('writes', 1)): - _t419 = self.parse_epoch_writes() - _t418 = _t419 + _t420 = self.parse_epoch_writes() + _t419 = _t420 else: - _t418 = None - epoch_writes39 = _t418 + _t419 = None + epoch_writes39 = _t419 if self.match_lookahead_literal('(', 0): - _t421 = self.parse_epoch_reads() - _t420 = _t421 + _t422 = self.parse_epoch_reads() + _t421 = _t422 else: - _t420 = None - epoch_reads40 = _t420 + _t421 = None + epoch_reads40 = _t421 self.consume_literal(')') - _t422 = transactions_pb2.Epoch(writes=(epoch_writes39 if epoch_writes39 is not None else []), reads=(epoch_reads40 if epoch_reads40 is not None else [])) - return _t422 + _t423 = transactions_pb2.Epoch(writes=(epoch_writes39 if epoch_writes39 is not None else []), reads=(epoch_reads40 if epoch_reads40 is not None else [])) + return _t423 def parse_epoch_writes(self) -> Sequence[transactions_pb2.Write]: self.consume_literal('(') @@ -792,8 +792,8 @@ def parse_epoch_writes(self) -> Sequence[transactions_pb2.Write]: xs41 = [] cond42 = self.match_lookahead_literal('(', 0) while cond42: - _t423 = self.parse_write() - item43 = _t423 + _t424 = self.parse_write() + item43 = _t424 xs41.append(item43) cond42 = self.match_lookahead_literal('(', 0) writes44 = xs41 @@ -805,68 +805,68 @@ def parse_write(self) -> transactions_pb2.Write: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('undefine', 1): - _t425 = 1 + _t426 = 1 else: if self.match_lookahead_literal('define', 1): - _t426 = 0 + _t427 = 0 else: if self.match_lookahead_literal('context', 1): - _t427 = 2 + _t428 = 2 else: - _t427 = -1 - _t426 = _t427 - _t425 = _t426 - _t424 = _t425 + _t428 = -1 + _t427 = _t428 + _t426 = _t427 + _t425 = _t426 else: - _t424 = -1 - prediction45 = _t424 + _t425 = -1 + prediction45 = _t425 if prediction45 == 2: - _t429 = self.parse_context() - context48 = _t429 - _t430 = transactions_pb2.Write(context=context48) - _t428 = _t430 + _t430 = self.parse_context() + context48 = _t430 + _t431 = transactions_pb2.Write(context=context48) + _t429 = _t431 else: if prediction45 == 1: - _t432 = self.parse_undefine() - undefine47 = _t432 - _t433 = transactions_pb2.Write(undefine=undefine47) - _t431 = _t433 + _t433 = self.parse_undefine() + undefine47 = _t433 + _t434 = transactions_pb2.Write(undefine=undefine47) + _t432 = _t434 else: if prediction45 == 0: - _t435 = self.parse_define() - define46 = _t435 - _t436 = transactions_pb2.Write(define=define46) - _t434 = _t436 + _t436 = self.parse_define() + define46 = _t436 + _t437 = transactions_pb2.Write(define=define46) + _t435 = _t437 else: raise ParseError(f"{'Unexpected token in write'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t431 = _t434 - _t428 = _t431 - return _t428 + _t432 = _t435 + _t429 = _t432 + return _t429 def parse_define(self) -> transactions_pb2.Define: self.consume_literal('(') self.consume_literal('define') - _t437 = self.parse_fragment() - fragment49 = _t437 + _t438 = self.parse_fragment() + fragment49 = _t438 self.consume_literal(')') - _t438 = transactions_pb2.Define(fragment=fragment49) - return _t438 + _t439 = transactions_pb2.Define(fragment=fragment49) + return _t439 def parse_fragment(self) -> fragments_pb2.Fragment: self.consume_literal('(') self.consume_literal('fragment') - _t439 = self.parse_new_fragment_id() - new_fragment_id50 = _t439 + _t440 = self.parse_new_fragment_id() + new_fragment_id50 = _t440 xs51 = [] cond52 = self.match_lookahead_literal('(', 0) while cond52: - _t440 = self.parse_declaration() - item53 = _t440 + _t441 = self.parse_declaration() + item53 = _t441 xs51.append(item53) cond52 = self.match_lookahead_literal('(', 0) declarations54 = xs51 @@ -874,8 +874,8 @@ def parse_fragment(self) -> fragments_pb2.Fragment: return self.construct_fragment(new_fragment_id50, declarations54) def parse_new_fragment_id(self) -> fragments_pb2.FragmentId: - _t441 = self.parse_fragment_id() - fragment_id55 = _t441 + _t442 = self.parse_fragment_id() + fragment_id55 = _t442 self.start_fragment(fragment_id55) return fragment_id55 @@ -884,348 +884,348 @@ def parse_declaration(self) -> logic_pb2.Declaration: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('rel_edb', 1): - _t443 = 3 + _t444 = 3 else: if self.match_lookahead_literal('functional_dependency', 1): - _t444 = 2 + _t445 = 2 else: if self.match_lookahead_literal('def', 1): - _t445 = 0 + _t446 = 0 else: if self.match_lookahead_literal('csv_data', 1): - _t446 = 3 + _t447 = 3 else: if self.match_lookahead_literal('betree_relation', 1): - _t447 = 3 + _t448 = 3 else: if self.match_lookahead_literal('algorithm', 1): - _t448 = 1 + _t449 = 1 else: - _t448 = -1 - _t447 = _t448 - _t446 = _t447 - _t445 = _t446 - _t444 = _t445 - _t443 = _t444 - _t442 = _t443 + _t449 = -1 + _t448 = _t449 + _t447 = _t448 + _t446 = _t447 + _t445 = _t446 + _t444 = _t445 + _t443 = _t444 else: - _t442 = -1 - prediction56 = _t442 + _t443 = -1 + prediction56 = _t443 if prediction56 == 3: - _t450 = self.parse_data() - data60 = _t450 - _t451 = logic_pb2.Declaration(data=data60) - _t449 = _t451 + _t451 = self.parse_data() + data60 = _t451 + _t452 = logic_pb2.Declaration(data=data60) + _t450 = _t452 else: if prediction56 == 2: - _t453 = self.parse_constraint() - constraint59 = _t453 - _t454 = logic_pb2.Declaration(constraint=constraint59) - _t452 = _t454 + _t454 = self.parse_constraint() + constraint59 = _t454 + _t455 = logic_pb2.Declaration(constraint=constraint59) + _t453 = _t455 else: if prediction56 == 1: - _t456 = self.parse_algorithm() - algorithm58 = _t456 - _t457 = logic_pb2.Declaration(algorithm=algorithm58) - _t455 = _t457 + _t457 = self.parse_algorithm() + algorithm58 = _t457 + _t458 = logic_pb2.Declaration(algorithm=algorithm58) + _t456 = _t458 else: if prediction56 == 0: - _t459 = self.parse_def() - def57 = _t459 - _t460 = logic_pb2.Declaration() - getattr(_t460, 'def').CopyFrom(def57) - _t458 = _t460 + _t460 = self.parse_def() + def57 = _t460 + _t461 = logic_pb2.Declaration() + getattr(_t461, 'def').CopyFrom(def57) + _t459 = _t461 else: raise ParseError(f"{'Unexpected token in declaration'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t455 = _t458 - _t452 = _t455 - _t449 = _t452 - return _t449 + _t456 = _t459 + _t453 = _t456 + _t450 = _t453 + return _t450 def parse_def(self) -> logic_pb2.Def: self.consume_literal('(') self.consume_literal('def') - _t461 = self.parse_relation_id() - relation_id61 = _t461 - _t462 = self.parse_abstraction() - abstraction62 = _t462 + _t462 = self.parse_relation_id() + relation_id61 = _t462 + _t463 = self.parse_abstraction() + abstraction62 = _t463 if self.match_lookahead_literal('(', 0): - _t464 = self.parse_attrs() - _t463 = _t464 + _t465 = self.parse_attrs() + _t464 = _t465 else: - _t463 = None - attrs63 = _t463 + _t464 = None + attrs63 = _t464 self.consume_literal(')') - _t465 = logic_pb2.Def(name=relation_id61, body=abstraction62, attrs=(attrs63 if attrs63 is not None else [])) - return _t465 + _t466 = logic_pb2.Def(name=relation_id61, body=abstraction62, attrs=(attrs63 if attrs63 is not None else [])) + return _t466 def parse_relation_id(self) -> logic_pb2.RelationId: if self.match_lookahead_literal(':', 0): - _t466 = 0 + _t467 = 0 else: if self.match_lookahead_terminal('UINT128', 0): - _t467 = 1 + _t468 = 1 else: - _t467 = -1 - _t466 = _t467 - prediction64 = _t466 + _t468 = -1 + _t467 = _t468 + prediction64 = _t467 if prediction64 == 1: uint12866 = self.consume_terminal('UINT128') - _t468 = logic_pb2.RelationId(id_low=uint12866.low, id_high=uint12866.high) + _t469 = logic_pb2.RelationId(id_low=uint12866.low, id_high=uint12866.high) else: if prediction64 == 0: self.consume_literal(':') symbol65 = self.consume_terminal('SYMBOL') - _t469 = self.relation_id_from_string(symbol65) + _t470 = self.relation_id_from_string(symbol65) else: raise ParseError(f"{'Unexpected token in relation_id'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t468 = _t469 - return _t468 + _t469 = _t470 + return _t469 def parse_abstraction(self) -> logic_pb2.Abstraction: self.consume_literal('(') - _t470 = self.parse_bindings() - bindings67 = _t470 - _t471 = self.parse_formula() - formula68 = _t471 + _t471 = self.parse_bindings() + bindings67 = _t471 + _t472 = self.parse_formula() + formula68 = _t472 self.consume_literal(')') - _t472 = logic_pb2.Abstraction(vars=(list(bindings67[0]) + list(bindings67[1] if bindings67[1] is not None else [])), value=formula68) - return _t472 + _t473 = logic_pb2.Abstraction(vars=(list(bindings67[0]) + list(bindings67[1] if bindings67[1] is not None else [])), value=formula68) + return _t473 def parse_bindings(self) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: self.consume_literal('[') xs69 = [] cond70 = self.match_lookahead_terminal('SYMBOL', 0) while cond70: - _t473 = self.parse_binding() - item71 = _t473 + _t474 = self.parse_binding() + item71 = _t474 xs69.append(item71) cond70 = self.match_lookahead_terminal('SYMBOL', 0) bindings72 = xs69 if self.match_lookahead_literal('|', 0): - _t475 = self.parse_value_bindings() - _t474 = _t475 + _t476 = self.parse_value_bindings() + _t475 = _t476 else: - _t474 = None - value_bindings73 = _t474 + _t475 = None + value_bindings73 = _t475 self.consume_literal(']') return (bindings72, (value_bindings73 if value_bindings73 is not None else []),) def parse_binding(self) -> logic_pb2.Binding: symbol74 = self.consume_terminal('SYMBOL') self.consume_literal('::') - _t476 = self.parse_type() - type75 = _t476 - _t477 = logic_pb2.Var(name=symbol74) - _t478 = logic_pb2.Binding(var=_t477, type=type75) - return _t478 + _t477 = self.parse_type() + type75 = _t477 + _t478 = logic_pb2.Var(name=symbol74) + _t479 = logic_pb2.Binding(var=_t478, type=type75) + return _t479 def parse_type(self) -> logic_pb2.Type: if self.match_lookahead_literal('UNKNOWN', 0): - _t479 = 0 + _t480 = 0 else: if self.match_lookahead_literal('UINT128', 0): - _t480 = 4 + _t481 = 4 else: if self.match_lookahead_literal('STRING', 0): - _t481 = 1 + _t482 = 1 else: if self.match_lookahead_literal('MISSING', 0): - _t482 = 8 + _t483 = 8 else: if self.match_lookahead_literal('INT128', 0): - _t483 = 5 + _t484 = 5 else: if self.match_lookahead_literal('INT', 0): - _t484 = 2 + _t485 = 2 else: if self.match_lookahead_literal('FLOAT', 0): - _t485 = 3 + _t486 = 3 else: if self.match_lookahead_literal('DATETIME', 0): - _t486 = 7 + _t487 = 7 else: if self.match_lookahead_literal('DATE', 0): - _t487 = 6 + _t488 = 6 else: if self.match_lookahead_literal('BOOLEAN', 0): - _t488 = 10 + _t489 = 10 else: if self.match_lookahead_literal('(', 0): - _t489 = 9 + _t490 = 9 else: - _t489 = -1 - _t488 = _t489 - _t487 = _t488 - _t486 = _t487 - _t485 = _t486 - _t484 = _t485 - _t483 = _t484 - _t482 = _t483 - _t481 = _t482 - _t480 = _t481 - _t479 = _t480 - prediction76 = _t479 + _t490 = -1 + _t489 = _t490 + _t488 = _t489 + _t487 = _t488 + _t486 = _t487 + _t485 = _t486 + _t484 = _t485 + _t483 = _t484 + _t482 = _t483 + _t481 = _t482 + _t480 = _t481 + prediction76 = _t480 if prediction76 == 10: - _t491 = self.parse_boolean_type() - boolean_type87 = _t491 - _t492 = logic_pb2.Type(boolean_type=boolean_type87) - _t490 = _t492 + _t492 = self.parse_boolean_type() + boolean_type87 = _t492 + _t493 = logic_pb2.Type(boolean_type=boolean_type87) + _t491 = _t493 else: if prediction76 == 9: - _t494 = self.parse_decimal_type() - decimal_type86 = _t494 - _t495 = logic_pb2.Type(decimal_type=decimal_type86) - _t493 = _t495 + _t495 = self.parse_decimal_type() + decimal_type86 = _t495 + _t496 = logic_pb2.Type(decimal_type=decimal_type86) + _t494 = _t496 else: if prediction76 == 8: - _t497 = self.parse_missing_type() - missing_type85 = _t497 - _t498 = logic_pb2.Type(missing_type=missing_type85) - _t496 = _t498 + _t498 = self.parse_missing_type() + missing_type85 = _t498 + _t499 = logic_pb2.Type(missing_type=missing_type85) + _t497 = _t499 else: if prediction76 == 7: - _t500 = self.parse_datetime_type() - datetime_type84 = _t500 - _t501 = logic_pb2.Type(datetime_type=datetime_type84) - _t499 = _t501 + _t501 = self.parse_datetime_type() + datetime_type84 = _t501 + _t502 = logic_pb2.Type(datetime_type=datetime_type84) + _t500 = _t502 else: if prediction76 == 6: - _t503 = self.parse_date_type() - date_type83 = _t503 - _t504 = logic_pb2.Type(date_type=date_type83) - _t502 = _t504 + _t504 = self.parse_date_type() + date_type83 = _t504 + _t505 = logic_pb2.Type(date_type=date_type83) + _t503 = _t505 else: if prediction76 == 5: - _t506 = self.parse_int128_type() - int128_type82 = _t506 - _t507 = logic_pb2.Type(int128_type=int128_type82) - _t505 = _t507 + _t507 = self.parse_int128_type() + int128_type82 = _t507 + _t508 = logic_pb2.Type(int128_type=int128_type82) + _t506 = _t508 else: if prediction76 == 4: - _t509 = self.parse_uint128_type() - uint128_type81 = _t509 - _t510 = logic_pb2.Type(uint128_type=uint128_type81) - _t508 = _t510 + _t510 = self.parse_uint128_type() + uint128_type81 = _t510 + _t511 = logic_pb2.Type(uint128_type=uint128_type81) + _t509 = _t511 else: if prediction76 == 3: - _t512 = self.parse_float_type() - float_type80 = _t512 - _t513 = logic_pb2.Type(float_type=float_type80) - _t511 = _t513 + _t513 = self.parse_float_type() + float_type80 = _t513 + _t514 = logic_pb2.Type(float_type=float_type80) + _t512 = _t514 else: if prediction76 == 2: - _t515 = self.parse_int_type() - int_type79 = _t515 - _t516 = logic_pb2.Type(int_type=int_type79) - _t514 = _t516 + _t516 = self.parse_int_type() + int_type79 = _t516 + _t517 = logic_pb2.Type(int_type=int_type79) + _t515 = _t517 else: if prediction76 == 1: - _t518 = self.parse_string_type() - string_type78 = _t518 - _t519 = logic_pb2.Type(string_type=string_type78) - _t517 = _t519 + _t519 = self.parse_string_type() + string_type78 = _t519 + _t520 = logic_pb2.Type(string_type=string_type78) + _t518 = _t520 else: if prediction76 == 0: - _t521 = self.parse_unspecified_type() - unspecified_type77 = _t521 - _t522 = logic_pb2.Type(unspecified_type=unspecified_type77) - _t520 = _t522 + _t522 = self.parse_unspecified_type() + unspecified_type77 = _t522 + _t523 = logic_pb2.Type(unspecified_type=unspecified_type77) + _t521 = _t523 else: raise ParseError(f"{'Unexpected token in type'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t517 = _t520 - _t514 = _t517 - _t511 = _t514 - _t508 = _t511 - _t505 = _t508 - _t502 = _t505 - _t499 = _t502 - _t496 = _t499 - _t493 = _t496 - _t490 = _t493 - return _t490 + _t518 = _t521 + _t515 = _t518 + _t512 = _t515 + _t509 = _t512 + _t506 = _t509 + _t503 = _t506 + _t500 = _t503 + _t497 = _t500 + _t494 = _t497 + _t491 = _t494 + return _t491 def parse_unspecified_type(self) -> logic_pb2.UnspecifiedType: self.consume_literal('UNKNOWN') - _t523 = logic_pb2.UnspecifiedType() - return _t523 + _t524 = logic_pb2.UnspecifiedType() + return _t524 def parse_string_type(self) -> logic_pb2.StringType: self.consume_literal('STRING') - _t524 = logic_pb2.StringType() - return _t524 + _t525 = logic_pb2.StringType() + return _t525 def parse_int_type(self) -> logic_pb2.IntType: self.consume_literal('INT') - _t525 = logic_pb2.IntType() - return _t525 + _t526 = logic_pb2.IntType() + return _t526 def parse_float_type(self) -> logic_pb2.FloatType: self.consume_literal('FLOAT') - _t526 = logic_pb2.FloatType() - return _t526 + _t527 = logic_pb2.FloatType() + return _t527 def parse_uint128_type(self) -> logic_pb2.UInt128Type: self.consume_literal('UINT128') - _t527 = logic_pb2.UInt128Type() - return _t527 + _t528 = logic_pb2.UInt128Type() + return _t528 def parse_int128_type(self) -> logic_pb2.Int128Type: self.consume_literal('INT128') - _t528 = logic_pb2.Int128Type() - return _t528 + _t529 = logic_pb2.Int128Type() + return _t529 def parse_date_type(self) -> logic_pb2.DateType: self.consume_literal('DATE') - _t529 = logic_pb2.DateType() - return _t529 + _t530 = logic_pb2.DateType() + return _t530 def parse_datetime_type(self) -> logic_pb2.DateTimeType: self.consume_literal('DATETIME') - _t530 = logic_pb2.DateTimeType() - return _t530 + _t531 = logic_pb2.DateTimeType() + return _t531 def parse_missing_type(self) -> logic_pb2.MissingType: self.consume_literal('MISSING') - _t531 = logic_pb2.MissingType() - return _t531 + _t532 = logic_pb2.MissingType() + return _t532 def parse_decimal_type(self) -> logic_pb2.DecimalType: self.consume_literal('(') @@ -1233,21 +1233,21 @@ def parse_decimal_type(self) -> logic_pb2.DecimalType: int88 = self.consume_terminal('INT') int_389 = self.consume_terminal('INT') self.consume_literal(')') - _t532 = logic_pb2.DecimalType(precision=int(int88), scale=int(int_389)) - return _t532 + _t533 = logic_pb2.DecimalType(precision=int(int88), scale=int(int_389)) + return _t533 def parse_boolean_type(self) -> logic_pb2.BooleanType: self.consume_literal('BOOLEAN') - _t533 = logic_pb2.BooleanType() - return _t533 + _t534 = logic_pb2.BooleanType() + return _t534 def parse_value_bindings(self) -> Sequence[logic_pb2.Binding]: self.consume_literal('|') xs90 = [] cond91 = self.match_lookahead_terminal('SYMBOL', 0) while cond91: - _t534 = self.parse_binding() - item92 = _t534 + _t535 = self.parse_binding() + item92 = _t535 xs90.append(item92) cond91 = self.match_lookahead_terminal('SYMBOL', 0) bindings93 = xs90 @@ -1258,263 +1258,263 @@ def parse_formula(self) -> logic_pb2.Formula: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('true', 1): - _t536 = 0 + _t537 = 0 else: if self.match_lookahead_literal('relatom', 1): - _t537 = 11 + _t538 = 11 else: if self.match_lookahead_literal('reduce', 1): - _t538 = 3 + _t539 = 3 else: if self.match_lookahead_literal('primitive', 1): - _t539 = 10 + _t540 = 10 else: if self.match_lookahead_literal('pragma', 1): - _t540 = 9 + _t541 = 9 else: if self.match_lookahead_literal('or', 1): - _t541 = 5 + _t542 = 5 else: if self.match_lookahead_literal('not', 1): - _t542 = 6 + _t543 = 6 else: if self.match_lookahead_literal('ffi', 1): - _t543 = 7 + _t544 = 7 else: if self.match_lookahead_literal('false', 1): - _t544 = 1 + _t545 = 1 else: if self.match_lookahead_literal('exists', 1): - _t545 = 2 + _t546 = 2 else: if self.match_lookahead_literal('cast', 1): - _t546 = 12 + _t547 = 12 else: if self.match_lookahead_literal('atom', 1): - _t547 = 8 + _t548 = 8 else: if self.match_lookahead_literal('and', 1): - _t548 = 4 + _t549 = 4 else: if self.match_lookahead_literal('>=', 1): - _t549 = 10 + _t550 = 10 else: if self.match_lookahead_literal('>', 1): - _t550 = 10 + _t551 = 10 else: if self.match_lookahead_literal('=', 1): - _t551 = 10 + _t552 = 10 else: if self.match_lookahead_literal('<=', 1): - _t552 = 10 + _t553 = 10 else: if self.match_lookahead_literal('<', 1): - _t553 = 10 + _t554 = 10 else: if self.match_lookahead_literal('/', 1): - _t554 = 10 + _t555 = 10 else: if self.match_lookahead_literal('-', 1): - _t555 = 10 + _t556 = 10 else: if self.match_lookahead_literal('+', 1): - _t556 = 10 + _t557 = 10 else: if self.match_lookahead_literal('*', 1): - _t557 = 10 + _t558 = 10 else: - _t557 = -1 - _t556 = _t557 - _t555 = _t556 - _t554 = _t555 - _t553 = _t554 - _t552 = _t553 - _t551 = _t552 - _t550 = _t551 - _t549 = _t550 - _t548 = _t549 - _t547 = _t548 - _t546 = _t547 - _t545 = _t546 - _t544 = _t545 - _t543 = _t544 - _t542 = _t543 - _t541 = _t542 - _t540 = _t541 - _t539 = _t540 - _t538 = _t539 - _t537 = _t538 - _t536 = _t537 - _t535 = _t536 + _t558 = -1 + _t557 = _t558 + _t556 = _t557 + _t555 = _t556 + _t554 = _t555 + _t553 = _t554 + _t552 = _t553 + _t551 = _t552 + _t550 = _t551 + _t549 = _t550 + _t548 = _t549 + _t547 = _t548 + _t546 = _t547 + _t545 = _t546 + _t544 = _t545 + _t543 = _t544 + _t542 = _t543 + _t541 = _t542 + _t540 = _t541 + _t539 = _t540 + _t538 = _t539 + _t537 = _t538 + _t536 = _t537 else: - _t535 = -1 - prediction94 = _t535 + _t536 = -1 + prediction94 = _t536 if prediction94 == 12: - _t559 = self.parse_cast() - cast107 = _t559 - _t560 = logic_pb2.Formula(cast=cast107) - _t558 = _t560 + _t560 = self.parse_cast() + cast107 = _t560 + _t561 = logic_pb2.Formula(cast=cast107) + _t559 = _t561 else: if prediction94 == 11: - _t562 = self.parse_rel_atom() - rel_atom106 = _t562 - _t563 = logic_pb2.Formula(rel_atom=rel_atom106) - _t561 = _t563 + _t563 = self.parse_rel_atom() + rel_atom106 = _t563 + _t564 = logic_pb2.Formula(rel_atom=rel_atom106) + _t562 = _t564 else: if prediction94 == 10: - _t565 = self.parse_primitive() - primitive105 = _t565 - _t566 = logic_pb2.Formula(primitive=primitive105) - _t564 = _t566 + _t566 = self.parse_primitive() + primitive105 = _t566 + _t567 = logic_pb2.Formula(primitive=primitive105) + _t565 = _t567 else: if prediction94 == 9: - _t568 = self.parse_pragma() - pragma104 = _t568 - _t569 = logic_pb2.Formula(pragma=pragma104) - _t567 = _t569 + _t569 = self.parse_pragma() + pragma104 = _t569 + _t570 = logic_pb2.Formula(pragma=pragma104) + _t568 = _t570 else: if prediction94 == 8: - _t571 = self.parse_atom() - atom103 = _t571 - _t572 = logic_pb2.Formula(atom=atom103) - _t570 = _t572 + _t572 = self.parse_atom() + atom103 = _t572 + _t573 = logic_pb2.Formula(atom=atom103) + _t571 = _t573 else: if prediction94 == 7: - _t574 = self.parse_ffi() - ffi102 = _t574 - _t575 = logic_pb2.Formula(ffi=ffi102) - _t573 = _t575 + _t575 = self.parse_ffi() + ffi102 = _t575 + _t576 = logic_pb2.Formula(ffi=ffi102) + _t574 = _t576 else: if prediction94 == 6: - _t577 = self.parse_not() - not101 = _t577 - _t578 = logic_pb2.Formula() - getattr(_t578, 'not').CopyFrom(not101) - _t576 = _t578 + _t578 = self.parse_not() + not101 = _t578 + _t579 = logic_pb2.Formula() + getattr(_t579, 'not').CopyFrom(not101) + _t577 = _t579 else: if prediction94 == 5: - _t580 = self.parse_disjunction() - disjunction100 = _t580 - _t581 = logic_pb2.Formula(disjunction=disjunction100) - _t579 = _t581 + _t581 = self.parse_disjunction() + disjunction100 = _t581 + _t582 = logic_pb2.Formula(disjunction=disjunction100) + _t580 = _t582 else: if prediction94 == 4: - _t583 = self.parse_conjunction() - conjunction99 = _t583 - _t584 = logic_pb2.Formula(conjunction=conjunction99) - _t582 = _t584 + _t584 = self.parse_conjunction() + conjunction99 = _t584 + _t585 = logic_pb2.Formula(conjunction=conjunction99) + _t583 = _t585 else: if prediction94 == 3: - _t586 = self.parse_reduce() - reduce98 = _t586 - _t587 = logic_pb2.Formula(reduce=reduce98) - _t585 = _t587 + _t587 = self.parse_reduce() + reduce98 = _t587 + _t588 = logic_pb2.Formula(reduce=reduce98) + _t586 = _t588 else: if prediction94 == 2: - _t589 = self.parse_exists() - exists97 = _t589 - _t590 = logic_pb2.Formula(exists=exists97) - _t588 = _t590 + _t590 = self.parse_exists() + exists97 = _t590 + _t591 = logic_pb2.Formula(exists=exists97) + _t589 = _t591 else: if prediction94 == 1: - _t592 = self.parse_false() - false96 = _t592 - _t593 = logic_pb2.Formula(disjunction=false96) - _t591 = _t593 + _t593 = self.parse_false() + false96 = _t593 + _t594 = logic_pb2.Formula(disjunction=false96) + _t592 = _t594 else: if prediction94 == 0: - _t595 = self.parse_true() - true95 = _t595 - _t596 = logic_pb2.Formula(conjunction=true95) - _t594 = _t596 + _t596 = self.parse_true() + true95 = _t596 + _t597 = logic_pb2.Formula(conjunction=true95) + _t595 = _t597 else: raise ParseError(f"{'Unexpected token in formula'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t591 = _t594 - _t588 = _t591 - _t585 = _t588 - _t582 = _t585 - _t579 = _t582 - _t576 = _t579 - _t573 = _t576 - _t570 = _t573 - _t567 = _t570 - _t564 = _t567 - _t561 = _t564 - _t558 = _t561 - return _t558 + _t592 = _t595 + _t589 = _t592 + _t586 = _t589 + _t583 = _t586 + _t580 = _t583 + _t577 = _t580 + _t574 = _t577 + _t571 = _t574 + _t568 = _t571 + _t565 = _t568 + _t562 = _t565 + _t559 = _t562 + return _t559 def parse_true(self) -> logic_pb2.Conjunction: self.consume_literal('(') self.consume_literal('true') self.consume_literal(')') - _t597 = logic_pb2.Conjunction(args=[]) - return _t597 + _t598 = logic_pb2.Conjunction(args=[]) + return _t598 def parse_false(self) -> logic_pb2.Disjunction: self.consume_literal('(') self.consume_literal('false') self.consume_literal(')') - _t598 = logic_pb2.Disjunction(args=[]) - return _t598 + _t599 = logic_pb2.Disjunction(args=[]) + return _t599 def parse_exists(self) -> logic_pb2.Exists: self.consume_literal('(') self.consume_literal('exists') - _t599 = self.parse_bindings() - bindings108 = _t599 - _t600 = self.parse_formula() - formula109 = _t600 + _t600 = self.parse_bindings() + bindings108 = _t600 + _t601 = self.parse_formula() + formula109 = _t601 self.consume_literal(')') - _t601 = logic_pb2.Abstraction(vars=(list(bindings108[0]) + list(bindings108[1] if bindings108[1] is not None else [])), value=formula109) - _t602 = logic_pb2.Exists(body=_t601) - return _t602 + _t602 = logic_pb2.Abstraction(vars=(list(bindings108[0]) + list(bindings108[1] if bindings108[1] is not None else [])), value=formula109) + _t603 = logic_pb2.Exists(body=_t602) + return _t603 def parse_reduce(self) -> logic_pb2.Reduce: self.consume_literal('(') self.consume_literal('reduce') - _t603 = self.parse_abstraction() - abstraction110 = _t603 _t604 = self.parse_abstraction() - abstraction_3111 = _t604 - _t605 = self.parse_terms() - terms112 = _t605 + abstraction110 = _t604 + _t605 = self.parse_abstraction() + abstraction_3111 = _t605 + _t606 = self.parse_terms() + terms112 = _t606 self.consume_literal(')') - _t606 = logic_pb2.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) - return _t606 + _t607 = logic_pb2.Reduce(op=abstraction110, body=abstraction_3111, terms=terms112) + return _t607 def parse_terms(self) -> Sequence[logic_pb2.Term]: self.consume_literal('(') @@ -1522,8 +1522,8 @@ def parse_terms(self) -> Sequence[logic_pb2.Term]: xs113 = [] cond114 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond114: - _t607 = self.parse_term() - item115 = _t607 + _t608 = self.parse_term() + item115 = _t608 xs113.append(item115) cond114 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) terms116 = xs113 @@ -1533,86 +1533,86 @@ def parse_terms(self) -> Sequence[logic_pb2.Term]: def parse_term(self) -> logic_pb2.Term: if self.match_lookahead_literal('true', 0): - _t608 = 1 + _t609 = 1 else: if self.match_lookahead_literal('missing', 0): - _t609 = 1 + _t610 = 1 else: if self.match_lookahead_literal('false', 0): - _t610 = 1 + _t611 = 1 else: if self.match_lookahead_literal('(', 0): - _t611 = 1 + _t612 = 1 else: if self.match_lookahead_terminal('UINT128', 0): - _t612 = 1 + _t613 = 1 else: if self.match_lookahead_terminal('SYMBOL', 0): - _t613 = 0 + _t614 = 0 else: if self.match_lookahead_terminal('STRING', 0): - _t614 = 1 + _t615 = 1 else: if self.match_lookahead_terminal('INT128', 0): - _t615 = 1 + _t616 = 1 else: if self.match_lookahead_terminal('INT', 0): - _t616 = 1 + _t617 = 1 else: if self.match_lookahead_terminal('FLOAT', 0): - _t617 = 1 + _t618 = 1 else: if self.match_lookahead_terminal('DECIMAL', 0): - _t618 = 1 + _t619 = 1 else: - _t618 = -1 - _t617 = _t618 - _t616 = _t617 - _t615 = _t616 - _t614 = _t615 - _t613 = _t614 - _t612 = _t613 - _t611 = _t612 - _t610 = _t611 - _t609 = _t610 - _t608 = _t609 - prediction117 = _t608 + _t619 = -1 + _t618 = _t619 + _t617 = _t618 + _t616 = _t617 + _t615 = _t616 + _t614 = _t615 + _t613 = _t614 + _t612 = _t613 + _t611 = _t612 + _t610 = _t611 + _t609 = _t610 + prediction117 = _t609 if prediction117 == 1: - _t620 = self.parse_constant() - constant119 = _t620 - _t621 = logic_pb2.Term(constant=constant119) - _t619 = _t621 + _t621 = self.parse_constant() + constant119 = _t621 + _t622 = logic_pb2.Term(constant=constant119) + _t620 = _t622 else: if prediction117 == 0: - _t623 = self.parse_var() - var118 = _t623 - _t624 = logic_pb2.Term(var=var118) - _t622 = _t624 + _t624 = self.parse_var() + var118 = _t624 + _t625 = logic_pb2.Term(var=var118) + _t623 = _t625 else: raise ParseError(f"{'Unexpected token in term'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t619 = _t622 - return _t619 + _t620 = _t623 + return _t620 def parse_var(self) -> logic_pb2.Var: symbol120 = self.consume_terminal('SYMBOL') - _t625 = logic_pb2.Var(name=symbol120) - return _t625 + _t626 = logic_pb2.Var(name=symbol120) + return _t626 def parse_constant(self) -> logic_pb2.Value: - _t626 = self.parse_value() - value121 = _t626 + _t627 = self.parse_value() + value121 = _t627 return value121 def parse_conjunction(self) -> logic_pb2.Conjunction: @@ -1621,14 +1621,14 @@ def parse_conjunction(self) -> logic_pb2.Conjunction: xs122 = [] cond123 = self.match_lookahead_literal('(', 0) while cond123: - _t627 = self.parse_formula() - item124 = _t627 + _t628 = self.parse_formula() + item124 = _t628 xs122.append(item124) cond123 = self.match_lookahead_literal('(', 0) formulas125 = xs122 self.consume_literal(')') - _t628 = logic_pb2.Conjunction(args=formulas125) - return _t628 + _t629 = logic_pb2.Conjunction(args=formulas125) + return _t629 def parse_disjunction(self) -> logic_pb2.Disjunction: self.consume_literal('(') @@ -1636,36 +1636,36 @@ def parse_disjunction(self) -> logic_pb2.Disjunction: xs126 = [] cond127 = self.match_lookahead_literal('(', 0) while cond127: - _t629 = self.parse_formula() - item128 = _t629 + _t630 = self.parse_formula() + item128 = _t630 xs126.append(item128) cond127 = self.match_lookahead_literal('(', 0) formulas129 = xs126 self.consume_literal(')') - _t630 = logic_pb2.Disjunction(args=formulas129) - return _t630 + _t631 = logic_pb2.Disjunction(args=formulas129) + return _t631 def parse_not(self) -> logic_pb2.Not: self.consume_literal('(') self.consume_literal('not') - _t631 = self.parse_formula() - formula130 = _t631 + _t632 = self.parse_formula() + formula130 = _t632 self.consume_literal(')') - _t632 = logic_pb2.Not(arg=formula130) - return _t632 + _t633 = logic_pb2.Not(arg=formula130) + return _t633 def parse_ffi(self) -> logic_pb2.FFI: self.consume_literal('(') self.consume_literal('ffi') - _t633 = self.parse_name() - name131 = _t633 - _t634 = self.parse_ffi_args() - ffi_args132 = _t634 - _t635 = self.parse_terms() - terms133 = _t635 + _t634 = self.parse_name() + name131 = _t634 + _t635 = self.parse_ffi_args() + ffi_args132 = _t635 + _t636 = self.parse_terms() + terms133 = _t636 self.consume_literal(')') - _t636 = logic_pb2.FFI(name=name131, args=ffi_args132, terms=terms133) - return _t636 + _t637 = logic_pb2.FFI(name=name131, args=ffi_args132, terms=terms133) + return _t637 def parse_name(self) -> str: self.consume_literal(':') @@ -1678,8 +1678,8 @@ def parse_ffi_args(self) -> Sequence[logic_pb2.Abstraction]: xs135 = [] cond136 = self.match_lookahead_literal('(', 0) while cond136: - _t637 = self.parse_abstraction() - item137 = _t637 + _t638 = self.parse_abstraction() + item137 = _t638 xs135.append(item137) cond136 = self.match_lookahead_literal('(', 0) abstractions138 = xs135 @@ -1689,420 +1689,420 @@ def parse_ffi_args(self) -> Sequence[logic_pb2.Abstraction]: def parse_atom(self) -> logic_pb2.Atom: self.consume_literal('(') self.consume_literal('atom') - _t638 = self.parse_relation_id() - relation_id139 = _t638 + _t639 = self.parse_relation_id() + relation_id139 = _t639 xs140 = [] cond141 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond141: - _t639 = self.parse_term() - item142 = _t639 + _t640 = self.parse_term() + item142 = _t640 xs140.append(item142) cond141 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) terms143 = xs140 self.consume_literal(')') - _t640 = logic_pb2.Atom(name=relation_id139, terms=terms143) - return _t640 + _t641 = logic_pb2.Atom(name=relation_id139, terms=terms143) + return _t641 def parse_pragma(self) -> logic_pb2.Pragma: self.consume_literal('(') self.consume_literal('pragma') - _t641 = self.parse_name() - name144 = _t641 + _t642 = self.parse_name() + name144 = _t642 xs145 = [] cond146 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond146: - _t642 = self.parse_term() - item147 = _t642 + _t643 = self.parse_term() + item147 = _t643 xs145.append(item147) cond146 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) terms148 = xs145 self.consume_literal(')') - _t643 = logic_pb2.Pragma(name=name144, terms=terms148) - return _t643 + _t644 = logic_pb2.Pragma(name=name144, terms=terms148) + return _t644 def parse_primitive(self) -> logic_pb2.Primitive: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('primitive', 1): - _t645 = 9 + _t646 = 9 else: if self.match_lookahead_literal('>=', 1): - _t646 = 4 + _t647 = 4 else: if self.match_lookahead_literal('>', 1): - _t647 = 3 + _t648 = 3 else: if self.match_lookahead_literal('=', 1): - _t648 = 0 + _t649 = 0 else: if self.match_lookahead_literal('<=', 1): - _t649 = 2 + _t650 = 2 else: if self.match_lookahead_literal('<', 1): - _t650 = 1 + _t651 = 1 else: if self.match_lookahead_literal('/', 1): - _t651 = 8 + _t652 = 8 else: if self.match_lookahead_literal('-', 1): - _t652 = 6 + _t653 = 6 else: if self.match_lookahead_literal('+', 1): - _t653 = 5 + _t654 = 5 else: if self.match_lookahead_literal('*', 1): - _t654 = 7 + _t655 = 7 else: - _t654 = -1 - _t653 = _t654 - _t652 = _t653 - _t651 = _t652 - _t650 = _t651 - _t649 = _t650 - _t648 = _t649 - _t647 = _t648 - _t646 = _t647 - _t645 = _t646 - _t644 = _t645 + _t655 = -1 + _t654 = _t655 + _t653 = _t654 + _t652 = _t653 + _t651 = _t652 + _t650 = _t651 + _t649 = _t650 + _t648 = _t649 + _t647 = _t648 + _t646 = _t647 + _t645 = _t646 else: - _t644 = -1 - prediction149 = _t644 + _t645 = -1 + prediction149 = _t645 if prediction149 == 9: self.consume_literal('(') self.consume_literal('primitive') - _t656 = self.parse_name() - name159 = _t656 + _t657 = self.parse_name() + name159 = _t657 xs160 = [] cond161 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond161: - _t657 = self.parse_rel_term() - item162 = _t657 + _t658 = self.parse_rel_term() + item162 = _t658 xs160.append(item162) cond161 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) rel_terms163 = xs160 self.consume_literal(')') - _t658 = logic_pb2.Primitive(name=name159, terms=rel_terms163) - _t655 = _t658 + _t659 = logic_pb2.Primitive(name=name159, terms=rel_terms163) + _t656 = _t659 else: if prediction149 == 8: - _t660 = self.parse_divide() - divide158 = _t660 - _t659 = divide158 + _t661 = self.parse_divide() + divide158 = _t661 + _t660 = divide158 else: if prediction149 == 7: - _t662 = self.parse_multiply() - multiply157 = _t662 - _t661 = multiply157 + _t663 = self.parse_multiply() + multiply157 = _t663 + _t662 = multiply157 else: if prediction149 == 6: - _t664 = self.parse_minus() - minus156 = _t664 - _t663 = minus156 + _t665 = self.parse_minus() + minus156 = _t665 + _t664 = minus156 else: if prediction149 == 5: - _t666 = self.parse_add() - add155 = _t666 - _t665 = add155 + _t667 = self.parse_add() + add155 = _t667 + _t666 = add155 else: if prediction149 == 4: - _t668 = self.parse_gt_eq() - gt_eq154 = _t668 - _t667 = gt_eq154 + _t669 = self.parse_gt_eq() + gt_eq154 = _t669 + _t668 = gt_eq154 else: if prediction149 == 3: - _t670 = self.parse_gt() - gt153 = _t670 - _t669 = gt153 + _t671 = self.parse_gt() + gt153 = _t671 + _t670 = gt153 else: if prediction149 == 2: - _t672 = self.parse_lt_eq() - lt_eq152 = _t672 - _t671 = lt_eq152 + _t673 = self.parse_lt_eq() + lt_eq152 = _t673 + _t672 = lt_eq152 else: if prediction149 == 1: - _t674 = self.parse_lt() - lt151 = _t674 - _t673 = lt151 + _t675 = self.parse_lt() + lt151 = _t675 + _t674 = lt151 else: if prediction149 == 0: - _t676 = self.parse_eq() - eq150 = _t676 - _t675 = eq150 + _t677 = self.parse_eq() + eq150 = _t677 + _t676 = eq150 else: raise ParseError(f"{'Unexpected token in primitive'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t673 = _t675 - _t671 = _t673 - _t669 = _t671 - _t667 = _t669 - _t665 = _t667 - _t663 = _t665 - _t661 = _t663 - _t659 = _t661 - _t655 = _t659 - return _t655 + _t674 = _t676 + _t672 = _t674 + _t670 = _t672 + _t668 = _t670 + _t666 = _t668 + _t664 = _t666 + _t662 = _t664 + _t660 = _t662 + _t656 = _t660 + return _t656 def parse_eq(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('=') - _t677 = self.parse_term() - term164 = _t677 _t678 = self.parse_term() - term_3165 = _t678 + term164 = _t678 + _t679 = self.parse_term() + term_3165 = _t679 self.consume_literal(')') - _t679 = logic_pb2.RelTerm(term=term164) - _t680 = logic_pb2.RelTerm(term=term_3165) - _t681 = logic_pb2.Primitive(name='rel_primitive_eq', terms=[_t679, _t680]) - return _t681 + _t680 = logic_pb2.RelTerm(term=term164) + _t681 = logic_pb2.RelTerm(term=term_3165) + _t682 = logic_pb2.Primitive(name='rel_primitive_eq', terms=[_t680, _t681]) + return _t682 def parse_lt(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('<') - _t682 = self.parse_term() - term166 = _t682 _t683 = self.parse_term() - term_3167 = _t683 + term166 = _t683 + _t684 = self.parse_term() + term_3167 = _t684 self.consume_literal(')') - _t684 = logic_pb2.RelTerm(term=term166) - _t685 = logic_pb2.RelTerm(term=term_3167) - _t686 = logic_pb2.Primitive(name='rel_primitive_lt_monotype', terms=[_t684, _t685]) - return _t686 + _t685 = logic_pb2.RelTerm(term=term166) + _t686 = logic_pb2.RelTerm(term=term_3167) + _t687 = logic_pb2.Primitive(name='rel_primitive_lt_monotype', terms=[_t685, _t686]) + return _t687 def parse_lt_eq(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('<=') - _t687 = self.parse_term() - term168 = _t687 _t688 = self.parse_term() - term_3169 = _t688 + term168 = _t688 + _t689 = self.parse_term() + term_3169 = _t689 self.consume_literal(')') - _t689 = logic_pb2.RelTerm(term=term168) - _t690 = logic_pb2.RelTerm(term=term_3169) - _t691 = logic_pb2.Primitive(name='rel_primitive_lt_eq_monotype', terms=[_t689, _t690]) - return _t691 + _t690 = logic_pb2.RelTerm(term=term168) + _t691 = logic_pb2.RelTerm(term=term_3169) + _t692 = logic_pb2.Primitive(name='rel_primitive_lt_eq_monotype', terms=[_t690, _t691]) + return _t692 def parse_gt(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('>') - _t692 = self.parse_term() - term170 = _t692 _t693 = self.parse_term() - term_3171 = _t693 + term170 = _t693 + _t694 = self.parse_term() + term_3171 = _t694 self.consume_literal(')') - _t694 = logic_pb2.RelTerm(term=term170) - _t695 = logic_pb2.RelTerm(term=term_3171) - _t696 = logic_pb2.Primitive(name='rel_primitive_gt_monotype', terms=[_t694, _t695]) - return _t696 + _t695 = logic_pb2.RelTerm(term=term170) + _t696 = logic_pb2.RelTerm(term=term_3171) + _t697 = logic_pb2.Primitive(name='rel_primitive_gt_monotype', terms=[_t695, _t696]) + return _t697 def parse_gt_eq(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('>=') - _t697 = self.parse_term() - term172 = _t697 _t698 = self.parse_term() - term_3173 = _t698 + term172 = _t698 + _t699 = self.parse_term() + term_3173 = _t699 self.consume_literal(')') - _t699 = logic_pb2.RelTerm(term=term172) - _t700 = logic_pb2.RelTerm(term=term_3173) - _t701 = logic_pb2.Primitive(name='rel_primitive_gt_eq_monotype', terms=[_t699, _t700]) - return _t701 + _t700 = logic_pb2.RelTerm(term=term172) + _t701 = logic_pb2.RelTerm(term=term_3173) + _t702 = logic_pb2.Primitive(name='rel_primitive_gt_eq_monotype', terms=[_t700, _t701]) + return _t702 def parse_add(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('+') - _t702 = self.parse_term() - term174 = _t702 _t703 = self.parse_term() - term_3175 = _t703 + term174 = _t703 _t704 = self.parse_term() - term_4176 = _t704 + term_3175 = _t704 + _t705 = self.parse_term() + term_4176 = _t705 self.consume_literal(')') - _t705 = logic_pb2.RelTerm(term=term174) - _t706 = logic_pb2.RelTerm(term=term_3175) - _t707 = logic_pb2.RelTerm(term=term_4176) - _t708 = logic_pb2.Primitive(name='rel_primitive_add_monotype', terms=[_t705, _t706, _t707]) - return _t708 + _t706 = logic_pb2.RelTerm(term=term174) + _t707 = logic_pb2.RelTerm(term=term_3175) + _t708 = logic_pb2.RelTerm(term=term_4176) + _t709 = logic_pb2.Primitive(name='rel_primitive_add_monotype', terms=[_t706, _t707, _t708]) + return _t709 def parse_minus(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('-') - _t709 = self.parse_term() - term177 = _t709 _t710 = self.parse_term() - term_3178 = _t710 + term177 = _t710 _t711 = self.parse_term() - term_4179 = _t711 + term_3178 = _t711 + _t712 = self.parse_term() + term_4179 = _t712 self.consume_literal(')') - _t712 = logic_pb2.RelTerm(term=term177) - _t713 = logic_pb2.RelTerm(term=term_3178) - _t714 = logic_pb2.RelTerm(term=term_4179) - _t715 = logic_pb2.Primitive(name='rel_primitive_subtract_monotype', terms=[_t712, _t713, _t714]) - return _t715 + _t713 = logic_pb2.RelTerm(term=term177) + _t714 = logic_pb2.RelTerm(term=term_3178) + _t715 = logic_pb2.RelTerm(term=term_4179) + _t716 = logic_pb2.Primitive(name='rel_primitive_subtract_monotype', terms=[_t713, _t714, _t715]) + return _t716 def parse_multiply(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('*') - _t716 = self.parse_term() - term180 = _t716 _t717 = self.parse_term() - term_3181 = _t717 + term180 = _t717 _t718 = self.parse_term() - term_4182 = _t718 + term_3181 = _t718 + _t719 = self.parse_term() + term_4182 = _t719 self.consume_literal(')') - _t719 = logic_pb2.RelTerm(term=term180) - _t720 = logic_pb2.RelTerm(term=term_3181) - _t721 = logic_pb2.RelTerm(term=term_4182) - _t722 = logic_pb2.Primitive(name='rel_primitive_multiply_monotype', terms=[_t719, _t720, _t721]) - return _t722 + _t720 = logic_pb2.RelTerm(term=term180) + _t721 = logic_pb2.RelTerm(term=term_3181) + _t722 = logic_pb2.RelTerm(term=term_4182) + _t723 = logic_pb2.Primitive(name='rel_primitive_multiply_monotype', terms=[_t720, _t721, _t722]) + return _t723 def parse_divide(self) -> logic_pb2.Primitive: self.consume_literal('(') self.consume_literal('/') - _t723 = self.parse_term() - term183 = _t723 _t724 = self.parse_term() - term_3184 = _t724 + term183 = _t724 _t725 = self.parse_term() - term_4185 = _t725 + term_3184 = _t725 + _t726 = self.parse_term() + term_4185 = _t726 self.consume_literal(')') - _t726 = logic_pb2.RelTerm(term=term183) - _t727 = logic_pb2.RelTerm(term=term_3184) - _t728 = logic_pb2.RelTerm(term=term_4185) - _t729 = logic_pb2.Primitive(name='rel_primitive_divide_monotype', terms=[_t726, _t727, _t728]) - return _t729 + _t727 = logic_pb2.RelTerm(term=term183) + _t728 = logic_pb2.RelTerm(term=term_3184) + _t729 = logic_pb2.RelTerm(term=term_4185) + _t730 = logic_pb2.Primitive(name='rel_primitive_divide_monotype', terms=[_t727, _t728, _t729]) + return _t730 def parse_rel_term(self) -> logic_pb2.RelTerm: if self.match_lookahead_literal('true', 0): - _t730 = 1 + _t731 = 1 else: if self.match_lookahead_literal('missing', 0): - _t731 = 1 + _t732 = 1 else: if self.match_lookahead_literal('false', 0): - _t732 = 1 + _t733 = 1 else: if self.match_lookahead_literal('(', 0): - _t733 = 1 + _t734 = 1 else: if self.match_lookahead_literal('#', 0): - _t734 = 0 + _t735 = 0 else: if self.match_lookahead_terminal('UINT128', 0): - _t735 = 1 + _t736 = 1 else: if self.match_lookahead_terminal('SYMBOL', 0): - _t736 = 1 + _t737 = 1 else: if self.match_lookahead_terminal('STRING', 0): - _t737 = 1 + _t738 = 1 else: if self.match_lookahead_terminal('INT128', 0): - _t738 = 1 + _t739 = 1 else: if self.match_lookahead_terminal('INT', 0): - _t739 = 1 + _t740 = 1 else: if self.match_lookahead_terminal('FLOAT', 0): - _t740 = 1 + _t741 = 1 else: if self.match_lookahead_terminal('DECIMAL', 0): - _t741 = 1 + _t742 = 1 else: - _t741 = -1 - _t740 = _t741 - _t739 = _t740 - _t738 = _t739 - _t737 = _t738 - _t736 = _t737 - _t735 = _t736 - _t734 = _t735 - _t733 = _t734 - _t732 = _t733 - _t731 = _t732 - _t730 = _t731 - prediction186 = _t730 + _t742 = -1 + _t741 = _t742 + _t740 = _t741 + _t739 = _t740 + _t738 = _t739 + _t737 = _t738 + _t736 = _t737 + _t735 = _t736 + _t734 = _t735 + _t733 = _t734 + _t732 = _t733 + _t731 = _t732 + prediction186 = _t731 if prediction186 == 1: - _t743 = self.parse_term() - term188 = _t743 - _t744 = logic_pb2.RelTerm(term=term188) - _t742 = _t744 + _t744 = self.parse_term() + term188 = _t744 + _t745 = logic_pb2.RelTerm(term=term188) + _t743 = _t745 else: if prediction186 == 0: - _t746 = self.parse_specialized_value() - specialized_value187 = _t746 - _t747 = logic_pb2.RelTerm(specialized_value=specialized_value187) - _t745 = _t747 + _t747 = self.parse_specialized_value() + specialized_value187 = _t747 + _t748 = logic_pb2.RelTerm(specialized_value=specialized_value187) + _t746 = _t748 else: raise ParseError(f"{'Unexpected token in rel_term'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t742 = _t745 - return _t742 + _t743 = _t746 + return _t743 def parse_specialized_value(self) -> logic_pb2.Value: self.consume_literal('#') - _t748 = self.parse_value() - value189 = _t748 + _t749 = self.parse_value() + value189 = _t749 return value189 def parse_rel_atom(self) -> logic_pb2.RelAtom: self.consume_literal('(') self.consume_literal('relatom') - _t749 = self.parse_name() - name190 = _t749 + _t750 = self.parse_name() + name190 = _t750 xs191 = [] cond192 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond192: - _t750 = self.parse_rel_term() - item193 = _t750 + _t751 = self.parse_rel_term() + item193 = _t751 xs191.append(item193) cond192 = (((((((((((self.match_lookahead_literal('#', 0) or self.match_lookahead_literal('(', 0)) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('SYMBOL', 0)) or self.match_lookahead_terminal('UINT128', 0)) rel_terms194 = xs191 self.consume_literal(')') - _t751 = logic_pb2.RelAtom(name=name190, terms=rel_terms194) - return _t751 + _t752 = logic_pb2.RelAtom(name=name190, terms=rel_terms194) + return _t752 def parse_cast(self) -> logic_pb2.Cast: self.consume_literal('(') self.consume_literal('cast') - _t752 = self.parse_term() - term195 = _t752 _t753 = self.parse_term() - term_3196 = _t753 + term195 = _t753 + _t754 = self.parse_term() + term_3196 = _t754 self.consume_literal(')') - _t754 = logic_pb2.Cast(input=term195, result=term_3196) - return _t754 + _t755 = logic_pb2.Cast(input=term195, result=term_3196) + return _t755 def parse_attrs(self) -> Sequence[logic_pb2.Attribute]: self.consume_literal('(') @@ -2110,8 +2110,8 @@ def parse_attrs(self) -> Sequence[logic_pb2.Attribute]: xs197 = [] cond198 = self.match_lookahead_literal('(', 0) while cond198: - _t755 = self.parse_attribute() - item199 = _t755 + _t756 = self.parse_attribute() + item199 = _t756 xs197.append(item199) cond198 = self.match_lookahead_literal('(', 0) attributes200 = xs197 @@ -2121,19 +2121,19 @@ def parse_attrs(self) -> Sequence[logic_pb2.Attribute]: def parse_attribute(self) -> logic_pb2.Attribute: self.consume_literal('(') self.consume_literal('attribute') - _t756 = self.parse_name() - name201 = _t756 + _t757 = self.parse_name() + name201 = _t757 xs202 = [] cond203 = (((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('UINT128', 0)) while cond203: - _t757 = self.parse_value() - item204 = _t757 + _t758 = self.parse_value() + item204 = _t758 xs202.append(item204) cond203 = (((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('false', 0)) or self.match_lookahead_literal('missing', 0)) or self.match_lookahead_literal('true', 0)) or self.match_lookahead_terminal('DECIMAL', 0)) or self.match_lookahead_terminal('FLOAT', 0)) or self.match_lookahead_terminal('INT', 0)) or self.match_lookahead_terminal('INT128', 0)) or self.match_lookahead_terminal('STRING', 0)) or self.match_lookahead_terminal('UINT128', 0)) values205 = xs202 self.consume_literal(')') - _t758 = logic_pb2.Attribute(name=name201, args=values205) - return _t758 + _t759 = logic_pb2.Attribute(name=name201, args=values205) + return _t759 def parse_algorithm(self) -> logic_pb2.Algorithm: self.consume_literal('(') @@ -2141,17 +2141,17 @@ def parse_algorithm(self) -> logic_pb2.Algorithm: xs206 = [] cond207 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) while cond207: - _t759 = self.parse_relation_id() - item208 = _t759 + _t760 = self.parse_relation_id() + item208 = _t760 xs206.append(item208) cond207 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) relation_ids209 = xs206 - _t760 = self.parse_script() - script210 = _t760 + _t761 = self.parse_script() + script210 = _t761 self.consume_literal(')') - _t761 = logic_pb2.Algorithm(body=script210) - getattr(_t761, 'global').extend(relation_ids209) - return _t761 + _t762 = logic_pb2.Algorithm(body=script210) + getattr(_t762, 'global').extend(relation_ids209) + return _t762 def parse_script(self) -> logic_pb2.Script: self.consume_literal('(') @@ -2159,80 +2159,80 @@ def parse_script(self) -> logic_pb2.Script: xs211 = [] cond212 = self.match_lookahead_literal('(', 0) while cond212: - _t762 = self.parse_construct() - item213 = _t762 + _t763 = self.parse_construct() + item213 = _t763 xs211.append(item213) cond212 = self.match_lookahead_literal('(', 0) constructs214 = xs211 self.consume_literal(')') - _t763 = logic_pb2.Script(constructs=constructs214) - return _t763 + _t764 = logic_pb2.Script(constructs=constructs214) + return _t764 def parse_construct(self) -> logic_pb2.Construct: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('upsert', 1): - _t765 = 1 + _t766 = 1 else: if self.match_lookahead_literal('monus', 1): - _t766 = 1 + _t767 = 1 else: if self.match_lookahead_literal('monoid', 1): - _t767 = 1 + _t768 = 1 else: if self.match_lookahead_literal('loop', 1): - _t768 = 0 + _t769 = 0 else: if self.match_lookahead_literal('break', 1): - _t769 = 1 + _t770 = 1 else: if self.match_lookahead_literal('assign', 1): - _t770 = 1 + _t771 = 1 else: - _t770 = -1 - _t769 = _t770 - _t768 = _t769 - _t767 = _t768 - _t766 = _t767 - _t765 = _t766 - _t764 = _t765 + _t771 = -1 + _t770 = _t771 + _t769 = _t770 + _t768 = _t769 + _t767 = _t768 + _t766 = _t767 + _t765 = _t766 else: - _t764 = -1 - prediction215 = _t764 + _t765 = -1 + prediction215 = _t765 if prediction215 == 1: - _t772 = self.parse_instruction() - instruction217 = _t772 - _t773 = logic_pb2.Construct(instruction=instruction217) - _t771 = _t773 + _t773 = self.parse_instruction() + instruction217 = _t773 + _t774 = logic_pb2.Construct(instruction=instruction217) + _t772 = _t774 else: if prediction215 == 0: - _t775 = self.parse_loop() - loop216 = _t775 - _t776 = logic_pb2.Construct(loop=loop216) - _t774 = _t776 + _t776 = self.parse_loop() + loop216 = _t776 + _t777 = logic_pb2.Construct(loop=loop216) + _t775 = _t777 else: raise ParseError(f"{'Unexpected token in construct'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t771 = _t774 - return _t771 + _t772 = _t775 + return _t772 def parse_loop(self) -> logic_pb2.Loop: self.consume_literal('(') self.consume_literal('loop') - _t777 = self.parse_init() - init218 = _t777 - _t778 = self.parse_script() - script219 = _t778 + _t778 = self.parse_init() + init218 = _t778 + _t779 = self.parse_script() + script219 = _t779 self.consume_literal(')') - _t779 = logic_pb2.Loop(init=init218, body=script219) - return _t779 + _t780 = logic_pb2.Loop(init=init218, body=script219) + return _t780 def parse_init(self) -> Sequence[logic_pb2.Instruction]: self.consume_literal('(') @@ -2240,8 +2240,8 @@ def parse_init(self) -> Sequence[logic_pb2.Instruction]: xs220 = [] cond221 = self.match_lookahead_literal('(', 0) while cond221: - _t780 = self.parse_instruction() - item222 = _t780 + _t781 = self.parse_instruction() + item222 = _t781 xs220.append(item222) cond221 = self.match_lookahead_literal('(', 0) instructions223 = xs220 @@ -2253,290 +2253,290 @@ def parse_instruction(self) -> logic_pb2.Instruction: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('upsert', 1): - _t782 = 1 + _t783 = 1 else: if self.match_lookahead_literal('monus', 1): - _t783 = 4 + _t784 = 4 else: if self.match_lookahead_literal('monoid', 1): - _t784 = 3 + _t785 = 3 else: if self.match_lookahead_literal('break', 1): - _t785 = 2 + _t786 = 2 else: if self.match_lookahead_literal('assign', 1): - _t786 = 0 + _t787 = 0 else: - _t786 = -1 - _t785 = _t786 - _t784 = _t785 - _t783 = _t784 - _t782 = _t783 - _t781 = _t782 + _t787 = -1 + _t786 = _t787 + _t785 = _t786 + _t784 = _t785 + _t783 = _t784 + _t782 = _t783 else: - _t781 = -1 - prediction224 = _t781 + _t782 = -1 + prediction224 = _t782 if prediction224 == 4: - _t788 = self.parse_monus_def() - monus_def229 = _t788 - _t789 = logic_pb2.Instruction(monus_def=monus_def229) - _t787 = _t789 + _t789 = self.parse_monus_def() + monus_def229 = _t789 + _t790 = logic_pb2.Instruction(monus_def=monus_def229) + _t788 = _t790 else: if prediction224 == 3: - _t791 = self.parse_monoid_def() - monoid_def228 = _t791 - _t792 = logic_pb2.Instruction(monoid_def=monoid_def228) - _t790 = _t792 + _t792 = self.parse_monoid_def() + monoid_def228 = _t792 + _t793 = logic_pb2.Instruction(monoid_def=monoid_def228) + _t791 = _t793 else: if prediction224 == 2: - _t794 = self.parse_break() - break227 = _t794 - _t795 = logic_pb2.Instruction() - getattr(_t795, 'break').CopyFrom(break227) - _t793 = _t795 + _t795 = self.parse_break() + break227 = _t795 + _t796 = logic_pb2.Instruction() + getattr(_t796, 'break').CopyFrom(break227) + _t794 = _t796 else: if prediction224 == 1: - _t797 = self.parse_upsert() - upsert226 = _t797 - _t798 = logic_pb2.Instruction(upsert=upsert226) - _t796 = _t798 + _t798 = self.parse_upsert() + upsert226 = _t798 + _t799 = logic_pb2.Instruction(upsert=upsert226) + _t797 = _t799 else: if prediction224 == 0: - _t800 = self.parse_assign() - assign225 = _t800 - _t801 = logic_pb2.Instruction(assign=assign225) - _t799 = _t801 + _t801 = self.parse_assign() + assign225 = _t801 + _t802 = logic_pb2.Instruction(assign=assign225) + _t800 = _t802 else: raise ParseError(f"{'Unexpected token in instruction'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t796 = _t799 - _t793 = _t796 - _t790 = _t793 - _t787 = _t790 - return _t787 + _t797 = _t800 + _t794 = _t797 + _t791 = _t794 + _t788 = _t791 + return _t788 def parse_assign(self) -> logic_pb2.Assign: self.consume_literal('(') self.consume_literal('assign') - _t802 = self.parse_relation_id() - relation_id230 = _t802 - _t803 = self.parse_abstraction() - abstraction231 = _t803 + _t803 = self.parse_relation_id() + relation_id230 = _t803 + _t804 = self.parse_abstraction() + abstraction231 = _t804 if self.match_lookahead_literal('(', 0): - _t805 = self.parse_attrs() - _t804 = _t805 + _t806 = self.parse_attrs() + _t805 = _t806 else: - _t804 = None - attrs232 = _t804 + _t805 = None + attrs232 = _t805 self.consume_literal(')') - _t806 = logic_pb2.Assign(name=relation_id230, body=abstraction231, attrs=(attrs232 if attrs232 is not None else [])) - return _t806 + _t807 = logic_pb2.Assign(name=relation_id230, body=abstraction231, attrs=(attrs232 if attrs232 is not None else [])) + return _t807 def parse_upsert(self) -> logic_pb2.Upsert: self.consume_literal('(') self.consume_literal('upsert') - _t807 = self.parse_relation_id() - relation_id233 = _t807 - _t808 = self.parse_abstraction_with_arity() - abstraction_with_arity234 = _t808 + _t808 = self.parse_relation_id() + relation_id233 = _t808 + _t809 = self.parse_abstraction_with_arity() + abstraction_with_arity234 = _t809 if self.match_lookahead_literal('(', 0): - _t810 = self.parse_attrs() - _t809 = _t810 + _t811 = self.parse_attrs() + _t810 = _t811 else: - _t809 = None - attrs235 = _t809 + _t810 = None + attrs235 = _t810 self.consume_literal(')') - _t811 = logic_pb2.Upsert(name=relation_id233, body=abstraction_with_arity234[0], attrs=(attrs235 if attrs235 is not None else []), value_arity=abstraction_with_arity234[1]) - return _t811 + _t812 = logic_pb2.Upsert(name=relation_id233, body=abstraction_with_arity234[0], attrs=(attrs235 if attrs235 is not None else []), value_arity=abstraction_with_arity234[1]) + return _t812 def parse_abstraction_with_arity(self) -> tuple[logic_pb2.Abstraction, int]: self.consume_literal('(') - _t812 = self.parse_bindings() - bindings236 = _t812 - _t813 = self.parse_formula() - formula237 = _t813 + _t813 = self.parse_bindings() + bindings236 = _t813 + _t814 = self.parse_formula() + formula237 = _t814 self.consume_literal(')') - _t814 = logic_pb2.Abstraction(vars=(list(bindings236[0]) + list(bindings236[1] if bindings236[1] is not None else [])), value=formula237) - return (_t814, len(bindings236[1]),) + _t815 = logic_pb2.Abstraction(vars=(list(bindings236[0]) + list(bindings236[1] if bindings236[1] is not None else [])), value=formula237) + return (_t815, len(bindings236[1]),) def parse_break(self) -> logic_pb2.Break: self.consume_literal('(') self.consume_literal('break') - _t815 = self.parse_relation_id() - relation_id238 = _t815 - _t816 = self.parse_abstraction() - abstraction239 = _t816 + _t816 = self.parse_relation_id() + relation_id238 = _t816 + _t817 = self.parse_abstraction() + abstraction239 = _t817 if self.match_lookahead_literal('(', 0): - _t818 = self.parse_attrs() - _t817 = _t818 + _t819 = self.parse_attrs() + _t818 = _t819 else: - _t817 = None - attrs240 = _t817 + _t818 = None + attrs240 = _t818 self.consume_literal(')') - _t819 = logic_pb2.Break(name=relation_id238, body=abstraction239, attrs=(attrs240 if attrs240 is not None else [])) - return _t819 + _t820 = logic_pb2.Break(name=relation_id238, body=abstraction239, attrs=(attrs240 if attrs240 is not None else [])) + return _t820 def parse_monoid_def(self) -> logic_pb2.MonoidDef: self.consume_literal('(') self.consume_literal('monoid') - _t820 = self.parse_monoid() - monoid241 = _t820 - _t821 = self.parse_relation_id() - relation_id242 = _t821 - _t822 = self.parse_abstraction_with_arity() - abstraction_with_arity243 = _t822 + _t821 = self.parse_monoid() + monoid241 = _t821 + _t822 = self.parse_relation_id() + relation_id242 = _t822 + _t823 = self.parse_abstraction_with_arity() + abstraction_with_arity243 = _t823 if self.match_lookahead_literal('(', 0): - _t824 = self.parse_attrs() - _t823 = _t824 + _t825 = self.parse_attrs() + _t824 = _t825 else: - _t823 = None - attrs244 = _t823 + _t824 = None + attrs244 = _t824 self.consume_literal(')') - _t825 = logic_pb2.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[0], attrs=(attrs244 if attrs244 is not None else []), value_arity=abstraction_with_arity243[1]) - return _t825 + _t826 = logic_pb2.MonoidDef(monoid=monoid241, name=relation_id242, body=abstraction_with_arity243[0], attrs=(attrs244 if attrs244 is not None else []), value_arity=abstraction_with_arity243[1]) + return _t826 def parse_monoid(self) -> logic_pb2.Monoid: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('sum', 1): - _t827 = 3 + _t828 = 3 else: if self.match_lookahead_literal('or', 1): - _t828 = 0 + _t829 = 0 else: if self.match_lookahead_literal('min', 1): - _t829 = 1 + _t830 = 1 else: if self.match_lookahead_literal('max', 1): - _t830 = 2 + _t831 = 2 else: - _t830 = -1 - _t829 = _t830 - _t828 = _t829 - _t827 = _t828 - _t826 = _t827 + _t831 = -1 + _t830 = _t831 + _t829 = _t830 + _t828 = _t829 + _t827 = _t828 else: - _t826 = -1 - prediction245 = _t826 + _t827 = -1 + prediction245 = _t827 if prediction245 == 3: - _t832 = self.parse_sum_monoid() - sum_monoid249 = _t832 - _t833 = logic_pb2.Monoid(sum_monoid=sum_monoid249) - _t831 = _t833 + _t833 = self.parse_sum_monoid() + sum_monoid249 = _t833 + _t834 = logic_pb2.Monoid(sum_monoid=sum_monoid249) + _t832 = _t834 else: if prediction245 == 2: - _t835 = self.parse_max_monoid() - max_monoid248 = _t835 - _t836 = logic_pb2.Monoid(max_monoid=max_monoid248) - _t834 = _t836 + _t836 = self.parse_max_monoid() + max_monoid248 = _t836 + _t837 = logic_pb2.Monoid(max_monoid=max_monoid248) + _t835 = _t837 else: if prediction245 == 1: - _t838 = self.parse_min_monoid() - min_monoid247 = _t838 - _t839 = logic_pb2.Monoid(min_monoid=min_monoid247) - _t837 = _t839 + _t839 = self.parse_min_monoid() + min_monoid247 = _t839 + _t840 = logic_pb2.Monoid(min_monoid=min_monoid247) + _t838 = _t840 else: if prediction245 == 0: - _t841 = self.parse_or_monoid() - or_monoid246 = _t841 - _t842 = logic_pb2.Monoid(or_monoid=or_monoid246) - _t840 = _t842 + _t842 = self.parse_or_monoid() + or_monoid246 = _t842 + _t843 = logic_pb2.Monoid(or_monoid=or_monoid246) + _t841 = _t843 else: raise ParseError(f"{'Unexpected token in monoid'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t837 = _t840 - _t834 = _t837 - _t831 = _t834 - return _t831 + _t838 = _t841 + _t835 = _t838 + _t832 = _t835 + return _t832 def parse_or_monoid(self) -> logic_pb2.OrMonoid: self.consume_literal('(') self.consume_literal('or') self.consume_literal(')') - _t843 = logic_pb2.OrMonoid() - return _t843 + _t844 = logic_pb2.OrMonoid() + return _t844 def parse_min_monoid(self) -> logic_pb2.MinMonoid: self.consume_literal('(') self.consume_literal('min') - _t844 = self.parse_type() - type250 = _t844 + _t845 = self.parse_type() + type250 = _t845 self.consume_literal(')') - _t845 = logic_pb2.MinMonoid(type=type250) - return _t845 + _t846 = logic_pb2.MinMonoid(type=type250) + return _t846 def parse_max_monoid(self) -> logic_pb2.MaxMonoid: self.consume_literal('(') self.consume_literal('max') - _t846 = self.parse_type() - type251 = _t846 + _t847 = self.parse_type() + type251 = _t847 self.consume_literal(')') - _t847 = logic_pb2.MaxMonoid(type=type251) - return _t847 + _t848 = logic_pb2.MaxMonoid(type=type251) + return _t848 def parse_sum_monoid(self) -> logic_pb2.SumMonoid: self.consume_literal('(') self.consume_literal('sum') - _t848 = self.parse_type() - type252 = _t848 + _t849 = self.parse_type() + type252 = _t849 self.consume_literal(')') - _t849 = logic_pb2.SumMonoid(type=type252) - return _t849 + _t850 = logic_pb2.SumMonoid(type=type252) + return _t850 def parse_monus_def(self) -> logic_pb2.MonusDef: self.consume_literal('(') self.consume_literal('monus') - _t850 = self.parse_monoid() - monoid253 = _t850 - _t851 = self.parse_relation_id() - relation_id254 = _t851 - _t852 = self.parse_abstraction_with_arity() - abstraction_with_arity255 = _t852 + _t851 = self.parse_monoid() + monoid253 = _t851 + _t852 = self.parse_relation_id() + relation_id254 = _t852 + _t853 = self.parse_abstraction_with_arity() + abstraction_with_arity255 = _t853 if self.match_lookahead_literal('(', 0): - _t854 = self.parse_attrs() - _t853 = _t854 + _t855 = self.parse_attrs() + _t854 = _t855 else: - _t853 = None - attrs256 = _t853 + _t854 = None + attrs256 = _t854 self.consume_literal(')') - _t855 = logic_pb2.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[0], attrs=(attrs256 if attrs256 is not None else []), value_arity=abstraction_with_arity255[1]) - return _t855 + _t856 = logic_pb2.MonusDef(monoid=monoid253, name=relation_id254, body=abstraction_with_arity255[0], attrs=(attrs256 if attrs256 is not None else []), value_arity=abstraction_with_arity255[1]) + return _t856 def parse_constraint(self) -> logic_pb2.Constraint: self.consume_literal('(') self.consume_literal('functional_dependency') - _t856 = self.parse_relation_id() - relation_id257 = _t856 - _t857 = self.parse_abstraction() - abstraction258 = _t857 - _t858 = self.parse_functional_dependency_keys() - functional_dependency_keys259 = _t858 - _t859 = self.parse_functional_dependency_values() - functional_dependency_values260 = _t859 - self.consume_literal(')') - _t860 = logic_pb2.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) - _t861 = logic_pb2.Constraint(name=relation_id257, functional_dependency=_t860) - return _t861 + _t857 = self.parse_relation_id() + relation_id257 = _t857 + _t858 = self.parse_abstraction() + abstraction258 = _t858 + _t859 = self.parse_functional_dependency_keys() + functional_dependency_keys259 = _t859 + _t860 = self.parse_functional_dependency_values() + functional_dependency_values260 = _t860 + self.consume_literal(')') + _t861 = logic_pb2.FunctionalDependency(guard=abstraction258, keys=functional_dependency_keys259, values=functional_dependency_values260) + _t862 = logic_pb2.Constraint(name=relation_id257, functional_dependency=_t861) + return _t862 def parse_functional_dependency_keys(self) -> Sequence[logic_pb2.Var]: self.consume_literal('(') @@ -2544,8 +2544,8 @@ def parse_functional_dependency_keys(self) -> Sequence[logic_pb2.Var]: xs261 = [] cond262 = self.match_lookahead_terminal('SYMBOL', 0) while cond262: - _t862 = self.parse_var() - item263 = _t862 + _t863 = self.parse_var() + item263 = _t863 xs261.append(item263) cond262 = self.match_lookahead_terminal('SYMBOL', 0) vars264 = xs261 @@ -2558,8 +2558,8 @@ def parse_functional_dependency_values(self) -> Sequence[logic_pb2.Var]: xs265 = [] cond266 = self.match_lookahead_terminal('SYMBOL', 0) while cond266: - _t863 = self.parse_var() - item267 = _t863 + _t864 = self.parse_var() + item267 = _t864 xs265.append(item267) cond266 = self.match_lookahead_terminal('SYMBOL', 0) vars268 = xs265 @@ -2571,61 +2571,61 @@ def parse_data(self) -> logic_pb2.Data: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('rel_edb', 1): - _t865 = 0 + _t866 = 0 else: if self.match_lookahead_literal('csv_data', 1): - _t866 = 2 + _t867 = 2 else: if self.match_lookahead_literal('betree_relation', 1): - _t867 = 1 + _t868 = 1 else: - _t867 = -1 - _t866 = _t867 - _t865 = _t866 - _t864 = _t865 + _t868 = -1 + _t867 = _t868 + _t866 = _t867 + _t865 = _t866 else: - _t864 = -1 - prediction269 = _t864 + _t865 = -1 + prediction269 = _t865 if prediction269 == 2: - _t869 = self.parse_csv_data() - csv_data272 = _t869 - _t870 = logic_pb2.Data(csv_data=csv_data272) - _t868 = _t870 + _t870 = self.parse_csv_data() + csv_data272 = _t870 + _t871 = logic_pb2.Data(csv_data=csv_data272) + _t869 = _t871 else: if prediction269 == 1: - _t872 = self.parse_betree_relation() - betree_relation271 = _t872 - _t873 = logic_pb2.Data(betree_relation=betree_relation271) - _t871 = _t873 + _t873 = self.parse_betree_relation() + betree_relation271 = _t873 + _t874 = logic_pb2.Data(betree_relation=betree_relation271) + _t872 = _t874 else: if prediction269 == 0: - _t875 = self.parse_rel_edb() - rel_edb270 = _t875 - _t876 = logic_pb2.Data(rel_edb=rel_edb270) - _t874 = _t876 + _t876 = self.parse_rel_edb() + rel_edb270 = _t876 + _t877 = logic_pb2.Data(rel_edb=rel_edb270) + _t875 = _t877 else: raise ParseError(f"{'Unexpected token in data'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t871 = _t874 - _t868 = _t871 - return _t868 + _t872 = _t875 + _t869 = _t872 + return _t869 def parse_rel_edb(self) -> logic_pb2.RelEDB: self.consume_literal('(') self.consume_literal('rel_edb') - _t877 = self.parse_relation_id() - relation_id273 = _t877 - _t878 = self.parse_rel_edb_path() - rel_edb_path274 = _t878 - _t879 = self.parse_rel_edb_types() - rel_edb_types275 = _t879 + _t878 = self.parse_relation_id() + relation_id273 = _t878 + _t879 = self.parse_rel_edb_path() + rel_edb_path274 = _t879 + _t880 = self.parse_rel_edb_types() + rel_edb_types275 = _t880 self.consume_literal(')') - _t880 = logic_pb2.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) - return _t880 + _t881 = logic_pb2.RelEDB(target_id=relation_id273, path=rel_edb_path274, types=rel_edb_types275) + return _t881 def parse_rel_edb_path(self) -> Sequence[str]: self.consume_literal('[') @@ -2644,8 +2644,8 @@ def parse_rel_edb_types(self) -> Sequence[logic_pb2.Type]: xs280 = [] cond281 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond281: - _t881 = self.parse_type() - item282 = _t881 + _t882 = self.parse_type() + item282 = _t882 xs280.append(item282) cond281 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types283 = xs280 @@ -2655,26 +2655,26 @@ def parse_rel_edb_types(self) -> Sequence[logic_pb2.Type]: def parse_betree_relation(self) -> logic_pb2.BeTreeRelation: self.consume_literal('(') self.consume_literal('betree_relation') - _t882 = self.parse_relation_id() - relation_id284 = _t882 - _t883 = self.parse_betree_info() - betree_info285 = _t883 + _t883 = self.parse_relation_id() + relation_id284 = _t883 + _t884 = self.parse_betree_info() + betree_info285 = _t884 self.consume_literal(')') - _t884 = logic_pb2.BeTreeRelation(name=relation_id284, relation_info=betree_info285) - return _t884 + _t885 = logic_pb2.BeTreeRelation(name=relation_id284, relation_info=betree_info285) + return _t885 def parse_betree_info(self) -> logic_pb2.BeTreeInfo: self.consume_literal('(') self.consume_literal('betree_info') - _t885 = self.parse_betree_info_key_types() - betree_info_key_types286 = _t885 - _t886 = self.parse_betree_info_value_types() - betree_info_value_types287 = _t886 - _t887 = self.parse_config_dict() - config_dict288 = _t887 + _t886 = self.parse_betree_info_key_types() + betree_info_key_types286 = _t886 + _t887 = self.parse_betree_info_value_types() + betree_info_value_types287 = _t887 + _t888 = self.parse_config_dict() + config_dict288 = _t888 self.consume_literal(')') - _t888 = self.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) - return _t888 + _t889 = self.construct_betree_info(betree_info_key_types286, betree_info_value_types287, config_dict288) + return _t889 def parse_betree_info_key_types(self) -> Sequence[logic_pb2.Type]: self.consume_literal('(') @@ -2682,8 +2682,8 @@ def parse_betree_info_key_types(self) -> Sequence[logic_pb2.Type]: xs289 = [] cond290 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond290: - _t889 = self.parse_type() - item291 = _t889 + _t890 = self.parse_type() + item291 = _t890 xs289.append(item291) cond290 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types292 = xs289 @@ -2696,8 +2696,8 @@ def parse_betree_info_value_types(self) -> Sequence[logic_pb2.Type]: xs293 = [] cond294 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond294: - _t890 = self.parse_type() - item295 = _t890 + _t891 = self.parse_type() + item295 = _t891 xs293.append(item295) cond294 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types296 = xs293 @@ -2707,38 +2707,38 @@ def parse_betree_info_value_types(self) -> Sequence[logic_pb2.Type]: def parse_csv_data(self) -> logic_pb2.CSVData: self.consume_literal('(') self.consume_literal('csv_data') - _t891 = self.parse_csvlocator() - csvlocator297 = _t891 - _t892 = self.parse_csv_config() - csv_config298 = _t892 - _t893 = self.parse_csv_columns() - csv_columns299 = _t893 - _t894 = self.parse_csv_asof() - csv_asof300 = _t894 - self.consume_literal(')') - _t895 = logic_pb2.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) - return _t895 + _t892 = self.parse_csvlocator() + csvlocator297 = _t892 + _t893 = self.parse_csv_config() + csv_config298 = _t893 + _t894 = self.parse_csv_columns() + csv_columns299 = _t894 + _t895 = self.parse_csv_asof() + csv_asof300 = _t895 + self.consume_literal(')') + _t896 = logic_pb2.CSVData(locator=csvlocator297, config=csv_config298, columns=csv_columns299, asof=csv_asof300) + return _t896 def parse_csvlocator(self) -> logic_pb2.CSVLocator: self.consume_literal('(') self.consume_literal('csv_locator') if (self.match_lookahead_literal('(', 0) and self.match_lookahead_literal('paths', 1)): - _t897 = self.parse_csv_locator_paths() - _t896 = _t897 + _t898 = self.parse_csv_locator_paths() + _t897 = _t898 else: - _t896 = None - csv_locator_paths301 = _t896 + _t897 = None + csv_locator_paths301 = _t897 if self.match_lookahead_literal('(', 0): - _t899 = self.parse_csv_locator_inline_data() - _t898 = _t899 + _t900 = self.parse_csv_locator_inline_data() + _t899 = _t900 else: - _t898 = None - csv_locator_inline_data302 = _t898 + _t899 = None + csv_locator_inline_data302 = _t899 self.consume_literal(')') - _t900 = logic_pb2.CSVLocator(paths=(csv_locator_paths301 if csv_locator_paths301 is not None else []), inline_data=(csv_locator_inline_data302 if csv_locator_inline_data302 is not None else '').encode()) - return _t900 + _t901 = logic_pb2.CSVLocator(paths=(csv_locator_paths301 if csv_locator_paths301 is not None else []), inline_data=(csv_locator_inline_data302 if csv_locator_inline_data302 is not None else '').encode()) + return _t901 def parse_csv_locator_paths(self) -> Sequence[str]: self.consume_literal('(') @@ -2763,11 +2763,11 @@ def parse_csv_locator_inline_data(self) -> str: def parse_csv_config(self) -> logic_pb2.CSVConfig: self.consume_literal('(') self.consume_literal('csv_config') - _t901 = self.parse_config_dict() - config_dict308 = _t901 + _t902 = self.parse_config_dict() + config_dict308 = _t902 self.consume_literal(')') - _t902 = self.construct_csv_config(config_dict308) - return _t902 + _t903 = self.construct_csv_config(config_dict308) + return _t903 def parse_csv_columns(self) -> Sequence[logic_pb2.CSVColumn]: self.consume_literal('(') @@ -2775,8 +2775,8 @@ def parse_csv_columns(self) -> Sequence[logic_pb2.CSVColumn]: xs309 = [] cond310 = self.match_lookahead_literal('(', 0) while cond310: - _t903 = self.parse_csv_column() - item311 = _t903 + _t904 = self.parse_csv_column() + item311 = _t904 xs309.append(item311) cond310 = self.match_lookahead_literal('(', 0) csv_columns312 = xs309 @@ -2787,21 +2787,21 @@ def parse_csv_column(self) -> logic_pb2.CSVColumn: self.consume_literal('(') self.consume_literal('column') string313 = self.consume_terminal('STRING') - _t904 = self.parse_relation_id() - relation_id314 = _t904 + _t905 = self.parse_relation_id() + relation_id314 = _t905 self.consume_literal('[') xs315 = [] cond316 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) while cond316: - _t905 = self.parse_type() - item317 = _t905 + _t906 = self.parse_type() + item317 = _t906 xs315.append(item317) cond316 = ((((((((((self.match_lookahead_literal('(', 0) or self.match_lookahead_literal('BOOLEAN', 0)) or self.match_lookahead_literal('DATE', 0)) or self.match_lookahead_literal('DATETIME', 0)) or self.match_lookahead_literal('FLOAT', 0)) or self.match_lookahead_literal('INT', 0)) or self.match_lookahead_literal('INT128', 0)) or self.match_lookahead_literal('MISSING', 0)) or self.match_lookahead_literal('STRING', 0)) or self.match_lookahead_literal('UINT128', 0)) or self.match_lookahead_literal('UNKNOWN', 0)) types318 = xs315 self.consume_literal(']') self.consume_literal(')') - _t906 = logic_pb2.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) - return _t906 + _t907 = logic_pb2.CSVColumn(column_name=string313, target_id=relation_id314, types=types318) + return _t907 def parse_csv_asof(self) -> str: self.consume_literal('(') @@ -2813,11 +2813,11 @@ def parse_csv_asof(self) -> str: def parse_undefine(self) -> transactions_pb2.Undefine: self.consume_literal('(') self.consume_literal('undefine') - _t907 = self.parse_fragment_id() - fragment_id320 = _t907 + _t908 = self.parse_fragment_id() + fragment_id320 = _t908 self.consume_literal(')') - _t908 = transactions_pb2.Undefine(fragment_id=fragment_id320) - return _t908 + _t909 = transactions_pb2.Undefine(fragment_id=fragment_id320) + return _t909 def parse_context(self) -> transactions_pb2.Context: self.consume_literal('(') @@ -2825,14 +2825,14 @@ def parse_context(self) -> transactions_pb2.Context: xs321 = [] cond322 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) while cond322: - _t909 = self.parse_relation_id() - item323 = _t909 + _t910 = self.parse_relation_id() + item323 = _t910 xs321.append(item323) cond322 = (self.match_lookahead_literal(':', 0) or self.match_lookahead_terminal('UINT128', 0)) relation_ids324 = xs321 self.consume_literal(')') - _t910 = transactions_pb2.Context(relations=relation_ids324) - return _t910 + _t911 = transactions_pb2.Context(relations=relation_ids324) + return _t911 def parse_epoch_reads(self) -> Sequence[transactions_pb2.Read]: self.consume_literal('(') @@ -2840,8 +2840,8 @@ def parse_epoch_reads(self) -> Sequence[transactions_pb2.Read]: xs325 = [] cond326 = self.match_lookahead_literal('(', 0) while cond326: - _t911 = self.parse_read() - item327 = _t911 + _t912 = self.parse_read() + item327 = _t912 xs325.append(item327) cond326 = self.match_lookahead_literal('(', 0) reads328 = xs325 @@ -2853,253 +2853,258 @@ def parse_read(self) -> transactions_pb2.Read: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('what_if', 1): - _t913 = 2 + _t914 = 2 else: if self.match_lookahead_literal('output', 1): - _t914 = 1 + _t915 = 1 else: if self.match_lookahead_literal('export', 1): - _t915 = 4 + _t916 = 4 else: if self.match_lookahead_literal('demand', 1): - _t916 = 0 + _t917 = 0 else: if self.match_lookahead_literal('abort', 1): - _t917 = 3 + _t918 = 3 else: - _t917 = -1 - _t916 = _t917 - _t915 = _t916 - _t914 = _t915 - _t913 = _t914 - _t912 = _t913 + _t918 = -1 + _t917 = _t918 + _t916 = _t917 + _t915 = _t916 + _t914 = _t915 + _t913 = _t914 else: - _t912 = -1 - prediction329 = _t912 + _t913 = -1 + prediction329 = _t913 if prediction329 == 4: - _t919 = self.parse_export() - export334 = _t919 - _t920 = transactions_pb2.Read(export=export334) - _t918 = _t920 + _t920 = self.parse_export() + export334 = _t920 + _t921 = transactions_pb2.Read(export=export334) + _t919 = _t921 else: if prediction329 == 3: - _t922 = self.parse_abort() - abort333 = _t922 - _t923 = transactions_pb2.Read(abort=abort333) - _t921 = _t923 + _t923 = self.parse_abort() + abort333 = _t923 + _t924 = transactions_pb2.Read(abort=abort333) + _t922 = _t924 else: if prediction329 == 2: - _t925 = self.parse_what_if() - what_if332 = _t925 - _t926 = transactions_pb2.Read(what_if=what_if332) - _t924 = _t926 + _t926 = self.parse_what_if() + what_if332 = _t926 + _t927 = transactions_pb2.Read(what_if=what_if332) + _t925 = _t927 else: if prediction329 == 1: - _t928 = self.parse_output() - output331 = _t928 - _t929 = transactions_pb2.Read(output=output331) - _t927 = _t929 + _t929 = self.parse_output() + output331 = _t929 + _t930 = transactions_pb2.Read(output=output331) + _t928 = _t930 else: if prediction329 == 0: - _t931 = self.parse_demand() - demand330 = _t931 - _t932 = transactions_pb2.Read(demand=demand330) - _t930 = _t932 + _t932 = self.parse_demand() + demand330 = _t932 + _t933 = transactions_pb2.Read(demand=demand330) + _t931 = _t933 else: raise ParseError(f"{'Unexpected token in read'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t927 = _t930 - _t924 = _t927 - _t921 = _t924 - _t918 = _t921 - return _t918 + _t928 = _t931 + _t925 = _t928 + _t922 = _t925 + _t919 = _t922 + return _t919 def parse_demand(self) -> transactions_pb2.Demand: self.consume_literal('(') self.consume_literal('demand') - _t933 = self.parse_relation_id() - relation_id335 = _t933 + _t934 = self.parse_relation_id() + relation_id335 = _t934 self.consume_literal(')') - _t934 = transactions_pb2.Demand(relation_id=relation_id335) - return _t934 + _t935 = transactions_pb2.Demand(relation_id=relation_id335) + return _t935 def parse_output(self) -> transactions_pb2.Output: self.consume_literal('(') self.consume_literal('output') - _t935 = self.parse_name() - name336 = _t935 - _t936 = self.parse_relation_id() - relation_id337 = _t936 + _t936 = self.parse_name() + name336 = _t936 + _t937 = self.parse_relation_id() + relation_id337 = _t937 self.consume_literal(')') - _t937 = transactions_pb2.Output(name=name336, relation_id=relation_id337) - return _t937 + _t938 = transactions_pb2.Output(name=name336, relation_id=relation_id337) + return _t938 def parse_what_if(self) -> transactions_pb2.WhatIf: self.consume_literal('(') self.consume_literal('what_if') - _t938 = self.parse_name() - name338 = _t938 - _t939 = self.parse_epoch() - epoch339 = _t939 + _t939 = self.parse_name() + name338 = _t939 + _t940 = self.parse_epoch() + epoch339 = _t940 self.consume_literal(')') - _t940 = transactions_pb2.WhatIf(branch=name338, epoch=epoch339) - return _t940 + _t941 = transactions_pb2.WhatIf(branch=name338, epoch=epoch339) + return _t941 def parse_abort(self) -> transactions_pb2.Abort: self.consume_literal('(') self.consume_literal('abort') if (self.match_lookahead_literal(':', 0) and self.match_lookahead_terminal('SYMBOL', 1)): - _t942 = self.parse_name() - _t941 = _t942 + _t943 = self.parse_name() + _t942 = _t943 else: - _t941 = None - name340 = _t941 - _t943 = self.parse_relation_id() - relation_id341 = _t943 + _t942 = None + name340 = _t942 + _t944 = self.parse_relation_id() + relation_id341 = _t944 self.consume_literal(')') - _t944 = transactions_pb2.Abort(name=(name340 if name340 is not None else 'abort'), relation_id=relation_id341) - return _t944 + _t945 = transactions_pb2.Abort(name=(name340 if name340 is not None else 'abort'), relation_id=relation_id341) + return _t945 def parse_export(self) -> transactions_pb2.Export: self.consume_literal('(') self.consume_literal('export') - _t945 = self.parse_export_csv_config() - export_csv_config342 = _t945 + _t946 = self.parse_export_csv_config() + export_csv_config342 = _t946 self.consume_literal(')') - _t946 = transactions_pb2.Export(csv_config=export_csv_config342) - return _t946 + _t947 = transactions_pb2.Export(csv_config=export_csv_config342) + return _t947 def parse_export_csv_config(self) -> transactions_pb2.ExportCSVConfig: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('export_csv_config_v2', 1): - _t948 = 0 + _t949 = 0 else: if self.match_lookahead_literal('export_csv_config', 1): - _t949 = 1 + _t950 = 1 else: - _t949 = -1 - _t948 = _t949 - _t947 = _t948 + _t950 = -1 + _t949 = _t950 + _t948 = _t949 else: - _t947 = -1 - prediction343 = _t947 + _t948 = -1 + prediction343 = _t948 if prediction343 == 1: self.consume_literal('(') self.consume_literal('export_csv_config') - _t951 = self.parse_export_csv_path() - export_csv_path347 = _t951 - self.consume_literal('(') - self.consume_literal('columns') - xs348 = [] - cond349 = self.match_lookahead_literal('(', 0) - while cond349: - _t952 = self.parse_export_csv_column() - item350 = _t952 - xs348.append(item350) - cond349 = self.match_lookahead_literal('(', 0) - export_csv_columns351 = xs348 - self.consume_literal(')') - _t953 = self.parse_config_dict() - config_dict352 = _t953 + _t952 = self.parse_export_csv_path() + export_csv_path347 = _t952 + _t953 = self.parse_export_csv_columns() + export_csv_columns348 = _t953 + _t954 = self.parse_config_dict() + config_dict349 = _t954 self.consume_literal(')') - _t954 = self.construct_export_csv_config(export_csv_path347, export_csv_columns351, config_dict352) - _t950 = _t954 + _t955 = self.construct_export_csv_config(export_csv_path347, export_csv_columns348, config_dict349) + _t951 = _t955 else: if prediction343 == 0: self.consume_literal('(') self.consume_literal('export_csv_config_v2') - _t956 = self.parse_export_csv_path() - export_csv_path344 = _t956 - _t957 = self.parse_export_csv_source() - export_csv_source345 = _t957 - _t958 = self.parse_csv_config() - csv_config346 = _t958 + _t957 = self.parse_export_csv_path() + export_csv_path344 = _t957 + _t958 = self.parse_export_csv_source() + export_csv_source345 = _t958 + _t959 = self.parse_csv_config() + csv_config346 = _t959 self.consume_literal(')') - _t959 = self.construct_export_csv_config_with_source(export_csv_path344, export_csv_source345, csv_config346) - _t955 = _t959 + _t960 = self.construct_export_csv_config_with_source(export_csv_path344, export_csv_source345, csv_config346) + _t956 = _t960 else: raise ParseError(f"{'Unexpected token in export_csv_config'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t950 = _t955 - return _t950 + _t951 = _t956 + return _t951 def parse_export_csv_path(self) -> str: self.consume_literal('(') self.consume_literal('path') - string353 = self.consume_terminal('STRING') + string350 = self.consume_terminal('STRING') self.consume_literal(')') - return string353 + return string350 def parse_export_csv_source(self) -> transactions_pb2.ExportCSVSource: if self.match_lookahead_literal('(', 0): if self.match_lookahead_literal('table_def', 1): - _t961 = 1 + _t962 = 1 else: if self.match_lookahead_literal('gnf_columns', 1): - _t962 = 0 + _t963 = 0 else: - _t962 = -1 - _t961 = _t962 - _t960 = _t961 + _t963 = -1 + _t962 = _t963 + _t961 = _t962 else: - _t960 = -1 - prediction354 = _t960 + _t961 = -1 + prediction351 = _t961 - if prediction354 == 1: + if prediction351 == 1: self.consume_literal('(') self.consume_literal('table_def') - _t964 = self.parse_relation_id() - relation_id359 = _t964 + _t965 = self.parse_relation_id() + relation_id356 = _t965 self.consume_literal(')') - _t965 = transactions_pb2.ExportCSVSource(table_def=relation_id359) - _t963 = _t965 + _t966 = transactions_pb2.ExportCSVSource(table_def=relation_id356) + _t964 = _t966 else: - if prediction354 == 0: + if prediction351 == 0: self.consume_literal('(') self.consume_literal('gnf_columns') - xs355 = [] - cond356 = self.match_lookahead_literal('(', 0) - while cond356: - _t967 = self.parse_export_csv_column() - item357 = _t967 - xs355.append(item357) - cond356 = self.match_lookahead_literal('(', 0) - export_csv_columns358 = xs355 + xs352 = [] + cond353 = self.match_lookahead_literal('(', 0) + while cond353: + _t968 = self.parse_export_csv_column() + item354 = _t968 + xs352.append(item354) + cond353 = self.match_lookahead_literal('(', 0) + export_csv_columns355 = xs352 self.consume_literal(')') - _t968 = transactions_pb2.ExportCSVColumns(columns=export_csv_columns358) - _t969 = transactions_pb2.ExportCSVSource(gnf_columns=_t968) - _t966 = _t969 + _t969 = transactions_pb2.ExportCSVColumns(columns=export_csv_columns355) + _t970 = transactions_pb2.ExportCSVSource(gnf_columns=_t969) + _t967 = _t970 else: raise ParseError(f"{'Unexpected token in export_csv_source'}: {self.lookahead(0).type}=`{self.lookahead(0).value}`") - _t963 = _t966 - return _t963 + _t964 = _t967 + return _t964 def parse_export_csv_column(self) -> transactions_pb2.ExportCSVColumn: self.consume_literal('(') self.consume_literal('column') - string360 = self.consume_terminal('STRING') - _t970 = self.parse_relation_id() - relation_id361 = _t970 + string357 = self.consume_terminal('STRING') + _t971 = self.parse_relation_id() + relation_id358 = _t971 self.consume_literal(')') - _t971 = transactions_pb2.ExportCSVColumn(column_name=string360, column_data=relation_id361) - return _t971 + _t972 = transactions_pb2.ExportCSVColumn(column_name=string357, column_data=relation_id358) + return _t972 + + def parse_export_csv_columns(self) -> Sequence[transactions_pb2.ExportCSVColumn]: + self.consume_literal('(') + self.consume_literal('columns') + xs359 = [] + cond360 = self.match_lookahead_literal('(', 0) + while cond360: + _t973 = self.parse_export_csv_column() + item361 = _t973 + xs359.append(item361) + cond360 = self.match_lookahead_literal('(', 0) + export_csv_columns362 = xs359 + self.consume_literal(')') + return export_csv_columns362 def parse(input_str: str) -> Any: diff --git a/sdks/python/src/lqp/gen/pretty.py b/sdks/python/src/lqp/gen/pretty.py index 8931d91e..062ecbaf 100644 --- a/sdks/python/src/lqp/gen/pretty.py +++ b/sdks/python/src/lqp/gen/pretty.py @@ -118,141 +118,119 @@ def format_string_value(self, s: str) -> str: # --- Helper functions --- - def deconstruct_configure(self, msg: transactions_pb2.Configure) -> list[tuple[str, logic_pb2.Value]]: - result = [] - if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO: - _t1270 = self._make_value_string('auto') - result.append(('ivm.maintenance_level', _t1270,)) - else: - if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL: - _t1271 = self._make_value_string('all') - result.append(('ivm.maintenance_level', _t1271,)) - else: - if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF: - _t1272 = self._make_value_string('off') - result.append(('ivm.maintenance_level', _t1272,)) - _t1273 = self._make_value_int64(msg.semantics_version) - result.append(('semantics_version', _t1273,)) - return sorted(result) + def _make_value_float64(self, v: float) -> logic_pb2.Value: + _t1275 = logic_pb2.Value(float_value=v) + return _t1275 + + def deconstruct_relation_id_uint128(self, msg: logic_pb2.RelationId) -> Optional[logic_pb2.UInt128Value]: + name = self.relation_id_to_string(msg) + if name == '': + return self.relation_id_to_uint128(msg) + return None def _make_value_int64(self, v: int) -> logic_pb2.Value: - _t1274 = logic_pb2.Value(int_value=v) - return _t1274 + _t1276 = logic_pb2.Value(int_value=v) + return _t1276 - def _make_value_string(self, v: str) -> logic_pb2.Value: - _t1275 = logic_pb2.Value(string_value=v) - return _t1275 + def deconstruct_bindings(self, abs: logic_pb2.Abstraction) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: + n = len(abs.vars) + return (abs.vars[0:n], [],) def _make_value_boolean(self, v: bool) -> logic_pb2.Value: - _t1276 = logic_pb2.Value(boolean_value=v) - return _t1276 - - def _make_value_int32(self, v: int) -> logic_pb2.Value: - _t1277 = logic_pb2.Value(int_value=int(v)) + _t1277 = logic_pb2.Value(boolean_value=v) return _t1277 def _make_value_uint128(self, v: logic_pb2.UInt128Value) -> logic_pb2.Value: _t1278 = logic_pb2.Value(uint128_value=v) return _t1278 - def deconstruct_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> list[tuple[str, logic_pb2.Value]]: + def deconstruct_csv_config(self, msg: logic_pb2.CSVConfig) -> list[tuple[str, logic_pb2.Value]]: result = [] - if msg.partition_size is not None: - assert msg.partition_size is not None - _t1279 = self._make_value_int64(msg.partition_size) - result.append(('partition_size', _t1279,)) - if msg.compression is not None: - assert msg.compression is not None - _t1280 = self._make_value_string(msg.compression) - result.append(('compression', _t1280,)) - if msg.syntax_header_row is not None: - assert msg.syntax_header_row is not None - _t1281 = self._make_value_boolean(msg.syntax_header_row) - result.append(('syntax_header_row', _t1281,)) - if msg.syntax_missing_string is not None: - assert msg.syntax_missing_string is not None - _t1282 = self._make_value_string(msg.syntax_missing_string) - result.append(('syntax_missing_string', _t1282,)) - if msg.syntax_delim is not None: - assert msg.syntax_delim is not None - _t1283 = self._make_value_string(msg.syntax_delim) - result.append(('syntax_delim', _t1283,)) - if msg.syntax_quotechar is not None: - assert msg.syntax_quotechar is not None - _t1284 = self._make_value_string(msg.syntax_quotechar) - result.append(('syntax_quotechar', _t1284,)) - if msg.syntax_escapechar is not None: - assert msg.syntax_escapechar is not None - _t1285 = self._make_value_string(msg.syntax_escapechar) - result.append(('syntax_escapechar', _t1285,)) + _t1279 = self._make_value_int32(msg.header_row) + result.append(('csv_header_row', _t1279,)) + _t1280 = self._make_value_int64(msg.skip) + result.append(('csv_skip', _t1280,)) + if msg.new_line != '': + _t1281 = self._make_value_string(msg.new_line) + result.append(('csv_new_line', _t1281,)) + _t1282 = self._make_value_string(msg.delimiter) + result.append(('csv_delimiter', _t1282,)) + _t1283 = self._make_value_string(msg.quotechar) + result.append(('csv_quotechar', _t1283,)) + _t1284 = self._make_value_string(msg.escapechar) + result.append(('csv_escapechar', _t1284,)) + if msg.comment != '': + _t1285 = self._make_value_string(msg.comment) + result.append(('csv_comment', _t1285,)) + for missing_string in msg.missing_strings: + _t1286 = self._make_value_string(missing_string) + result.append(('csv_missing_strings', _t1286,)) + _t1287 = self._make_value_string(msg.decimal_separator) + result.append(('csv_decimal_separator', _t1287,)) + _t1288 = self._make_value_string(msg.encoding) + result.append(('csv_encoding', _t1288,)) + _t1289 = self._make_value_string(msg.compression) + result.append(('csv_compression', _t1289,)) + if msg.partition_size_mb != 0: + _t1290 = self._make_value_int64(msg.partition_size_mb) + result.append(('csv_partition_size_mb', _t1290,)) return sorted(result) - def deconstruct_relation_id_uint128(self, msg: logic_pb2.RelationId) -> Optional[logic_pb2.UInt128Value]: - name = self.relation_id_to_string(msg) - if name == '': - return self.relation_id_to_uint128(msg) - return None - def deconstruct_betree_info_config(self, msg: logic_pb2.BeTreeInfo) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1286 = self._make_value_float64(msg.storage_config.epsilon) - result.append(('betree_config_epsilon', _t1286,)) - _t1287 = self._make_value_int64(msg.storage_config.max_pivots) - result.append(('betree_config_max_pivots', _t1287,)) - _t1288 = self._make_value_int64(msg.storage_config.max_deltas) - result.append(('betree_config_max_deltas', _t1288,)) - _t1289 = self._make_value_int64(msg.storage_config.max_leaf) - result.append(('betree_config_max_leaf', _t1289,)) + _t1291 = self._make_value_float64(msg.storage_config.epsilon) + result.append(('betree_config_epsilon', _t1291,)) + _t1292 = self._make_value_int64(msg.storage_config.max_pivots) + result.append(('betree_config_max_pivots', _t1292,)) + _t1293 = self._make_value_int64(msg.storage_config.max_deltas) + result.append(('betree_config_max_deltas', _t1293,)) + _t1294 = self._make_value_int64(msg.storage_config.max_leaf) + result.append(('betree_config_max_leaf', _t1294,)) if msg.relation_locator.HasField('root_pageid'): if msg.relation_locator.root_pageid is not None: assert msg.relation_locator.root_pageid is not None - _t1290 = self._make_value_uint128(msg.relation_locator.root_pageid) - result.append(('betree_locator_root_pageid', _t1290,)) + _t1295 = self._make_value_uint128(msg.relation_locator.root_pageid) + result.append(('betree_locator_root_pageid', _t1295,)) if msg.relation_locator.HasField('inline_data'): if msg.relation_locator.inline_data is not None: assert msg.relation_locator.inline_data is not None - _t1291 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) - result.append(('betree_locator_inline_data', _t1291,)) - _t1292 = self._make_value_int64(msg.relation_locator.element_count) - result.append(('betree_locator_element_count', _t1292,)) - _t1293 = self._make_value_int64(msg.relation_locator.tree_height) - result.append(('betree_locator_tree_height', _t1293,)) + _t1296 = self._make_value_string(msg.relation_locator.inline_data.decode('utf-8')) + result.append(('betree_locator_inline_data', _t1296,)) + _t1297 = self._make_value_int64(msg.relation_locator.element_count) + result.append(('betree_locator_element_count', _t1297,)) + _t1298 = self._make_value_int64(msg.relation_locator.tree_height) + result.append(('betree_locator_tree_height', _t1298,)) return sorted(result) - def _make_value_float64(self, v: float) -> logic_pb2.Value: - _t1294 = logic_pb2.Value(float_value=v) - return _t1294 + def _make_value_int32(self, v: int) -> logic_pb2.Value: + _t1299 = logic_pb2.Value(int_value=int(v)) + return _t1299 - def deconstruct_csv_config(self, msg: logic_pb2.CSVConfig) -> list[tuple[str, logic_pb2.Value]]: + def deconstruct_relation_id_string(self, msg: logic_pb2.RelationId) -> Optional[str]: + name = self.relation_id_to_string(msg) + if name != '': + return name + return None + + def _make_value_string(self, v: str) -> logic_pb2.Value: + _t1300 = logic_pb2.Value(string_value=v) + return _t1300 + + def deconstruct_configure(self, msg: transactions_pb2.Configure) -> list[tuple[str, logic_pb2.Value]]: result = [] - _t1295 = self._make_value_int32(msg.header_row) - result.append(('csv_header_row', _t1295,)) - _t1296 = self._make_value_int64(msg.skip) - result.append(('csv_skip', _t1296,)) - if msg.new_line != '': - _t1297 = self._make_value_string(msg.new_line) - result.append(('csv_new_line', _t1297,)) - _t1298 = self._make_value_string(msg.delimiter) - result.append(('csv_delimiter', _t1298,)) - _t1299 = self._make_value_string(msg.quotechar) - result.append(('csv_quotechar', _t1299,)) - _t1300 = self._make_value_string(msg.escapechar) - result.append(('csv_escapechar', _t1300,)) - if msg.comment != '': - _t1301 = self._make_value_string(msg.comment) - result.append(('csv_comment', _t1301,)) - for missing_string in msg.missing_strings: - _t1302 = self._make_value_string(missing_string) - result.append(('csv_missing_strings', _t1302,)) - _t1303 = self._make_value_string(msg.decimal_separator) - result.append(('csv_decimal_separator', _t1303,)) - _t1304 = self._make_value_string(msg.encoding) - result.append(('csv_encoding', _t1304,)) - _t1305 = self._make_value_string(msg.compression) - result.append(('csv_compression', _t1305,)) - if msg.partition_size_mb != 0: - _t1306 = self._make_value_int64(msg.partition_size_mb) - result.append(('csv_partition_size_mb', _t1306,)) + if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_AUTO: + _t1301 = self._make_value_string('auto') + result.append(('ivm.maintenance_level', _t1301,)) + else: + if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_ALL: + _t1302 = self._make_value_string('all') + result.append(('ivm.maintenance_level', _t1302,)) + else: + if msg.ivm_config.level == transactions_pb2.MaintenanceLevel.MAINTENANCE_LEVEL_OFF: + _t1303 = self._make_value_string('off') + result.append(('ivm.maintenance_level', _t1303,)) + _t1304 = self._make_value_int64(msg.semantics_version) + result.append(('semantics_version', _t1304,)) return sorted(result) def deconstruct_bindings_with_arity(self, abs: logic_pb2.Abstraction, value_arity: int) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: @@ -260,33 +238,55 @@ def deconstruct_bindings_with_arity(self, abs: logic_pb2.Abstraction, value_arit key_end = (n - value_arity) return (abs.vars[0:key_end], abs.vars[key_end:n],) - def deconstruct_bindings(self, abs: logic_pb2.Abstraction) -> tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]: - n = len(abs.vars) - return (abs.vars[0:n], [],) - - def deconstruct_relation_id_string(self, msg: logic_pb2.RelationId) -> Optional[str]: - name = self.relation_id_to_string(msg) - if name != '': - return name - return None + def deconstruct_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> list[tuple[str, logic_pb2.Value]]: + result = [] + if msg.partition_size is not None: + assert msg.partition_size is not None + _t1305 = self._make_value_int64(msg.partition_size) + result.append(('partition_size', _t1305,)) + if msg.compression is not None: + assert msg.compression is not None + _t1306 = self._make_value_string(msg.compression) + result.append(('compression', _t1306,)) + if msg.syntax_header_row is not None: + assert msg.syntax_header_row is not None + _t1307 = self._make_value_boolean(msg.syntax_header_row) + result.append(('syntax_header_row', _t1307,)) + if msg.syntax_missing_string is not None: + assert msg.syntax_missing_string is not None + _t1308 = self._make_value_string(msg.syntax_missing_string) + result.append(('syntax_missing_string', _t1308,)) + if msg.syntax_delim is not None: + assert msg.syntax_delim is not None + _t1309 = self._make_value_string(msg.syntax_delim) + result.append(('syntax_delim', _t1309,)) + if msg.syntax_quotechar is not None: + assert msg.syntax_quotechar is not None + _t1310 = self._make_value_string(msg.syntax_quotechar) + result.append(('syntax_quotechar', _t1310,)) + if msg.syntax_escapechar is not None: + assert msg.syntax_escapechar is not None + _t1311 = self._make_value_string(msg.syntax_escapechar) + result.append(('syntax_escapechar', _t1311,)) + return sorted(result) # --- Pretty-print methods --- def pretty_transaction(self, msg: transactions_pb2.Transaction) -> Optional[NoReturn]: - def _t495(_dollar_dollar): + def _t497(_dollar_dollar): if _dollar_dollar.HasField('configure'): - _t496 = _dollar_dollar.configure + _t498 = _dollar_dollar.configure else: - _t496 = None + _t498 = None if _dollar_dollar.HasField('sync'): - _t497 = _dollar_dollar.sync + _t499 = _dollar_dollar.sync else: - _t497 = None - return (_t496, _t497, _dollar_dollar.epochs,) - _t498 = _t495(msg) - fields0 = _t498 + _t499 = None + return (_t498, _t499, _dollar_dollar.epochs,) + _t500 = _t497(msg) + fields0 = _t500 assert fields0 is not None unwrapped_fields1 = fields0 self.write('(') @@ -298,53 +298,53 @@ def _t495(_dollar_dollar): self.newline() assert field2 is not None opt_val3 = field2 - _t500 = self.pretty_configure(opt_val3) - _t499 = _t500 + _t502 = self.pretty_configure(opt_val3) + _t501 = _t502 else: - _t499 = None + _t501 = None field4 = unwrapped_fields1[1] if field4 is not None: self.newline() assert field4 is not None opt_val5 = field4 - _t502 = self.pretty_sync(opt_val5) - _t501 = _t502 + _t504 = self.pretty_sync(opt_val5) + _t503 = _t504 else: - _t501 = None + _t503 = None field6 = unwrapped_fields1[2] if not len(field6) == 0: self.newline() for i8, elem7 in enumerate(field6): if (i8 > 0): self.newline() - _t503 = self.pretty_epoch(elem7) + _t505 = self.pretty_epoch(elem7) self.dedent() self.write(')') return None def pretty_configure(self, msg: transactions_pb2.Configure) -> Optional[NoReturn]: - def _t504(_dollar_dollar): - _t505 = self.deconstruct_configure(_dollar_dollar) - return _t505 - _t506 = _t504(msg) - fields9 = _t506 + def _t506(_dollar_dollar): + _t507 = self.deconstruct_configure(_dollar_dollar) + return _t507 + _t508 = _t506(msg) + fields9 = _t508 assert fields9 is not None unwrapped_fields10 = fields9 self.write('(') self.write('configure') self.indent() self.newline() - _t507 = self.pretty_config_dict(unwrapped_fields10) + _t509 = self.pretty_config_dict(unwrapped_fields10) self.dedent() self.write(')') return None def pretty_config_dict(self, msg: Sequence[tuple[str, logic_pb2.Value]]) -> Optional[NoReturn]: - def _t508(_dollar_dollar): + def _t510(_dollar_dollar): return _dollar_dollar - _t509 = _t508(msg) - fields11 = _t509 + _t511 = _t510(msg) + fields11 = _t511 assert fields11 is not None unwrapped_fields12 = fields11 self.write('{') @@ -353,15 +353,15 @@ def _t508(_dollar_dollar): for i14, elem13 in enumerate(unwrapped_fields12): if (i14 > 0): self.newline() - _t510 = self.pretty_config_key_value(elem13) + _t512 = self.pretty_config_key_value(elem13) self.write('}') return None def pretty_config_key_value(self, msg: tuple[str, logic_pb2.Value]) -> Optional[NoReturn]: - def _t511(_dollar_dollar): + def _t513(_dollar_dollar): return (_dollar_dollar[0], _dollar_dollar[1],) - _t512 = _t511(msg) - fields15 = _t512 + _t514 = _t513(msg) + fields15 = _t514 assert fields15 is not None unwrapped_fields16 = fields15 self.write(':') @@ -369,159 +369,159 @@ def _t511(_dollar_dollar): self.write(field17) self.write(' ') field18 = unwrapped_fields16[1] - _t513 = self.pretty_value(field18) - return _t513 + _t515 = self.pretty_value(field18) + return _t515 def pretty_value(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t514(_dollar_dollar): + def _t516(_dollar_dollar): if _dollar_dollar.HasField('date_value'): - _t515 = _dollar_dollar.date_value + _t517 = _dollar_dollar.date_value else: - _t515 = None - return _t515 - _t516 = _t514(msg) - deconstruct_result29 = _t516 + _t517 = None + return _t517 + _t518 = _t516(msg) + deconstruct_result29 = _t518 if deconstruct_result29 is not None: - _t518 = self.pretty_date(deconstruct_result29) - _t517 = _t518 + _t520 = self.pretty_date(deconstruct_result29) + _t519 = _t520 else: - def _t519(_dollar_dollar): + def _t521(_dollar_dollar): if _dollar_dollar.HasField('datetime_value'): - _t520 = _dollar_dollar.datetime_value + _t522 = _dollar_dollar.datetime_value else: - _t520 = None - return _t520 - _t521 = _t519(msg) - deconstruct_result28 = _t521 + _t522 = None + return _t522 + _t523 = _t521(msg) + deconstruct_result28 = _t523 if deconstruct_result28 is not None: - _t523 = self.pretty_datetime(deconstruct_result28) - _t522 = _t523 + _t525 = self.pretty_datetime(deconstruct_result28) + _t524 = _t525 else: - def _t524(_dollar_dollar): + def _t526(_dollar_dollar): if _dollar_dollar.HasField('string_value'): - _t525 = _dollar_dollar.string_value + _t527 = _dollar_dollar.string_value else: - _t525 = None - return _t525 - _t526 = _t524(msg) - deconstruct_result27 = _t526 + _t527 = None + return _t527 + _t528 = _t526(msg) + deconstruct_result27 = _t528 if deconstruct_result27 is not None: self.write(self.format_string_value(deconstruct_result27)) - _t527 = None + _t529 = None else: - def _t528(_dollar_dollar): + def _t530(_dollar_dollar): if _dollar_dollar.HasField('int_value'): - _t529 = _dollar_dollar.int_value + _t531 = _dollar_dollar.int_value else: - _t529 = None - return _t529 - _t530 = _t528(msg) - deconstruct_result26 = _t530 + _t531 = None + return _t531 + _t532 = _t530(msg) + deconstruct_result26 = _t532 if deconstruct_result26 is not None: self.write(str(deconstruct_result26)) - _t531 = None + _t533 = None else: - def _t532(_dollar_dollar): + def _t534(_dollar_dollar): if _dollar_dollar.HasField('float_value'): - _t533 = _dollar_dollar.float_value + _t535 = _dollar_dollar.float_value else: - _t533 = None - return _t533 - _t534 = _t532(msg) - deconstruct_result25 = _t534 + _t535 = None + return _t535 + _t536 = _t534(msg) + deconstruct_result25 = _t536 if deconstruct_result25 is not None: self.write(str(deconstruct_result25)) - _t535 = None + _t537 = None else: - def _t536(_dollar_dollar): + def _t538(_dollar_dollar): if _dollar_dollar.HasField('uint128_value'): - _t537 = _dollar_dollar.uint128_value + _t539 = _dollar_dollar.uint128_value else: - _t537 = None - return _t537 - _t538 = _t536(msg) - deconstruct_result24 = _t538 + _t539 = None + return _t539 + _t540 = _t538(msg) + deconstruct_result24 = _t540 if deconstruct_result24 is not None: self.write(self.format_uint128(deconstruct_result24)) - _t539 = None + _t541 = None else: - def _t540(_dollar_dollar): + def _t542(_dollar_dollar): if _dollar_dollar.HasField('int128_value'): - _t541 = _dollar_dollar.int128_value + _t543 = _dollar_dollar.int128_value else: - _t541 = None - return _t541 - _t542 = _t540(msg) - deconstruct_result23 = _t542 + _t543 = None + return _t543 + _t544 = _t542(msg) + deconstruct_result23 = _t544 if deconstruct_result23 is not None: self.write(self.format_int128(deconstruct_result23)) - _t543 = None + _t545 = None else: - def _t544(_dollar_dollar): + def _t546(_dollar_dollar): if _dollar_dollar.HasField('decimal_value'): - _t545 = _dollar_dollar.decimal_value + _t547 = _dollar_dollar.decimal_value else: - _t545 = None - return _t545 - _t546 = _t544(msg) - deconstruct_result22 = _t546 + _t547 = None + return _t547 + _t548 = _t546(msg) + deconstruct_result22 = _t548 if deconstruct_result22 is not None: self.write(self.format_decimal(deconstruct_result22)) - _t547 = None + _t549 = None else: - def _t548(_dollar_dollar): + def _t550(_dollar_dollar): if _dollar_dollar.HasField('boolean_value'): - _t549 = _dollar_dollar.boolean_value + _t551 = _dollar_dollar.boolean_value else: - _t549 = None - return _t549 - _t550 = _t548(msg) - deconstruct_result21 = _t550 + _t551 = None + return _t551 + _t552 = _t550(msg) + deconstruct_result21 = _t552 if deconstruct_result21 is not None: - _t552 = self.pretty_boolean_value(deconstruct_result21) - _t551 = _t552 + _t554 = self.pretty_boolean_value(deconstruct_result21) + _t553 = _t554 else: - def _t553(_dollar_dollar): + def _t555(_dollar_dollar): return _dollar_dollar - _t554 = _t553(msg) - fields19 = _t554 + _t556 = _t555(msg) + fields19 = _t556 assert fields19 is not None unwrapped_fields20 = fields19 self.write('missing') - _t551 = None - _t547 = _t551 - _t543 = _t547 - _t539 = _t543 - _t535 = _t539 - _t531 = _t535 - _t527 = _t531 - _t522 = _t527 - _t517 = _t522 - return _t517 + _t553 = None + _t549 = _t553 + _t545 = _t549 + _t541 = _t545 + _t537 = _t541 + _t533 = _t537 + _t529 = _t533 + _t524 = _t529 + _t519 = _t524 + return _t519 def pretty_date(self, msg: logic_pb2.DateValue) -> Optional[NoReturn]: - def _t555(_dollar_dollar): + def _t557(_dollar_dollar): return (int(_dollar_dollar.year), int(_dollar_dollar.month), int(_dollar_dollar.day),) - _t556 = _t555(msg) - fields30 = _t556 + _t558 = _t557(msg) + fields30 = _t558 assert fields30 is not None unwrapped_fields31 = fields30 self.write('(') @@ -541,10 +541,10 @@ def _t555(_dollar_dollar): return None def pretty_datetime(self, msg: logic_pb2.DateTimeValue) -> Optional[NoReturn]: - def _t557(_dollar_dollar): + def _t559(_dollar_dollar): return (int(_dollar_dollar.year), int(_dollar_dollar.month), int(_dollar_dollar.day), int(_dollar_dollar.hour), int(_dollar_dollar.minute), int(_dollar_dollar.second), int(_dollar_dollar.microsecond),) - _t558 = _t557(msg) - fields35 = _t558 + _t560 = _t559(msg) + fields35 = _t560 assert fields35 is not None unwrapped_fields36 = fields35 self.write('(') @@ -579,27 +579,27 @@ def _t557(_dollar_dollar): return None def pretty_boolean_value(self, msg: bool) -> Optional[NoReturn]: - def _t559(_dollar_dollar): + def _t561(_dollar_dollar): if _dollar_dollar: - _t560 = () + _t562 = () else: - _t560 = None - return _t560 - _t561 = _t559(msg) - deconstruct_result46 = _t561 + _t562 = None + return _t562 + _t563 = _t561(msg) + deconstruct_result46 = _t563 if deconstruct_result46 is not None: self.write('true') else: - def _t562(_dollar_dollar): + def _t564(_dollar_dollar): if not _dollar_dollar: - _t563 = () + _t565 = () else: - _t563 = None - return _t563 - _t564 = _t562(msg) - deconstruct_result45 = _t564 + _t565 = None + return _t565 + _t566 = _t564(msg) + deconstruct_result45 = _t566 if deconstruct_result45 is not None: self.write('false') else: @@ -607,10 +607,10 @@ def _t562(_dollar_dollar): return None def pretty_sync(self, msg: transactions_pb2.Sync) -> Optional[NoReturn]: - def _t565(_dollar_dollar): + def _t567(_dollar_dollar): return _dollar_dollar.fragments - _t566 = _t565(msg) - fields47 = _t566 + _t568 = _t567(msg) + fields47 = _t568 assert fields47 is not None unwrapped_fields48 = fields47 self.write('(') @@ -621,16 +621,16 @@ def _t565(_dollar_dollar): for i50, elem49 in enumerate(unwrapped_fields48): if (i50 > 0): self.newline() - _t567 = self.pretty_fragment_id(elem49) + _t569 = self.pretty_fragment_id(elem49) self.dedent() self.write(')') return None def pretty_fragment_id(self, msg: fragments_pb2.FragmentId) -> Optional[NoReturn]: - def _t568(_dollar_dollar): + def _t570(_dollar_dollar): return self.fragment_id_to_string(_dollar_dollar) - _t569 = _t568(msg) - fields51 = _t569 + _t571 = _t570(msg) + fields51 = _t571 assert fields51 is not None unwrapped_fields52 = fields51 self.write(':') @@ -638,20 +638,20 @@ def _t568(_dollar_dollar): return None def pretty_epoch(self, msg: transactions_pb2.Epoch) -> Optional[NoReturn]: - def _t570(_dollar_dollar): + def _t572(_dollar_dollar): if not len(_dollar_dollar.writes) == 0: - _t571 = _dollar_dollar.writes + _t573 = _dollar_dollar.writes else: - _t571 = None + _t573 = None if not len(_dollar_dollar.reads) == 0: - _t572 = _dollar_dollar.reads + _t574 = _dollar_dollar.reads else: - _t572 = None - return (_t571, _t572,) - _t573 = _t570(msg) - fields53 = _t573 + _t574 = None + return (_t573, _t574,) + _t575 = _t572(msg) + fields53 = _t575 assert fields53 is not None unwrapped_fields54 = fields53 self.write('(') @@ -663,29 +663,29 @@ def _t570(_dollar_dollar): self.newline() assert field55 is not None opt_val56 = field55 - _t575 = self.pretty_epoch_writes(opt_val56) - _t574 = _t575 + _t577 = self.pretty_epoch_writes(opt_val56) + _t576 = _t577 else: - _t574 = None + _t576 = None field57 = unwrapped_fields54[1] if field57 is not None: self.newline() assert field57 is not None opt_val58 = field57 - _t577 = self.pretty_epoch_reads(opt_val58) - _t576 = _t577 + _t579 = self.pretty_epoch_reads(opt_val58) + _t578 = _t579 else: - _t576 = None + _t578 = None self.dedent() self.write(')') return None def pretty_epoch_writes(self, msg: Sequence[transactions_pb2.Write]) -> Optional[NoReturn]: - def _t578(_dollar_dollar): + def _t580(_dollar_dollar): return _dollar_dollar - _t579 = _t578(msg) - fields59 = _t579 + _t581 = _t580(msg) + fields59 = _t581 assert fields59 is not None unwrapped_fields60 = fields59 self.write('(') @@ -696,81 +696,81 @@ def _t578(_dollar_dollar): for i62, elem61 in enumerate(unwrapped_fields60): if (i62 > 0): self.newline() - _t580 = self.pretty_write(elem61) + _t582 = self.pretty_write(elem61) self.dedent() self.write(')') return None def pretty_write(self, msg: transactions_pb2.Write) -> Optional[NoReturn]: - def _t581(_dollar_dollar): + def _t583(_dollar_dollar): if _dollar_dollar.HasField('define'): - _t582 = _dollar_dollar.define + _t584 = _dollar_dollar.define else: - _t582 = None - return _t582 - _t583 = _t581(msg) - deconstruct_result65 = _t583 + _t584 = None + return _t584 + _t585 = _t583(msg) + deconstruct_result65 = _t585 if deconstruct_result65 is not None: - _t585 = self.pretty_define(deconstruct_result65) - _t584 = _t585 + _t587 = self.pretty_define(deconstruct_result65) + _t586 = _t587 else: - def _t586(_dollar_dollar): + def _t588(_dollar_dollar): if _dollar_dollar.HasField('undefine'): - _t587 = _dollar_dollar.undefine + _t589 = _dollar_dollar.undefine else: - _t587 = None - return _t587 - _t588 = _t586(msg) - deconstruct_result64 = _t588 + _t589 = None + return _t589 + _t590 = _t588(msg) + deconstruct_result64 = _t590 if deconstruct_result64 is not None: - _t590 = self.pretty_undefine(deconstruct_result64) - _t589 = _t590 + _t592 = self.pretty_undefine(deconstruct_result64) + _t591 = _t592 else: - def _t591(_dollar_dollar): + def _t593(_dollar_dollar): if _dollar_dollar.HasField('context'): - _t592 = _dollar_dollar.context + _t594 = _dollar_dollar.context else: - _t592 = None - return _t592 - _t593 = _t591(msg) - deconstruct_result63 = _t593 + _t594 = None + return _t594 + _t595 = _t593(msg) + deconstruct_result63 = _t595 if deconstruct_result63 is not None: - _t595 = self.pretty_context(deconstruct_result63) - _t594 = _t595 + _t597 = self.pretty_context(deconstruct_result63) + _t596 = _t597 else: raise ParseError('No matching rule for write') - _t589 = _t594 - _t584 = _t589 - return _t584 + _t591 = _t596 + _t586 = _t591 + return _t586 def pretty_define(self, msg: transactions_pb2.Define) -> Optional[NoReturn]: - def _t596(_dollar_dollar): + def _t598(_dollar_dollar): return _dollar_dollar.fragment - _t597 = _t596(msg) - fields66 = _t597 + _t599 = _t598(msg) + fields66 = _t599 assert fields66 is not None unwrapped_fields67 = fields66 self.write('(') self.write('define') self.indent() self.newline() - _t598 = self.pretty_fragment(unwrapped_fields67) + _t600 = self.pretty_fragment(unwrapped_fields67) self.dedent() self.write(')') return None def pretty_fragment(self, msg: fragments_pb2.Fragment) -> Optional[NoReturn]: - def _t599(_dollar_dollar): - _t600 = self.start_pretty_fragment(_dollar_dollar) + def _t601(_dollar_dollar): + _t602 = self.start_pretty_fragment(_dollar_dollar) return (_dollar_dollar.id, _dollar_dollar.declarations,) - _t601 = _t599(msg) - fields68 = _t601 + _t603 = _t601(msg) + fields68 = _t603 assert fields68 is not None unwrapped_fields69 = fields68 self.write('(') @@ -778,101 +778,101 @@ def _t599(_dollar_dollar): self.indent() self.newline() field70 = unwrapped_fields69[0] - _t602 = self.pretty_new_fragment_id(field70) + _t604 = self.pretty_new_fragment_id(field70) field71 = unwrapped_fields69[1] if not len(field71) == 0: self.newline() for i73, elem72 in enumerate(field71): if (i73 > 0): self.newline() - _t603 = self.pretty_declaration(elem72) + _t605 = self.pretty_declaration(elem72) self.dedent() self.write(')') return None def pretty_new_fragment_id(self, msg: fragments_pb2.FragmentId) -> Optional[NoReturn]: - def _t604(_dollar_dollar): + def _t606(_dollar_dollar): return _dollar_dollar - _t605 = _t604(msg) - fields74 = _t605 + _t607 = _t606(msg) + fields74 = _t607 assert fields74 is not None unwrapped_fields75 = fields74 - _t606 = self.pretty_fragment_id(unwrapped_fields75) - return _t606 + _t608 = self.pretty_fragment_id(unwrapped_fields75) + return _t608 def pretty_declaration(self, msg: logic_pb2.Declaration) -> Optional[NoReturn]: - def _t607(_dollar_dollar): + def _t609(_dollar_dollar): if _dollar_dollar.HasField('def'): - _t608 = getattr(_dollar_dollar, 'def') + _t610 = getattr(_dollar_dollar, 'def') else: - _t608 = None - return _t608 - _t609 = _t607(msg) - deconstruct_result79 = _t609 + _t610 = None + return _t610 + _t611 = _t609(msg) + deconstruct_result79 = _t611 if deconstruct_result79 is not None: - _t611 = self.pretty_def(deconstruct_result79) - _t610 = _t611 + _t613 = self.pretty_def(deconstruct_result79) + _t612 = _t613 else: - def _t612(_dollar_dollar): + def _t614(_dollar_dollar): if _dollar_dollar.HasField('algorithm'): - _t613 = _dollar_dollar.algorithm + _t615 = _dollar_dollar.algorithm else: - _t613 = None - return _t613 - _t614 = _t612(msg) - deconstruct_result78 = _t614 + _t615 = None + return _t615 + _t616 = _t614(msg) + deconstruct_result78 = _t616 if deconstruct_result78 is not None: - _t616 = self.pretty_algorithm(deconstruct_result78) - _t615 = _t616 + _t618 = self.pretty_algorithm(deconstruct_result78) + _t617 = _t618 else: - def _t617(_dollar_dollar): + def _t619(_dollar_dollar): if _dollar_dollar.HasField('constraint'): - _t618 = _dollar_dollar.constraint + _t620 = _dollar_dollar.constraint else: - _t618 = None - return _t618 - _t619 = _t617(msg) - deconstruct_result77 = _t619 + _t620 = None + return _t620 + _t621 = _t619(msg) + deconstruct_result77 = _t621 if deconstruct_result77 is not None: - _t621 = self.pretty_constraint(deconstruct_result77) - _t620 = _t621 + _t623 = self.pretty_constraint(deconstruct_result77) + _t622 = _t623 else: - def _t622(_dollar_dollar): + def _t624(_dollar_dollar): if _dollar_dollar.HasField('data'): - _t623 = _dollar_dollar.data + _t625 = _dollar_dollar.data else: - _t623 = None - return _t623 - _t624 = _t622(msg) - deconstruct_result76 = _t624 + _t625 = None + return _t625 + _t626 = _t624(msg) + deconstruct_result76 = _t626 if deconstruct_result76 is not None: - _t626 = self.pretty_data(deconstruct_result76) - _t625 = _t626 + _t628 = self.pretty_data(deconstruct_result76) + _t627 = _t628 else: raise ParseError('No matching rule for declaration') - _t620 = _t625 - _t615 = _t620 - _t610 = _t615 - return _t610 + _t622 = _t627 + _t617 = _t622 + _t612 = _t617 + return _t612 def pretty_def(self, msg: logic_pb2.Def) -> Optional[NoReturn]: - def _t627(_dollar_dollar): + def _t629(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t628 = _dollar_dollar.attrs + _t630 = _dollar_dollar.attrs else: - _t628 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t628,) - _t629 = _t627(msg) - fields80 = _t629 + _t630 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t630,) + _t631 = _t629(msg) + fields80 = _t631 assert fields80 is not None unwrapped_fields81 = fields80 self.write('(') @@ -880,39 +880,39 @@ def _t627(_dollar_dollar): self.indent() self.newline() field82 = unwrapped_fields81[0] - _t630 = self.pretty_relation_id(field82) + _t632 = self.pretty_relation_id(field82) self.newline() field83 = unwrapped_fields81[1] - _t631 = self.pretty_abstraction(field83) + _t633 = self.pretty_abstraction(field83) field84 = unwrapped_fields81[2] if field84 is not None: self.newline() assert field84 is not None opt_val85 = field84 - _t633 = self.pretty_attrs(opt_val85) - _t632 = _t633 + _t635 = self.pretty_attrs(opt_val85) + _t634 = _t635 else: - _t632 = None + _t634 = None self.dedent() self.write(')') return None def pretty_relation_id(self, msg: logic_pb2.RelationId) -> Optional[NoReturn]: - def _t634(_dollar_dollar): - _t635 = self.deconstruct_relation_id_string(_dollar_dollar) - return _t635 - _t636 = _t634(msg) - deconstruct_result87 = _t636 + def _t636(_dollar_dollar): + _t637 = self.deconstruct_relation_id_string(_dollar_dollar) + return _t637 + _t638 = _t636(msg) + deconstruct_result87 = _t638 if deconstruct_result87 is not None: self.write(':') self.write(deconstruct_result87) else: - def _t637(_dollar_dollar): - _t638 = self.deconstruct_relation_id_uint128(_dollar_dollar) - return _t638 - _t639 = _t637(msg) - deconstruct_result86 = _t639 + def _t639(_dollar_dollar): + _t640 = self.deconstruct_relation_id_uint128(_dollar_dollar) + return _t640 + _t641 = _t639(msg) + deconstruct_result86 = _t641 if deconstruct_result86 is not None: self.write(self.format_uint128(deconstruct_result86)) else: @@ -920,32 +920,32 @@ def _t637(_dollar_dollar): return None def pretty_abstraction(self, msg: logic_pb2.Abstraction) -> Optional[NoReturn]: - def _t640(_dollar_dollar): - _t641 = self.deconstruct_bindings(_dollar_dollar) - return (_t641, _dollar_dollar.value,) - _t642 = _t640(msg) - fields88 = _t642 + def _t642(_dollar_dollar): + _t643 = self.deconstruct_bindings(_dollar_dollar) + return (_t643, _dollar_dollar.value,) + _t644 = _t642(msg) + fields88 = _t644 assert fields88 is not None unwrapped_fields89 = fields88 self.write('(') field90 = unwrapped_fields89[0] - _t643 = self.pretty_bindings(field90) + _t645 = self.pretty_bindings(field90) self.write(' ') field91 = unwrapped_fields89[1] - _t644 = self.pretty_formula(field91) + _t646 = self.pretty_formula(field91) self.write(')') return None def pretty_bindings(self, msg: tuple[Sequence[logic_pb2.Binding], Sequence[logic_pb2.Binding]]) -> Optional[NoReturn]: - def _t645(_dollar_dollar): + def _t647(_dollar_dollar): if not len(_dollar_dollar[1]) == 0: - _t646 = _dollar_dollar[1] + _t648 = _dollar_dollar[1] else: - _t646 = None - return (_dollar_dollar[0], _t646,) - _t647 = _t645(msg) - fields92 = _t647 + _t648 = None + return (_dollar_dollar[0], _t648,) + _t649 = _t647(msg) + fields92 = _t649 assert fields92 is not None unwrapped_fields93 = fields92 self.write('[') @@ -953,297 +953,297 @@ def _t645(_dollar_dollar): for i96, elem95 in enumerate(field94): if (i96 > 0): self.newline() - _t648 = self.pretty_binding(elem95) + _t650 = self.pretty_binding(elem95) field97 = unwrapped_fields93[1] if field97 is not None: self.write(' ') assert field97 is not None opt_val98 = field97 - _t650 = self.pretty_value_bindings(opt_val98) - _t649 = _t650 + _t652 = self.pretty_value_bindings(opt_val98) + _t651 = _t652 else: - _t649 = None + _t651 = None self.write(']') return None def pretty_binding(self, msg: logic_pb2.Binding) -> Optional[NoReturn]: - def _t651(_dollar_dollar): + def _t653(_dollar_dollar): return (_dollar_dollar.var.name, _dollar_dollar.type,) - _t652 = _t651(msg) - fields99 = _t652 + _t654 = _t653(msg) + fields99 = _t654 assert fields99 is not None unwrapped_fields100 = fields99 field101 = unwrapped_fields100[0] self.write(field101) self.write('::') field102 = unwrapped_fields100[1] - _t653 = self.pretty_type(field102) - return _t653 + _t655 = self.pretty_type(field102) + return _t655 def pretty_type(self, msg: logic_pb2.Type) -> Optional[NoReturn]: - def _t654(_dollar_dollar): + def _t656(_dollar_dollar): if _dollar_dollar.HasField('unspecified_type'): - _t655 = _dollar_dollar.unspecified_type + _t657 = _dollar_dollar.unspecified_type else: - _t655 = None - return _t655 - _t656 = _t654(msg) - deconstruct_result113 = _t656 + _t657 = None + return _t657 + _t658 = _t656(msg) + deconstruct_result113 = _t658 if deconstruct_result113 is not None: - _t658 = self.pretty_unspecified_type(deconstruct_result113) - _t657 = _t658 + _t660 = self.pretty_unspecified_type(deconstruct_result113) + _t659 = _t660 else: - def _t659(_dollar_dollar): + def _t661(_dollar_dollar): if _dollar_dollar.HasField('string_type'): - _t660 = _dollar_dollar.string_type + _t662 = _dollar_dollar.string_type else: - _t660 = None - return _t660 - _t661 = _t659(msg) - deconstruct_result112 = _t661 + _t662 = None + return _t662 + _t663 = _t661(msg) + deconstruct_result112 = _t663 if deconstruct_result112 is not None: - _t663 = self.pretty_string_type(deconstruct_result112) - _t662 = _t663 + _t665 = self.pretty_string_type(deconstruct_result112) + _t664 = _t665 else: - def _t664(_dollar_dollar): + def _t666(_dollar_dollar): if _dollar_dollar.HasField('int_type'): - _t665 = _dollar_dollar.int_type + _t667 = _dollar_dollar.int_type else: - _t665 = None - return _t665 - _t666 = _t664(msg) - deconstruct_result111 = _t666 + _t667 = None + return _t667 + _t668 = _t666(msg) + deconstruct_result111 = _t668 if deconstruct_result111 is not None: - _t668 = self.pretty_int_type(deconstruct_result111) - _t667 = _t668 + _t670 = self.pretty_int_type(deconstruct_result111) + _t669 = _t670 else: - def _t669(_dollar_dollar): + def _t671(_dollar_dollar): if _dollar_dollar.HasField('float_type'): - _t670 = _dollar_dollar.float_type + _t672 = _dollar_dollar.float_type else: - _t670 = None - return _t670 - _t671 = _t669(msg) - deconstruct_result110 = _t671 + _t672 = None + return _t672 + _t673 = _t671(msg) + deconstruct_result110 = _t673 if deconstruct_result110 is not None: - _t673 = self.pretty_float_type(deconstruct_result110) - _t672 = _t673 + _t675 = self.pretty_float_type(deconstruct_result110) + _t674 = _t675 else: - def _t674(_dollar_dollar): + def _t676(_dollar_dollar): if _dollar_dollar.HasField('uint128_type'): - _t675 = _dollar_dollar.uint128_type + _t677 = _dollar_dollar.uint128_type else: - _t675 = None - return _t675 - _t676 = _t674(msg) - deconstruct_result109 = _t676 + _t677 = None + return _t677 + _t678 = _t676(msg) + deconstruct_result109 = _t678 if deconstruct_result109 is not None: - _t678 = self.pretty_uint128_type(deconstruct_result109) - _t677 = _t678 + _t680 = self.pretty_uint128_type(deconstruct_result109) + _t679 = _t680 else: - def _t679(_dollar_dollar): + def _t681(_dollar_dollar): if _dollar_dollar.HasField('int128_type'): - _t680 = _dollar_dollar.int128_type + _t682 = _dollar_dollar.int128_type else: - _t680 = None - return _t680 - _t681 = _t679(msg) - deconstruct_result108 = _t681 + _t682 = None + return _t682 + _t683 = _t681(msg) + deconstruct_result108 = _t683 if deconstruct_result108 is not None: - _t683 = self.pretty_int128_type(deconstruct_result108) - _t682 = _t683 + _t685 = self.pretty_int128_type(deconstruct_result108) + _t684 = _t685 else: - def _t684(_dollar_dollar): + def _t686(_dollar_dollar): if _dollar_dollar.HasField('date_type'): - _t685 = _dollar_dollar.date_type + _t687 = _dollar_dollar.date_type else: - _t685 = None - return _t685 - _t686 = _t684(msg) - deconstruct_result107 = _t686 + _t687 = None + return _t687 + _t688 = _t686(msg) + deconstruct_result107 = _t688 if deconstruct_result107 is not None: - _t688 = self.pretty_date_type(deconstruct_result107) - _t687 = _t688 + _t690 = self.pretty_date_type(deconstruct_result107) + _t689 = _t690 else: - def _t689(_dollar_dollar): + def _t691(_dollar_dollar): if _dollar_dollar.HasField('datetime_type'): - _t690 = _dollar_dollar.datetime_type + _t692 = _dollar_dollar.datetime_type else: - _t690 = None - return _t690 - _t691 = _t689(msg) - deconstruct_result106 = _t691 + _t692 = None + return _t692 + _t693 = _t691(msg) + deconstruct_result106 = _t693 if deconstruct_result106 is not None: - _t693 = self.pretty_datetime_type(deconstruct_result106) - _t692 = _t693 + _t695 = self.pretty_datetime_type(deconstruct_result106) + _t694 = _t695 else: - def _t694(_dollar_dollar): + def _t696(_dollar_dollar): if _dollar_dollar.HasField('missing_type'): - _t695 = _dollar_dollar.missing_type + _t697 = _dollar_dollar.missing_type else: - _t695 = None - return _t695 - _t696 = _t694(msg) - deconstruct_result105 = _t696 + _t697 = None + return _t697 + _t698 = _t696(msg) + deconstruct_result105 = _t698 if deconstruct_result105 is not None: - _t698 = self.pretty_missing_type(deconstruct_result105) - _t697 = _t698 + _t700 = self.pretty_missing_type(deconstruct_result105) + _t699 = _t700 else: - def _t699(_dollar_dollar): + def _t701(_dollar_dollar): if _dollar_dollar.HasField('decimal_type'): - _t700 = _dollar_dollar.decimal_type + _t702 = _dollar_dollar.decimal_type else: - _t700 = None - return _t700 - _t701 = _t699(msg) - deconstruct_result104 = _t701 + _t702 = None + return _t702 + _t703 = _t701(msg) + deconstruct_result104 = _t703 if deconstruct_result104 is not None: - _t703 = self.pretty_decimal_type(deconstruct_result104) - _t702 = _t703 + _t705 = self.pretty_decimal_type(deconstruct_result104) + _t704 = _t705 else: - def _t704(_dollar_dollar): + def _t706(_dollar_dollar): if _dollar_dollar.HasField('boolean_type'): - _t705 = _dollar_dollar.boolean_type + _t707 = _dollar_dollar.boolean_type else: - _t705 = None - return _t705 - _t706 = _t704(msg) - deconstruct_result103 = _t706 + _t707 = None + return _t707 + _t708 = _t706(msg) + deconstruct_result103 = _t708 if deconstruct_result103 is not None: - _t708 = self.pretty_boolean_type(deconstruct_result103) - _t707 = _t708 + _t710 = self.pretty_boolean_type(deconstruct_result103) + _t709 = _t710 else: raise ParseError('No matching rule for type') - _t702 = _t707 - _t697 = _t702 - _t692 = _t697 - _t687 = _t692 - _t682 = _t687 - _t677 = _t682 - _t672 = _t677 - _t667 = _t672 - _t662 = _t667 - _t657 = _t662 - return _t657 + _t704 = _t709 + _t699 = _t704 + _t694 = _t699 + _t689 = _t694 + _t684 = _t689 + _t679 = _t684 + _t674 = _t679 + _t669 = _t674 + _t664 = _t669 + _t659 = _t664 + return _t659 def pretty_unspecified_type(self, msg: logic_pb2.UnspecifiedType) -> Optional[NoReturn]: - def _t709(_dollar_dollar): + def _t711(_dollar_dollar): return _dollar_dollar - _t710 = _t709(msg) - fields114 = _t710 + _t712 = _t711(msg) + fields114 = _t712 assert fields114 is not None unwrapped_fields115 = fields114 self.write('UNKNOWN') return None def pretty_string_type(self, msg: logic_pb2.StringType) -> Optional[NoReturn]: - def _t711(_dollar_dollar): + def _t713(_dollar_dollar): return _dollar_dollar - _t712 = _t711(msg) - fields116 = _t712 + _t714 = _t713(msg) + fields116 = _t714 assert fields116 is not None unwrapped_fields117 = fields116 self.write('STRING') return None def pretty_int_type(self, msg: logic_pb2.IntType) -> Optional[NoReturn]: - def _t713(_dollar_dollar): + def _t715(_dollar_dollar): return _dollar_dollar - _t714 = _t713(msg) - fields118 = _t714 + _t716 = _t715(msg) + fields118 = _t716 assert fields118 is not None unwrapped_fields119 = fields118 self.write('INT') return None def pretty_float_type(self, msg: logic_pb2.FloatType) -> Optional[NoReturn]: - def _t715(_dollar_dollar): + def _t717(_dollar_dollar): return _dollar_dollar - _t716 = _t715(msg) - fields120 = _t716 + _t718 = _t717(msg) + fields120 = _t718 assert fields120 is not None unwrapped_fields121 = fields120 self.write('FLOAT') return None def pretty_uint128_type(self, msg: logic_pb2.UInt128Type) -> Optional[NoReturn]: - def _t717(_dollar_dollar): + def _t719(_dollar_dollar): return _dollar_dollar - _t718 = _t717(msg) - fields122 = _t718 + _t720 = _t719(msg) + fields122 = _t720 assert fields122 is not None unwrapped_fields123 = fields122 self.write('UINT128') return None def pretty_int128_type(self, msg: logic_pb2.Int128Type) -> Optional[NoReturn]: - def _t719(_dollar_dollar): + def _t721(_dollar_dollar): return _dollar_dollar - _t720 = _t719(msg) - fields124 = _t720 + _t722 = _t721(msg) + fields124 = _t722 assert fields124 is not None unwrapped_fields125 = fields124 self.write('INT128') return None def pretty_date_type(self, msg: logic_pb2.DateType) -> Optional[NoReturn]: - def _t721(_dollar_dollar): + def _t723(_dollar_dollar): return _dollar_dollar - _t722 = _t721(msg) - fields126 = _t722 + _t724 = _t723(msg) + fields126 = _t724 assert fields126 is not None unwrapped_fields127 = fields126 self.write('DATE') return None def pretty_datetime_type(self, msg: logic_pb2.DateTimeType) -> Optional[NoReturn]: - def _t723(_dollar_dollar): + def _t725(_dollar_dollar): return _dollar_dollar - _t724 = _t723(msg) - fields128 = _t724 + _t726 = _t725(msg) + fields128 = _t726 assert fields128 is not None unwrapped_fields129 = fields128 self.write('DATETIME') return None def pretty_missing_type(self, msg: logic_pb2.MissingType) -> Optional[NoReturn]: - def _t725(_dollar_dollar): + def _t727(_dollar_dollar): return _dollar_dollar - _t726 = _t725(msg) - fields130 = _t726 + _t728 = _t727(msg) + fields130 = _t728 assert fields130 is not None unwrapped_fields131 = fields130 self.write('MISSING') return None def pretty_decimal_type(self, msg: logic_pb2.DecimalType) -> Optional[NoReturn]: - def _t727(_dollar_dollar): + def _t729(_dollar_dollar): return (int(_dollar_dollar.precision), int(_dollar_dollar.scale),) - _t728 = _t727(msg) - fields132 = _t728 + _t730 = _t729(msg) + fields132 = _t730 assert fields132 is not None unwrapped_fields133 = fields132 self.write('(') @@ -1260,20 +1260,20 @@ def _t727(_dollar_dollar): return None def pretty_boolean_type(self, msg: logic_pb2.BooleanType) -> Optional[NoReturn]: - def _t729(_dollar_dollar): + def _t731(_dollar_dollar): return _dollar_dollar - _t730 = _t729(msg) - fields136 = _t730 + _t732 = _t731(msg) + fields136 = _t732 assert fields136 is not None unwrapped_fields137 = fields136 self.write('BOOLEAN') return None def pretty_value_bindings(self, msg: Sequence[logic_pb2.Binding]) -> Optional[NoReturn]: - def _t731(_dollar_dollar): + def _t733(_dollar_dollar): return _dollar_dollar - _t732 = _t731(msg) - fields138 = _t732 + _t734 = _t733(msg) + fields138 = _t734 assert fields138 is not None unwrapped_fields139 = fields138 self.write('|') @@ -1282,212 +1282,212 @@ def _t731(_dollar_dollar): for i141, elem140 in enumerate(unwrapped_fields139): if (i141 > 0): self.newline() - _t733 = self.pretty_binding(elem140) + _t735 = self.pretty_binding(elem140) return None def pretty_formula(self, msg: logic_pb2.Formula) -> Optional[NoReturn]: - def _t734(_dollar_dollar): + def _t736(_dollar_dollar): if (_dollar_dollar.HasField('conjunction') and len(_dollar_dollar.conjunction.args) == 0): - _t735 = _dollar_dollar.conjunction + _t737 = _dollar_dollar.conjunction else: - _t735 = None - return _t735 - _t736 = _t734(msg) - deconstruct_result154 = _t736 + _t737 = None + return _t737 + _t738 = _t736(msg) + deconstruct_result154 = _t738 if deconstruct_result154 is not None: - _t738 = self.pretty_true(deconstruct_result154) - _t737 = _t738 + _t740 = self.pretty_true(deconstruct_result154) + _t739 = _t740 else: - def _t739(_dollar_dollar): + def _t741(_dollar_dollar): if (_dollar_dollar.HasField('disjunction') and len(_dollar_dollar.disjunction.args) == 0): - _t740 = _dollar_dollar.disjunction + _t742 = _dollar_dollar.disjunction else: - _t740 = None - return _t740 - _t741 = _t739(msg) - deconstruct_result153 = _t741 + _t742 = None + return _t742 + _t743 = _t741(msg) + deconstruct_result153 = _t743 if deconstruct_result153 is not None: - _t743 = self.pretty_false(deconstruct_result153) - _t742 = _t743 + _t745 = self.pretty_false(deconstruct_result153) + _t744 = _t745 else: - def _t744(_dollar_dollar): + def _t746(_dollar_dollar): if _dollar_dollar.HasField('exists'): - _t745 = _dollar_dollar.exists + _t747 = _dollar_dollar.exists else: - _t745 = None - return _t745 - _t746 = _t744(msg) - deconstruct_result152 = _t746 + _t747 = None + return _t747 + _t748 = _t746(msg) + deconstruct_result152 = _t748 if deconstruct_result152 is not None: - _t748 = self.pretty_exists(deconstruct_result152) - _t747 = _t748 + _t750 = self.pretty_exists(deconstruct_result152) + _t749 = _t750 else: - def _t749(_dollar_dollar): + def _t751(_dollar_dollar): if _dollar_dollar.HasField('reduce'): - _t750 = _dollar_dollar.reduce + _t752 = _dollar_dollar.reduce else: - _t750 = None - return _t750 - _t751 = _t749(msg) - deconstruct_result151 = _t751 + _t752 = None + return _t752 + _t753 = _t751(msg) + deconstruct_result151 = _t753 if deconstruct_result151 is not None: - _t753 = self.pretty_reduce(deconstruct_result151) - _t752 = _t753 + _t755 = self.pretty_reduce(deconstruct_result151) + _t754 = _t755 else: - def _t754(_dollar_dollar): + def _t756(_dollar_dollar): if _dollar_dollar.HasField('conjunction'): - _t755 = _dollar_dollar.conjunction + _t757 = _dollar_dollar.conjunction else: - _t755 = None - return _t755 - _t756 = _t754(msg) - deconstruct_result150 = _t756 + _t757 = None + return _t757 + _t758 = _t756(msg) + deconstruct_result150 = _t758 if deconstruct_result150 is not None: - _t758 = self.pretty_conjunction(deconstruct_result150) - _t757 = _t758 + _t760 = self.pretty_conjunction(deconstruct_result150) + _t759 = _t760 else: - def _t759(_dollar_dollar): + def _t761(_dollar_dollar): if _dollar_dollar.HasField('disjunction'): - _t760 = _dollar_dollar.disjunction + _t762 = _dollar_dollar.disjunction else: - _t760 = None - return _t760 - _t761 = _t759(msg) - deconstruct_result149 = _t761 + _t762 = None + return _t762 + _t763 = _t761(msg) + deconstruct_result149 = _t763 if deconstruct_result149 is not None: - _t763 = self.pretty_disjunction(deconstruct_result149) - _t762 = _t763 + _t765 = self.pretty_disjunction(deconstruct_result149) + _t764 = _t765 else: - def _t764(_dollar_dollar): + def _t766(_dollar_dollar): if _dollar_dollar.HasField('not'): - _t765 = getattr(_dollar_dollar, 'not') + _t767 = getattr(_dollar_dollar, 'not') else: - _t765 = None - return _t765 - _t766 = _t764(msg) - deconstruct_result148 = _t766 + _t767 = None + return _t767 + _t768 = _t766(msg) + deconstruct_result148 = _t768 if deconstruct_result148 is not None: - _t768 = self.pretty_not(deconstruct_result148) - _t767 = _t768 + _t770 = self.pretty_not(deconstruct_result148) + _t769 = _t770 else: - def _t769(_dollar_dollar): + def _t771(_dollar_dollar): if _dollar_dollar.HasField('ffi'): - _t770 = _dollar_dollar.ffi + _t772 = _dollar_dollar.ffi else: - _t770 = None - return _t770 - _t771 = _t769(msg) - deconstruct_result147 = _t771 + _t772 = None + return _t772 + _t773 = _t771(msg) + deconstruct_result147 = _t773 if deconstruct_result147 is not None: - _t773 = self.pretty_ffi(deconstruct_result147) - _t772 = _t773 + _t775 = self.pretty_ffi(deconstruct_result147) + _t774 = _t775 else: - def _t774(_dollar_dollar): + def _t776(_dollar_dollar): if _dollar_dollar.HasField('atom'): - _t775 = _dollar_dollar.atom + _t777 = _dollar_dollar.atom else: - _t775 = None - return _t775 - _t776 = _t774(msg) - deconstruct_result146 = _t776 + _t777 = None + return _t777 + _t778 = _t776(msg) + deconstruct_result146 = _t778 if deconstruct_result146 is not None: - _t778 = self.pretty_atom(deconstruct_result146) - _t777 = _t778 + _t780 = self.pretty_atom(deconstruct_result146) + _t779 = _t780 else: - def _t779(_dollar_dollar): + def _t781(_dollar_dollar): if _dollar_dollar.HasField('pragma'): - _t780 = _dollar_dollar.pragma + _t782 = _dollar_dollar.pragma else: - _t780 = None - return _t780 - _t781 = _t779(msg) - deconstruct_result145 = _t781 + _t782 = None + return _t782 + _t783 = _t781(msg) + deconstruct_result145 = _t783 if deconstruct_result145 is not None: - _t783 = self.pretty_pragma(deconstruct_result145) - _t782 = _t783 + _t785 = self.pretty_pragma(deconstruct_result145) + _t784 = _t785 else: - def _t784(_dollar_dollar): + def _t786(_dollar_dollar): if _dollar_dollar.HasField('primitive'): - _t785 = _dollar_dollar.primitive + _t787 = _dollar_dollar.primitive else: - _t785 = None - return _t785 - _t786 = _t784(msg) - deconstruct_result144 = _t786 + _t787 = None + return _t787 + _t788 = _t786(msg) + deconstruct_result144 = _t788 if deconstruct_result144 is not None: - _t788 = self.pretty_primitive(deconstruct_result144) - _t787 = _t788 + _t790 = self.pretty_primitive(deconstruct_result144) + _t789 = _t790 else: - def _t789(_dollar_dollar): + def _t791(_dollar_dollar): if _dollar_dollar.HasField('rel_atom'): - _t790 = _dollar_dollar.rel_atom + _t792 = _dollar_dollar.rel_atom else: - _t790 = None - return _t790 - _t791 = _t789(msg) - deconstruct_result143 = _t791 + _t792 = None + return _t792 + _t793 = _t791(msg) + deconstruct_result143 = _t793 if deconstruct_result143 is not None: - _t793 = self.pretty_rel_atom(deconstruct_result143) - _t792 = _t793 + _t795 = self.pretty_rel_atom(deconstruct_result143) + _t794 = _t795 else: - def _t794(_dollar_dollar): + def _t796(_dollar_dollar): if _dollar_dollar.HasField('cast'): - _t795 = _dollar_dollar.cast + _t797 = _dollar_dollar.cast else: - _t795 = None - return _t795 - _t796 = _t794(msg) - deconstruct_result142 = _t796 + _t797 = None + return _t797 + _t798 = _t796(msg) + deconstruct_result142 = _t798 if deconstruct_result142 is not None: - _t798 = self.pretty_cast(deconstruct_result142) - _t797 = _t798 + _t800 = self.pretty_cast(deconstruct_result142) + _t799 = _t800 else: raise ParseError('No matching rule for formula') - _t792 = _t797 - _t787 = _t792 - _t782 = _t787 - _t777 = _t782 - _t772 = _t777 - _t767 = _t772 - _t762 = _t767 - _t757 = _t762 - _t752 = _t757 - _t747 = _t752 - _t742 = _t747 - _t737 = _t742 - return _t737 + _t794 = _t799 + _t789 = _t794 + _t784 = _t789 + _t779 = _t784 + _t774 = _t779 + _t769 = _t774 + _t764 = _t769 + _t759 = _t764 + _t754 = _t759 + _t749 = _t754 + _t744 = _t749 + _t739 = _t744 + return _t739 def pretty_true(self, msg: logic_pb2.Conjunction) -> Optional[NoReturn]: - def _t799(_dollar_dollar): + def _t801(_dollar_dollar): return _dollar_dollar - _t800 = _t799(msg) - fields155 = _t800 + _t802 = _t801(msg) + fields155 = _t802 assert fields155 is not None unwrapped_fields156 = fields155 self.write('(') @@ -1496,10 +1496,10 @@ def _t799(_dollar_dollar): return None def pretty_false(self, msg: logic_pb2.Disjunction) -> Optional[NoReturn]: - def _t801(_dollar_dollar): + def _t803(_dollar_dollar): return _dollar_dollar - _t802 = _t801(msg) - fields157 = _t802 + _t804 = _t803(msg) + fields157 = _t804 assert fields157 is not None unwrapped_fields158 = fields157 self.write('(') @@ -1508,11 +1508,11 @@ def _t801(_dollar_dollar): return None def pretty_exists(self, msg: logic_pb2.Exists) -> Optional[NoReturn]: - def _t803(_dollar_dollar): - _t804 = self.deconstruct_bindings(_dollar_dollar.body) - return (_t804, _dollar_dollar.body.value,) - _t805 = _t803(msg) - fields159 = _t805 + def _t805(_dollar_dollar): + _t806 = self.deconstruct_bindings(_dollar_dollar.body) + return (_t806, _dollar_dollar.body.value,) + _t807 = _t805(msg) + fields159 = _t807 assert fields159 is not None unwrapped_fields160 = fields159 self.write('(') @@ -1520,19 +1520,19 @@ def _t803(_dollar_dollar): self.indent() self.newline() field161 = unwrapped_fields160[0] - _t806 = self.pretty_bindings(field161) + _t808 = self.pretty_bindings(field161) self.newline() field162 = unwrapped_fields160[1] - _t807 = self.pretty_formula(field162) + _t809 = self.pretty_formula(field162) self.dedent() self.write(')') return None def pretty_reduce(self, msg: logic_pb2.Reduce) -> Optional[NoReturn]: - def _t808(_dollar_dollar): + def _t810(_dollar_dollar): return (_dollar_dollar.op, _dollar_dollar.body, _dollar_dollar.terms,) - _t809 = _t808(msg) - fields163 = _t809 + _t811 = _t810(msg) + fields163 = _t811 assert fields163 is not None unwrapped_fields164 = fields163 self.write('(') @@ -1540,22 +1540,22 @@ def _t808(_dollar_dollar): self.indent() self.newline() field165 = unwrapped_fields164[0] - _t810 = self.pretty_abstraction(field165) + _t812 = self.pretty_abstraction(field165) self.newline() field166 = unwrapped_fields164[1] - _t811 = self.pretty_abstraction(field166) + _t813 = self.pretty_abstraction(field166) self.newline() field167 = unwrapped_fields164[2] - _t812 = self.pretty_terms(field167) + _t814 = self.pretty_terms(field167) self.dedent() self.write(')') return None def pretty_terms(self, msg: Sequence[logic_pb2.Term]) -> Optional[NoReturn]: - def _t813(_dollar_dollar): + def _t815(_dollar_dollar): return _dollar_dollar - _t814 = _t813(msg) - fields168 = _t814 + _t816 = _t815(msg) + fields168 = _t816 assert fields168 is not None unwrapped_fields169 = fields168 self.write('(') @@ -1566,69 +1566,69 @@ def _t813(_dollar_dollar): for i171, elem170 in enumerate(unwrapped_fields169): if (i171 > 0): self.newline() - _t815 = self.pretty_term(elem170) + _t817 = self.pretty_term(elem170) self.dedent() self.write(')') return None def pretty_term(self, msg: logic_pb2.Term) -> Optional[NoReturn]: - def _t816(_dollar_dollar): + def _t818(_dollar_dollar): if _dollar_dollar.HasField('var'): - _t817 = _dollar_dollar.var + _t819 = _dollar_dollar.var else: - _t817 = None - return _t817 - _t818 = _t816(msg) - deconstruct_result173 = _t818 + _t819 = None + return _t819 + _t820 = _t818(msg) + deconstruct_result173 = _t820 if deconstruct_result173 is not None: - _t820 = self.pretty_var(deconstruct_result173) - _t819 = _t820 + _t822 = self.pretty_var(deconstruct_result173) + _t821 = _t822 else: - def _t821(_dollar_dollar): + def _t823(_dollar_dollar): if _dollar_dollar.HasField('constant'): - _t822 = _dollar_dollar.constant + _t824 = _dollar_dollar.constant else: - _t822 = None - return _t822 - _t823 = _t821(msg) - deconstruct_result172 = _t823 + _t824 = None + return _t824 + _t825 = _t823(msg) + deconstruct_result172 = _t825 if deconstruct_result172 is not None: - _t825 = self.pretty_constant(deconstruct_result172) - _t824 = _t825 + _t827 = self.pretty_constant(deconstruct_result172) + _t826 = _t827 else: raise ParseError('No matching rule for term') - _t819 = _t824 - return _t819 + _t821 = _t826 + return _t821 def pretty_var(self, msg: logic_pb2.Var) -> Optional[NoReturn]: - def _t826(_dollar_dollar): + def _t828(_dollar_dollar): return _dollar_dollar.name - _t827 = _t826(msg) - fields174 = _t827 + _t829 = _t828(msg) + fields174 = _t829 assert fields174 is not None unwrapped_fields175 = fields174 self.write(unwrapped_fields175) return None def pretty_constant(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t828(_dollar_dollar): + def _t830(_dollar_dollar): return _dollar_dollar - _t829 = _t828(msg) - fields176 = _t829 + _t831 = _t830(msg) + fields176 = _t831 assert fields176 is not None unwrapped_fields177 = fields176 - _t830 = self.pretty_value(unwrapped_fields177) - return _t830 + _t832 = self.pretty_value(unwrapped_fields177) + return _t832 def pretty_conjunction(self, msg: logic_pb2.Conjunction) -> Optional[NoReturn]: - def _t831(_dollar_dollar): + def _t833(_dollar_dollar): return _dollar_dollar.args - _t832 = _t831(msg) - fields178 = _t832 + _t834 = _t833(msg) + fields178 = _t834 assert fields178 is not None unwrapped_fields179 = fields178 self.write('(') @@ -1639,16 +1639,16 @@ def _t831(_dollar_dollar): for i181, elem180 in enumerate(unwrapped_fields179): if (i181 > 0): self.newline() - _t833 = self.pretty_formula(elem180) + _t835 = self.pretty_formula(elem180) self.dedent() self.write(')') return None def pretty_disjunction(self, msg: logic_pb2.Disjunction) -> Optional[NoReturn]: - def _t834(_dollar_dollar): + def _t836(_dollar_dollar): return _dollar_dollar.args - _t835 = _t834(msg) - fields182 = _t835 + _t837 = _t836(msg) + fields182 = _t837 assert fields182 is not None unwrapped_fields183 = fields182 self.write('(') @@ -1659,32 +1659,32 @@ def _t834(_dollar_dollar): for i185, elem184 in enumerate(unwrapped_fields183): if (i185 > 0): self.newline() - _t836 = self.pretty_formula(elem184) + _t838 = self.pretty_formula(elem184) self.dedent() self.write(')') return None def pretty_not(self, msg: logic_pb2.Not) -> Optional[NoReturn]: - def _t837(_dollar_dollar): + def _t839(_dollar_dollar): return _dollar_dollar.arg - _t838 = _t837(msg) - fields186 = _t838 + _t840 = _t839(msg) + fields186 = _t840 assert fields186 is not None unwrapped_fields187 = fields186 self.write('(') self.write('not') self.indent() self.newline() - _t839 = self.pretty_formula(unwrapped_fields187) + _t841 = self.pretty_formula(unwrapped_fields187) self.dedent() self.write(')') return None def pretty_ffi(self, msg: logic_pb2.FFI) -> Optional[NoReturn]: - def _t840(_dollar_dollar): + def _t842(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.args, _dollar_dollar.terms,) - _t841 = _t840(msg) - fields188 = _t841 + _t843 = _t842(msg) + fields188 = _t843 assert fields188 is not None unwrapped_fields189 = fields188 self.write('(') @@ -1692,22 +1692,22 @@ def _t840(_dollar_dollar): self.indent() self.newline() field190 = unwrapped_fields189[0] - _t842 = self.pretty_name(field190) + _t844 = self.pretty_name(field190) self.newline() field191 = unwrapped_fields189[1] - _t843 = self.pretty_ffi_args(field191) + _t845 = self.pretty_ffi_args(field191) self.newline() field192 = unwrapped_fields189[2] - _t844 = self.pretty_terms(field192) + _t846 = self.pretty_terms(field192) self.dedent() self.write(')') return None def pretty_name(self, msg: str) -> Optional[NoReturn]: - def _t845(_dollar_dollar): + def _t847(_dollar_dollar): return _dollar_dollar - _t846 = _t845(msg) - fields193 = _t846 + _t848 = _t847(msg) + fields193 = _t848 assert fields193 is not None unwrapped_fields194 = fields193 self.write(':') @@ -1715,10 +1715,10 @@ def _t845(_dollar_dollar): return None def pretty_ffi_args(self, msg: Sequence[logic_pb2.Abstraction]) -> Optional[NoReturn]: - def _t847(_dollar_dollar): + def _t849(_dollar_dollar): return _dollar_dollar - _t848 = _t847(msg) - fields195 = _t848 + _t850 = _t849(msg) + fields195 = _t850 assert fields195 is not None unwrapped_fields196 = fields195 self.write('(') @@ -1729,16 +1729,16 @@ def _t847(_dollar_dollar): for i198, elem197 in enumerate(unwrapped_fields196): if (i198 > 0): self.newline() - _t849 = self.pretty_abstraction(elem197) + _t851 = self.pretty_abstraction(elem197) self.dedent() self.write(')') return None def pretty_atom(self, msg: logic_pb2.Atom) -> Optional[NoReturn]: - def _t850(_dollar_dollar): + def _t852(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t851 = _t850(msg) - fields199 = _t851 + _t853 = _t852(msg) + fields199 = _t853 assert fields199 is not None unwrapped_fields200 = fields199 self.write('(') @@ -1746,23 +1746,23 @@ def _t850(_dollar_dollar): self.indent() self.newline() field201 = unwrapped_fields200[0] - _t852 = self.pretty_relation_id(field201) + _t854 = self.pretty_relation_id(field201) field202 = unwrapped_fields200[1] if not len(field202) == 0: self.newline() for i204, elem203 in enumerate(field202): if (i204 > 0): self.newline() - _t853 = self.pretty_term(elem203) + _t855 = self.pretty_term(elem203) self.dedent() self.write(')') return None def pretty_pragma(self, msg: logic_pb2.Pragma) -> Optional[NoReturn]: - def _t854(_dollar_dollar): + def _t856(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t855 = _t854(msg) - fields205 = _t855 + _t857 = _t856(msg) + fields205 = _t857 assert fields205 is not None unwrapped_fields206 = fields205 self.write('(') @@ -1770,149 +1770,149 @@ def _t854(_dollar_dollar): self.indent() self.newline() field207 = unwrapped_fields206[0] - _t856 = self.pretty_name(field207) + _t858 = self.pretty_name(field207) field208 = unwrapped_fields206[1] if not len(field208) == 0: self.newline() for i210, elem209 in enumerate(field208): if (i210 > 0): self.newline() - _t857 = self.pretty_term(elem209) + _t859 = self.pretty_term(elem209) self.dedent() self.write(')') return None def pretty_primitive(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t858(_dollar_dollar): + def _t860(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_eq': - _t859 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t861 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t859 = None - return _t859 - _t860 = _t858(msg) - guard_result225 = _t860 + _t861 = None + return _t861 + _t862 = _t860(msg) + guard_result225 = _t862 if guard_result225 is not None: - _t862 = self.pretty_eq(msg) - _t861 = _t862 + _t864 = self.pretty_eq(msg) + _t863 = _t864 else: - def _t863(_dollar_dollar): + def _t865(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_monotype': - _t864 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t866 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t864 = None - return _t864 - _t865 = _t863(msg) - guard_result224 = _t865 + _t866 = None + return _t866 + _t867 = _t865(msg) + guard_result224 = _t867 if guard_result224 is not None: - _t867 = self.pretty_lt(msg) - _t866 = _t867 + _t869 = self.pretty_lt(msg) + _t868 = _t869 else: - def _t868(_dollar_dollar): + def _t870(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_eq_monotype': - _t869 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t871 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t869 = None - return _t869 - _t870 = _t868(msg) - guard_result223 = _t870 + _t871 = None + return _t871 + _t872 = _t870(msg) + guard_result223 = _t872 if guard_result223 is not None: - _t872 = self.pretty_lt_eq(msg) - _t871 = _t872 + _t874 = self.pretty_lt_eq(msg) + _t873 = _t874 else: - def _t873(_dollar_dollar): + def _t875(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_monotype': - _t874 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t876 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t874 = None - return _t874 - _t875 = _t873(msg) - guard_result222 = _t875 + _t876 = None + return _t876 + _t877 = _t875(msg) + guard_result222 = _t877 if guard_result222 is not None: - _t877 = self.pretty_gt(msg) - _t876 = _t877 + _t879 = self.pretty_gt(msg) + _t878 = _t879 else: - def _t878(_dollar_dollar): + def _t880(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_eq_monotype': - _t879 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t881 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t879 = None - return _t879 - _t880 = _t878(msg) - guard_result221 = _t880 + _t881 = None + return _t881 + _t882 = _t880(msg) + guard_result221 = _t882 if guard_result221 is not None: - _t882 = self.pretty_gt_eq(msg) - _t881 = _t882 + _t884 = self.pretty_gt_eq(msg) + _t883 = _t884 else: - def _t883(_dollar_dollar): + def _t885(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_add_monotype': - _t884 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t886 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t884 = None - return _t884 - _t885 = _t883(msg) - guard_result220 = _t885 + _t886 = None + return _t886 + _t887 = _t885(msg) + guard_result220 = _t887 if guard_result220 is not None: - _t887 = self.pretty_add(msg) - _t886 = _t887 + _t889 = self.pretty_add(msg) + _t888 = _t889 else: - def _t888(_dollar_dollar): + def _t890(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_subtract_monotype': - _t889 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t891 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t889 = None - return _t889 - _t890 = _t888(msg) - guard_result219 = _t890 + _t891 = None + return _t891 + _t892 = _t890(msg) + guard_result219 = _t892 if guard_result219 is not None: - _t892 = self.pretty_minus(msg) - _t891 = _t892 + _t894 = self.pretty_minus(msg) + _t893 = _t894 else: - def _t893(_dollar_dollar): + def _t895(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_multiply_monotype': - _t894 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t896 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t894 = None - return _t894 - _t895 = _t893(msg) - guard_result218 = _t895 + _t896 = None + return _t896 + _t897 = _t895(msg) + guard_result218 = _t897 if guard_result218 is not None: - _t897 = self.pretty_multiply(msg) - _t896 = _t897 + _t899 = self.pretty_multiply(msg) + _t898 = _t899 else: - def _t898(_dollar_dollar): + def _t900(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_divide_monotype': - _t899 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t901 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t899 = None - return _t899 - _t900 = _t898(msg) - guard_result217 = _t900 + _t901 = None + return _t901 + _t902 = _t900(msg) + guard_result217 = _t902 if guard_result217 is not None: - _t902 = self.pretty_divide(msg) - _t901 = _t902 + _t904 = self.pretty_divide(msg) + _t903 = _t904 else: - def _t903(_dollar_dollar): + def _t905(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t904 = _t903(msg) - fields211 = _t904 + _t906 = _t905(msg) + fields211 = _t906 assert fields211 is not None unwrapped_fields212 = fields211 self.write('(') @@ -1920,37 +1920,37 @@ def _t903(_dollar_dollar): self.indent() self.newline() field213 = unwrapped_fields212[0] - _t905 = self.pretty_name(field213) + _t907 = self.pretty_name(field213) field214 = unwrapped_fields212[1] if not len(field214) == 0: self.newline() for i216, elem215 in enumerate(field214): if (i216 > 0): self.newline() - _t906 = self.pretty_rel_term(elem215) + _t908 = self.pretty_rel_term(elem215) self.dedent() self.write(')') - _t901 = None - _t896 = _t901 - _t891 = _t896 - _t886 = _t891 - _t881 = _t886 - _t876 = _t881 - _t871 = _t876 - _t866 = _t871 - _t861 = _t866 - return _t861 + _t903 = None + _t898 = _t903 + _t893 = _t898 + _t888 = _t893 + _t883 = _t888 + _t878 = _t883 + _t873 = _t878 + _t868 = _t873 + _t863 = _t868 + return _t863 def pretty_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t907(_dollar_dollar): + def _t909(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_eq': - _t908 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t910 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t908 = None - return _t908 - _t909 = _t907(msg) - fields226 = _t909 + _t910 = None + return _t910 + _t911 = _t909(msg) + fields226 = _t911 assert fields226 is not None unwrapped_fields227 = fields226 self.write('(') @@ -1958,24 +1958,24 @@ def _t907(_dollar_dollar): self.indent() self.newline() field228 = unwrapped_fields227[0] - _t910 = self.pretty_term(field228) + _t912 = self.pretty_term(field228) self.newline() field229 = unwrapped_fields227[1] - _t911 = self.pretty_term(field229) + _t913 = self.pretty_term(field229) self.dedent() self.write(')') return None def pretty_lt(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t912(_dollar_dollar): + def _t914(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_monotype': - _t913 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t915 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t913 = None - return _t913 - _t914 = _t912(msg) - fields230 = _t914 + _t915 = None + return _t915 + _t916 = _t914(msg) + fields230 = _t916 assert fields230 is not None unwrapped_fields231 = fields230 self.write('(') @@ -1983,24 +1983,24 @@ def _t912(_dollar_dollar): self.indent() self.newline() field232 = unwrapped_fields231[0] - _t915 = self.pretty_term(field232) + _t917 = self.pretty_term(field232) self.newline() field233 = unwrapped_fields231[1] - _t916 = self.pretty_term(field233) + _t918 = self.pretty_term(field233) self.dedent() self.write(')') return None def pretty_lt_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t917(_dollar_dollar): + def _t919(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_lt_eq_monotype': - _t918 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t920 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t918 = None - return _t918 - _t919 = _t917(msg) - fields234 = _t919 + _t920 = None + return _t920 + _t921 = _t919(msg) + fields234 = _t921 assert fields234 is not None unwrapped_fields235 = fields234 self.write('(') @@ -2008,24 +2008,24 @@ def _t917(_dollar_dollar): self.indent() self.newline() field236 = unwrapped_fields235[0] - _t920 = self.pretty_term(field236) + _t922 = self.pretty_term(field236) self.newline() field237 = unwrapped_fields235[1] - _t921 = self.pretty_term(field237) + _t923 = self.pretty_term(field237) self.dedent() self.write(')') return None def pretty_gt(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t922(_dollar_dollar): + def _t924(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_monotype': - _t923 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t925 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t923 = None - return _t923 - _t924 = _t922(msg) - fields238 = _t924 + _t925 = None + return _t925 + _t926 = _t924(msg) + fields238 = _t926 assert fields238 is not None unwrapped_fields239 = fields238 self.write('(') @@ -2033,24 +2033,24 @@ def _t922(_dollar_dollar): self.indent() self.newline() field240 = unwrapped_fields239[0] - _t925 = self.pretty_term(field240) + _t927 = self.pretty_term(field240) self.newline() field241 = unwrapped_fields239[1] - _t926 = self.pretty_term(field241) + _t928 = self.pretty_term(field241) self.dedent() self.write(')') return None def pretty_gt_eq(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t927(_dollar_dollar): + def _t929(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_gt_eq_monotype': - _t928 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) + _t930 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term,) else: - _t928 = None - return _t928 - _t929 = _t927(msg) - fields242 = _t929 + _t930 = None + return _t930 + _t931 = _t929(msg) + fields242 = _t931 assert fields242 is not None unwrapped_fields243 = fields242 self.write('(') @@ -2058,24 +2058,24 @@ def _t927(_dollar_dollar): self.indent() self.newline() field244 = unwrapped_fields243[0] - _t930 = self.pretty_term(field244) + _t932 = self.pretty_term(field244) self.newline() field245 = unwrapped_fields243[1] - _t931 = self.pretty_term(field245) + _t933 = self.pretty_term(field245) self.dedent() self.write(')') return None def pretty_add(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t932(_dollar_dollar): + def _t934(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_add_monotype': - _t933 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t935 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t933 = None - return _t933 - _t934 = _t932(msg) - fields246 = _t934 + _t935 = None + return _t935 + _t936 = _t934(msg) + fields246 = _t936 assert fields246 is not None unwrapped_fields247 = fields246 self.write('(') @@ -2083,27 +2083,27 @@ def _t932(_dollar_dollar): self.indent() self.newline() field248 = unwrapped_fields247[0] - _t935 = self.pretty_term(field248) + _t937 = self.pretty_term(field248) self.newline() field249 = unwrapped_fields247[1] - _t936 = self.pretty_term(field249) + _t938 = self.pretty_term(field249) self.newline() field250 = unwrapped_fields247[2] - _t937 = self.pretty_term(field250) + _t939 = self.pretty_term(field250) self.dedent() self.write(')') return None def pretty_minus(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t938(_dollar_dollar): + def _t940(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_subtract_monotype': - _t939 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t941 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t939 = None - return _t939 - _t940 = _t938(msg) - fields251 = _t940 + _t941 = None + return _t941 + _t942 = _t940(msg) + fields251 = _t942 assert fields251 is not None unwrapped_fields252 = fields251 self.write('(') @@ -2111,27 +2111,27 @@ def _t938(_dollar_dollar): self.indent() self.newline() field253 = unwrapped_fields252[0] - _t941 = self.pretty_term(field253) + _t943 = self.pretty_term(field253) self.newline() field254 = unwrapped_fields252[1] - _t942 = self.pretty_term(field254) + _t944 = self.pretty_term(field254) self.newline() field255 = unwrapped_fields252[2] - _t943 = self.pretty_term(field255) + _t945 = self.pretty_term(field255) self.dedent() self.write(')') return None def pretty_multiply(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t944(_dollar_dollar): + def _t946(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_multiply_monotype': - _t945 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t947 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t945 = None - return _t945 - _t946 = _t944(msg) - fields256 = _t946 + _t947 = None + return _t947 + _t948 = _t946(msg) + fields256 = _t948 assert fields256 is not None unwrapped_fields257 = fields256 self.write('(') @@ -2139,27 +2139,27 @@ def _t944(_dollar_dollar): self.indent() self.newline() field258 = unwrapped_fields257[0] - _t947 = self.pretty_term(field258) + _t949 = self.pretty_term(field258) self.newline() field259 = unwrapped_fields257[1] - _t948 = self.pretty_term(field259) + _t950 = self.pretty_term(field259) self.newline() field260 = unwrapped_fields257[2] - _t949 = self.pretty_term(field260) + _t951 = self.pretty_term(field260) self.dedent() self.write(')') return None def pretty_divide(self, msg: logic_pb2.Primitive) -> Optional[NoReturn]: - def _t950(_dollar_dollar): + def _t952(_dollar_dollar): if _dollar_dollar.name == 'rel_primitive_divide_monotype': - _t951 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) + _t953 = (_dollar_dollar.terms[0].term, _dollar_dollar.terms[1].term, _dollar_dollar.terms[2].term,) else: - _t951 = None - return _t951 - _t952 = _t950(msg) - fields261 = _t952 + _t953 = None + return _t953 + _t954 = _t952(msg) + fields261 = _t954 assert fields261 is not None unwrapped_fields262 = fields261 self.write('(') @@ -2167,66 +2167,66 @@ def _t950(_dollar_dollar): self.indent() self.newline() field263 = unwrapped_fields262[0] - _t953 = self.pretty_term(field263) + _t955 = self.pretty_term(field263) self.newline() field264 = unwrapped_fields262[1] - _t954 = self.pretty_term(field264) + _t956 = self.pretty_term(field264) self.newline() field265 = unwrapped_fields262[2] - _t955 = self.pretty_term(field265) + _t957 = self.pretty_term(field265) self.dedent() self.write(')') return None def pretty_rel_term(self, msg: logic_pb2.RelTerm) -> Optional[NoReturn]: - def _t956(_dollar_dollar): + def _t958(_dollar_dollar): if _dollar_dollar.HasField('specialized_value'): - _t957 = _dollar_dollar.specialized_value + _t959 = _dollar_dollar.specialized_value else: - _t957 = None - return _t957 - _t958 = _t956(msg) - deconstruct_result267 = _t958 + _t959 = None + return _t959 + _t960 = _t958(msg) + deconstruct_result267 = _t960 if deconstruct_result267 is not None: - _t960 = self.pretty_specialized_value(deconstruct_result267) - _t959 = _t960 + _t962 = self.pretty_specialized_value(deconstruct_result267) + _t961 = _t962 else: - def _t961(_dollar_dollar): + def _t963(_dollar_dollar): if _dollar_dollar.HasField('term'): - _t962 = _dollar_dollar.term + _t964 = _dollar_dollar.term else: - _t962 = None - return _t962 - _t963 = _t961(msg) - deconstruct_result266 = _t963 + _t964 = None + return _t964 + _t965 = _t963(msg) + deconstruct_result266 = _t965 if deconstruct_result266 is not None: - _t965 = self.pretty_term(deconstruct_result266) - _t964 = _t965 + _t967 = self.pretty_term(deconstruct_result266) + _t966 = _t967 else: raise ParseError('No matching rule for rel_term') - _t959 = _t964 - return _t959 + _t961 = _t966 + return _t961 def pretty_specialized_value(self, msg: logic_pb2.Value) -> Optional[NoReturn]: - def _t966(_dollar_dollar): + def _t968(_dollar_dollar): return _dollar_dollar - _t967 = _t966(msg) - fields268 = _t967 + _t969 = _t968(msg) + fields268 = _t969 assert fields268 is not None unwrapped_fields269 = fields268 self.write('#') - _t968 = self.pretty_value(unwrapped_fields269) - return _t968 + _t970 = self.pretty_value(unwrapped_fields269) + return _t970 def pretty_rel_atom(self, msg: logic_pb2.RelAtom) -> Optional[NoReturn]: - def _t969(_dollar_dollar): + def _t971(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.terms,) - _t970 = _t969(msg) - fields270 = _t970 + _t972 = _t971(msg) + fields270 = _t972 assert fields270 is not None unwrapped_fields271 = fields270 self.write('(') @@ -2234,23 +2234,23 @@ def _t969(_dollar_dollar): self.indent() self.newline() field272 = unwrapped_fields271[0] - _t971 = self.pretty_name(field272) + _t973 = self.pretty_name(field272) field273 = unwrapped_fields271[1] if not len(field273) == 0: self.newline() for i275, elem274 in enumerate(field273): if (i275 > 0): self.newline() - _t972 = self.pretty_rel_term(elem274) + _t974 = self.pretty_rel_term(elem274) self.dedent() self.write(')') return None def pretty_cast(self, msg: logic_pb2.Cast) -> Optional[NoReturn]: - def _t973(_dollar_dollar): + def _t975(_dollar_dollar): return (_dollar_dollar.input, _dollar_dollar.result,) - _t974 = _t973(msg) - fields276 = _t974 + _t976 = _t975(msg) + fields276 = _t976 assert fields276 is not None unwrapped_fields277 = fields276 self.write('(') @@ -2258,19 +2258,19 @@ def _t973(_dollar_dollar): self.indent() self.newline() field278 = unwrapped_fields277[0] - _t975 = self.pretty_term(field278) + _t977 = self.pretty_term(field278) self.newline() field279 = unwrapped_fields277[1] - _t976 = self.pretty_term(field279) + _t978 = self.pretty_term(field279) self.dedent() self.write(')') return None def pretty_attrs(self, msg: Sequence[logic_pb2.Attribute]) -> Optional[NoReturn]: - def _t977(_dollar_dollar): + def _t979(_dollar_dollar): return _dollar_dollar - _t978 = _t977(msg) - fields280 = _t978 + _t980 = _t979(msg) + fields280 = _t980 assert fields280 is not None unwrapped_fields281 = fields280 self.write('(') @@ -2281,16 +2281,16 @@ def _t977(_dollar_dollar): for i283, elem282 in enumerate(unwrapped_fields281): if (i283 > 0): self.newline() - _t979 = self.pretty_attribute(elem282) + _t981 = self.pretty_attribute(elem282) self.dedent() self.write(')') return None def pretty_attribute(self, msg: logic_pb2.Attribute) -> Optional[NoReturn]: - def _t980(_dollar_dollar): + def _t982(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.args,) - _t981 = _t980(msg) - fields284 = _t981 + _t983 = _t982(msg) + fields284 = _t983 assert fields284 is not None unwrapped_fields285 = fields284 self.write('(') @@ -2298,23 +2298,23 @@ def _t980(_dollar_dollar): self.indent() self.newline() field286 = unwrapped_fields285[0] - _t982 = self.pretty_name(field286) + _t984 = self.pretty_name(field286) field287 = unwrapped_fields285[1] if not len(field287) == 0: self.newline() for i289, elem288 in enumerate(field287): if (i289 > 0): self.newline() - _t983 = self.pretty_value(elem288) + _t985 = self.pretty_value(elem288) self.dedent() self.write(')') return None def pretty_algorithm(self, msg: logic_pb2.Algorithm) -> Optional[NoReturn]: - def _t984(_dollar_dollar): + def _t986(_dollar_dollar): return (getattr(_dollar_dollar, 'global'), _dollar_dollar.body,) - _t985 = _t984(msg) - fields290 = _t985 + _t987 = _t986(msg) + fields290 = _t987 assert fields290 is not None unwrapped_fields291 = fields290 self.write('(') @@ -2326,19 +2326,19 @@ def _t984(_dollar_dollar): for i294, elem293 in enumerate(field292): if (i294 > 0): self.newline() - _t986 = self.pretty_relation_id(elem293) + _t988 = self.pretty_relation_id(elem293) self.newline() field295 = unwrapped_fields291[1] - _t987 = self.pretty_script(field295) + _t989 = self.pretty_script(field295) self.dedent() self.write(')') return None def pretty_script(self, msg: logic_pb2.Script) -> Optional[NoReturn]: - def _t988(_dollar_dollar): + def _t990(_dollar_dollar): return _dollar_dollar.constructs - _t989 = _t988(msg) - fields296 = _t989 + _t991 = _t990(msg) + fields296 = _t991 assert fields296 is not None unwrapped_fields297 = fields296 self.write('(') @@ -2349,49 +2349,49 @@ def _t988(_dollar_dollar): for i299, elem298 in enumerate(unwrapped_fields297): if (i299 > 0): self.newline() - _t990 = self.pretty_construct(elem298) + _t992 = self.pretty_construct(elem298) self.dedent() self.write(')') return None def pretty_construct(self, msg: logic_pb2.Construct) -> Optional[NoReturn]: - def _t991(_dollar_dollar): + def _t993(_dollar_dollar): if _dollar_dollar.HasField('loop'): - _t992 = _dollar_dollar.loop + _t994 = _dollar_dollar.loop else: - _t992 = None - return _t992 - _t993 = _t991(msg) - deconstruct_result301 = _t993 + _t994 = None + return _t994 + _t995 = _t993(msg) + deconstruct_result301 = _t995 if deconstruct_result301 is not None: - _t995 = self.pretty_loop(deconstruct_result301) - _t994 = _t995 + _t997 = self.pretty_loop(deconstruct_result301) + _t996 = _t997 else: - def _t996(_dollar_dollar): + def _t998(_dollar_dollar): if _dollar_dollar.HasField('instruction'): - _t997 = _dollar_dollar.instruction + _t999 = _dollar_dollar.instruction else: - _t997 = None - return _t997 - _t998 = _t996(msg) - deconstruct_result300 = _t998 + _t999 = None + return _t999 + _t1000 = _t998(msg) + deconstruct_result300 = _t1000 if deconstruct_result300 is not None: - _t1000 = self.pretty_instruction(deconstruct_result300) - _t999 = _t1000 + _t1002 = self.pretty_instruction(deconstruct_result300) + _t1001 = _t1002 else: raise ParseError('No matching rule for construct') - _t994 = _t999 - return _t994 + _t996 = _t1001 + return _t996 def pretty_loop(self, msg: logic_pb2.Loop) -> Optional[NoReturn]: - def _t1001(_dollar_dollar): + def _t1003(_dollar_dollar): return (_dollar_dollar.init, _dollar_dollar.body,) - _t1002 = _t1001(msg) - fields302 = _t1002 + _t1004 = _t1003(msg) + fields302 = _t1004 assert fields302 is not None unwrapped_fields303 = fields302 self.write('(') @@ -2399,19 +2399,19 @@ def _t1001(_dollar_dollar): self.indent() self.newline() field304 = unwrapped_fields303[0] - _t1003 = self.pretty_init(field304) + _t1005 = self.pretty_init(field304) self.newline() field305 = unwrapped_fields303[1] - _t1004 = self.pretty_script(field305) + _t1006 = self.pretty_script(field305) self.dedent() self.write(')') return None def pretty_init(self, msg: Sequence[logic_pb2.Instruction]) -> Optional[NoReturn]: - def _t1005(_dollar_dollar): + def _t1007(_dollar_dollar): return _dollar_dollar - _t1006 = _t1005(msg) - fields306 = _t1006 + _t1008 = _t1007(msg) + fields306 = _t1008 assert fields306 is not None unwrapped_fields307 = fields306 self.write('(') @@ -2422,99 +2422,99 @@ def _t1005(_dollar_dollar): for i309, elem308 in enumerate(unwrapped_fields307): if (i309 > 0): self.newline() - _t1007 = self.pretty_instruction(elem308) + _t1009 = self.pretty_instruction(elem308) self.dedent() self.write(')') return None def pretty_instruction(self, msg: logic_pb2.Instruction) -> Optional[NoReturn]: - def _t1008(_dollar_dollar): + def _t1010(_dollar_dollar): if _dollar_dollar.HasField('assign'): - _t1009 = _dollar_dollar.assign + _t1011 = _dollar_dollar.assign else: - _t1009 = None - return _t1009 - _t1010 = _t1008(msg) - deconstruct_result314 = _t1010 + _t1011 = None + return _t1011 + _t1012 = _t1010(msg) + deconstruct_result314 = _t1012 if deconstruct_result314 is not None: - _t1012 = self.pretty_assign(deconstruct_result314) - _t1011 = _t1012 + _t1014 = self.pretty_assign(deconstruct_result314) + _t1013 = _t1014 else: - def _t1013(_dollar_dollar): + def _t1015(_dollar_dollar): if _dollar_dollar.HasField('upsert'): - _t1014 = _dollar_dollar.upsert + _t1016 = _dollar_dollar.upsert else: - _t1014 = None - return _t1014 - _t1015 = _t1013(msg) - deconstruct_result313 = _t1015 + _t1016 = None + return _t1016 + _t1017 = _t1015(msg) + deconstruct_result313 = _t1017 if deconstruct_result313 is not None: - _t1017 = self.pretty_upsert(deconstruct_result313) - _t1016 = _t1017 + _t1019 = self.pretty_upsert(deconstruct_result313) + _t1018 = _t1019 else: - def _t1018(_dollar_dollar): + def _t1020(_dollar_dollar): if _dollar_dollar.HasField('break'): - _t1019 = getattr(_dollar_dollar, 'break') + _t1021 = getattr(_dollar_dollar, 'break') else: - _t1019 = None - return _t1019 - _t1020 = _t1018(msg) - deconstruct_result312 = _t1020 + _t1021 = None + return _t1021 + _t1022 = _t1020(msg) + deconstruct_result312 = _t1022 if deconstruct_result312 is not None: - _t1022 = self.pretty_break(deconstruct_result312) - _t1021 = _t1022 + _t1024 = self.pretty_break(deconstruct_result312) + _t1023 = _t1024 else: - def _t1023(_dollar_dollar): + def _t1025(_dollar_dollar): if _dollar_dollar.HasField('monoid_def'): - _t1024 = _dollar_dollar.monoid_def + _t1026 = _dollar_dollar.monoid_def else: - _t1024 = None - return _t1024 - _t1025 = _t1023(msg) - deconstruct_result311 = _t1025 + _t1026 = None + return _t1026 + _t1027 = _t1025(msg) + deconstruct_result311 = _t1027 if deconstruct_result311 is not None: - _t1027 = self.pretty_monoid_def(deconstruct_result311) - _t1026 = _t1027 + _t1029 = self.pretty_monoid_def(deconstruct_result311) + _t1028 = _t1029 else: - def _t1028(_dollar_dollar): + def _t1030(_dollar_dollar): if _dollar_dollar.HasField('monus_def'): - _t1029 = _dollar_dollar.monus_def + _t1031 = _dollar_dollar.monus_def else: - _t1029 = None - return _t1029 - _t1030 = _t1028(msg) - deconstruct_result310 = _t1030 + _t1031 = None + return _t1031 + _t1032 = _t1030(msg) + deconstruct_result310 = _t1032 if deconstruct_result310 is not None: - _t1032 = self.pretty_monus_def(deconstruct_result310) - _t1031 = _t1032 + _t1034 = self.pretty_monus_def(deconstruct_result310) + _t1033 = _t1034 else: raise ParseError('No matching rule for instruction') - _t1026 = _t1031 - _t1021 = _t1026 - _t1016 = _t1021 - _t1011 = _t1016 - return _t1011 + _t1028 = _t1033 + _t1023 = _t1028 + _t1018 = _t1023 + _t1013 = _t1018 + return _t1013 def pretty_assign(self, msg: logic_pb2.Assign) -> Optional[NoReturn]: - def _t1033(_dollar_dollar): + def _t1035(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1034 = _dollar_dollar.attrs + _t1036 = _dollar_dollar.attrs else: - _t1034 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t1034,) - _t1035 = _t1033(msg) - fields315 = _t1035 + _t1036 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t1036,) + _t1037 = _t1035(msg) + fields315 = _t1037 assert fields315 is not None unwrapped_fields316 = fields315 self.write('(') @@ -2522,34 +2522,34 @@ def _t1033(_dollar_dollar): self.indent() self.newline() field317 = unwrapped_fields316[0] - _t1036 = self.pretty_relation_id(field317) + _t1038 = self.pretty_relation_id(field317) self.newline() field318 = unwrapped_fields316[1] - _t1037 = self.pretty_abstraction(field318) + _t1039 = self.pretty_abstraction(field318) field319 = unwrapped_fields316[2] if field319 is not None: self.newline() assert field319 is not None opt_val320 = field319 - _t1039 = self.pretty_attrs(opt_val320) - _t1038 = _t1039 + _t1041 = self.pretty_attrs(opt_val320) + _t1040 = _t1041 else: - _t1038 = None + _t1040 = None self.dedent() self.write(')') return None def pretty_upsert(self, msg: logic_pb2.Upsert) -> Optional[NoReturn]: - def _t1040(_dollar_dollar): + def _t1042(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1041 = _dollar_dollar.attrs + _t1043 = _dollar_dollar.attrs else: - _t1041 = None - return (_dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1041,) - _t1042 = _t1040(msg) - fields321 = _t1042 + _t1043 = None + return (_dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1043,) + _t1044 = _t1042(msg) + fields321 = _t1044 assert fields321 is not None unwrapped_fields322 = fields321 self.write('(') @@ -2557,51 +2557,51 @@ def _t1040(_dollar_dollar): self.indent() self.newline() field323 = unwrapped_fields322[0] - _t1043 = self.pretty_relation_id(field323) + _t1045 = self.pretty_relation_id(field323) self.newline() field324 = unwrapped_fields322[1] - _t1044 = self.pretty_abstraction_with_arity(field324) + _t1046 = self.pretty_abstraction_with_arity(field324) field325 = unwrapped_fields322[2] if field325 is not None: self.newline() assert field325 is not None opt_val326 = field325 - _t1046 = self.pretty_attrs(opt_val326) - _t1045 = _t1046 + _t1048 = self.pretty_attrs(opt_val326) + _t1047 = _t1048 else: - _t1045 = None + _t1047 = None self.dedent() self.write(')') return None def pretty_abstraction_with_arity(self, msg: tuple[logic_pb2.Abstraction, int]) -> Optional[NoReturn]: - def _t1047(_dollar_dollar): - _t1048 = self.deconstruct_bindings_with_arity(_dollar_dollar[0], _dollar_dollar[1]) - return (_t1048, _dollar_dollar[0].value,) - _t1049 = _t1047(msg) - fields327 = _t1049 + def _t1049(_dollar_dollar): + _t1050 = self.deconstruct_bindings_with_arity(_dollar_dollar[0], _dollar_dollar[1]) + return (_t1050, _dollar_dollar[0].value,) + _t1051 = _t1049(msg) + fields327 = _t1051 assert fields327 is not None unwrapped_fields328 = fields327 self.write('(') field329 = unwrapped_fields328[0] - _t1050 = self.pretty_bindings(field329) + _t1052 = self.pretty_bindings(field329) self.write(' ') field330 = unwrapped_fields328[1] - _t1051 = self.pretty_formula(field330) + _t1053 = self.pretty_formula(field330) self.write(')') return None def pretty_break(self, msg: logic_pb2.Break) -> Optional[NoReturn]: - def _t1052(_dollar_dollar): + def _t1054(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1053 = _dollar_dollar.attrs + _t1055 = _dollar_dollar.attrs else: - _t1053 = None - return (_dollar_dollar.name, _dollar_dollar.body, _t1053,) - _t1054 = _t1052(msg) - fields331 = _t1054 + _t1055 = None + return (_dollar_dollar.name, _dollar_dollar.body, _t1055,) + _t1056 = _t1054(msg) + fields331 = _t1056 assert fields331 is not None unwrapped_fields332 = fields331 self.write('(') @@ -2609,34 +2609,34 @@ def _t1052(_dollar_dollar): self.indent() self.newline() field333 = unwrapped_fields332[0] - _t1055 = self.pretty_relation_id(field333) + _t1057 = self.pretty_relation_id(field333) self.newline() field334 = unwrapped_fields332[1] - _t1056 = self.pretty_abstraction(field334) + _t1058 = self.pretty_abstraction(field334) field335 = unwrapped_fields332[2] if field335 is not None: self.newline() assert field335 is not None opt_val336 = field335 - _t1058 = self.pretty_attrs(opt_val336) - _t1057 = _t1058 + _t1060 = self.pretty_attrs(opt_val336) + _t1059 = _t1060 else: - _t1057 = None + _t1059 = None self.dedent() self.write(')') return None def pretty_monoid_def(self, msg: logic_pb2.MonoidDef) -> Optional[NoReturn]: - def _t1059(_dollar_dollar): + def _t1061(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1060 = _dollar_dollar.attrs + _t1062 = _dollar_dollar.attrs else: - _t1060 = None - return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1060,) - _t1061 = _t1059(msg) - fields337 = _t1061 + _t1062 = None + return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1062,) + _t1063 = _t1061(msg) + fields337 = _t1063 assert fields337 is not None unwrapped_fields338 = fields337 self.write('(') @@ -2644,95 +2644,95 @@ def _t1059(_dollar_dollar): self.indent() self.newline() field339 = unwrapped_fields338[0] - _t1062 = self.pretty_monoid(field339) + _t1064 = self.pretty_monoid(field339) self.newline() field340 = unwrapped_fields338[1] - _t1063 = self.pretty_relation_id(field340) + _t1065 = self.pretty_relation_id(field340) self.newline() field341 = unwrapped_fields338[2] - _t1064 = self.pretty_abstraction_with_arity(field341) + _t1066 = self.pretty_abstraction_with_arity(field341) field342 = unwrapped_fields338[3] if field342 is not None: self.newline() assert field342 is not None opt_val343 = field342 - _t1066 = self.pretty_attrs(opt_val343) - _t1065 = _t1066 + _t1068 = self.pretty_attrs(opt_val343) + _t1067 = _t1068 else: - _t1065 = None + _t1067 = None self.dedent() self.write(')') return None def pretty_monoid(self, msg: logic_pb2.Monoid) -> Optional[NoReturn]: - def _t1067(_dollar_dollar): + def _t1069(_dollar_dollar): if _dollar_dollar.HasField('or_monoid'): - _t1068 = _dollar_dollar.or_monoid + _t1070 = _dollar_dollar.or_monoid else: - _t1068 = None - return _t1068 - _t1069 = _t1067(msg) - deconstruct_result347 = _t1069 + _t1070 = None + return _t1070 + _t1071 = _t1069(msg) + deconstruct_result347 = _t1071 if deconstruct_result347 is not None: - _t1071 = self.pretty_or_monoid(deconstruct_result347) - _t1070 = _t1071 + _t1073 = self.pretty_or_monoid(deconstruct_result347) + _t1072 = _t1073 else: - def _t1072(_dollar_dollar): + def _t1074(_dollar_dollar): if _dollar_dollar.HasField('min_monoid'): - _t1073 = _dollar_dollar.min_monoid + _t1075 = _dollar_dollar.min_monoid else: - _t1073 = None - return _t1073 - _t1074 = _t1072(msg) - deconstruct_result346 = _t1074 + _t1075 = None + return _t1075 + _t1076 = _t1074(msg) + deconstruct_result346 = _t1076 if deconstruct_result346 is not None: - _t1076 = self.pretty_min_monoid(deconstruct_result346) - _t1075 = _t1076 + _t1078 = self.pretty_min_monoid(deconstruct_result346) + _t1077 = _t1078 else: - def _t1077(_dollar_dollar): + def _t1079(_dollar_dollar): if _dollar_dollar.HasField('max_monoid'): - _t1078 = _dollar_dollar.max_monoid + _t1080 = _dollar_dollar.max_monoid else: - _t1078 = None - return _t1078 - _t1079 = _t1077(msg) - deconstruct_result345 = _t1079 + _t1080 = None + return _t1080 + _t1081 = _t1079(msg) + deconstruct_result345 = _t1081 if deconstruct_result345 is not None: - _t1081 = self.pretty_max_monoid(deconstruct_result345) - _t1080 = _t1081 + _t1083 = self.pretty_max_monoid(deconstruct_result345) + _t1082 = _t1083 else: - def _t1082(_dollar_dollar): + def _t1084(_dollar_dollar): if _dollar_dollar.HasField('sum_monoid'): - _t1083 = _dollar_dollar.sum_monoid + _t1085 = _dollar_dollar.sum_monoid else: - _t1083 = None - return _t1083 - _t1084 = _t1082(msg) - deconstruct_result344 = _t1084 + _t1085 = None + return _t1085 + _t1086 = _t1084(msg) + deconstruct_result344 = _t1086 if deconstruct_result344 is not None: - _t1086 = self.pretty_sum_monoid(deconstruct_result344) - _t1085 = _t1086 + _t1088 = self.pretty_sum_monoid(deconstruct_result344) + _t1087 = _t1088 else: raise ParseError('No matching rule for monoid') - _t1080 = _t1085 - _t1075 = _t1080 - _t1070 = _t1075 - return _t1070 + _t1082 = _t1087 + _t1077 = _t1082 + _t1072 = _t1077 + return _t1072 def pretty_or_monoid(self, msg: logic_pb2.OrMonoid) -> Optional[NoReturn]: - def _t1087(_dollar_dollar): + def _t1089(_dollar_dollar): return _dollar_dollar - _t1088 = _t1087(msg) - fields348 = _t1088 + _t1090 = _t1089(msg) + fields348 = _t1090 assert fields348 is not None unwrapped_fields349 = fields348 self.write('(') @@ -2741,63 +2741,63 @@ def _t1087(_dollar_dollar): return None def pretty_min_monoid(self, msg: logic_pb2.MinMonoid) -> Optional[NoReturn]: - def _t1089(_dollar_dollar): + def _t1091(_dollar_dollar): return _dollar_dollar.type - _t1090 = _t1089(msg) - fields350 = _t1090 + _t1092 = _t1091(msg) + fields350 = _t1092 assert fields350 is not None unwrapped_fields351 = fields350 self.write('(') self.write('min') self.indent() self.newline() - _t1091 = self.pretty_type(unwrapped_fields351) + _t1093 = self.pretty_type(unwrapped_fields351) self.dedent() self.write(')') return None def pretty_max_monoid(self, msg: logic_pb2.MaxMonoid) -> Optional[NoReturn]: - def _t1092(_dollar_dollar): + def _t1094(_dollar_dollar): return _dollar_dollar.type - _t1093 = _t1092(msg) - fields352 = _t1093 + _t1095 = _t1094(msg) + fields352 = _t1095 assert fields352 is not None unwrapped_fields353 = fields352 self.write('(') self.write('max') self.indent() self.newline() - _t1094 = self.pretty_type(unwrapped_fields353) + _t1096 = self.pretty_type(unwrapped_fields353) self.dedent() self.write(')') return None def pretty_sum_monoid(self, msg: logic_pb2.SumMonoid) -> Optional[NoReturn]: - def _t1095(_dollar_dollar): + def _t1097(_dollar_dollar): return _dollar_dollar.type - _t1096 = _t1095(msg) - fields354 = _t1096 + _t1098 = _t1097(msg) + fields354 = _t1098 assert fields354 is not None unwrapped_fields355 = fields354 self.write('(') self.write('sum') self.indent() self.newline() - _t1097 = self.pretty_type(unwrapped_fields355) + _t1099 = self.pretty_type(unwrapped_fields355) self.dedent() self.write(')') return None def pretty_monus_def(self, msg: logic_pb2.MonusDef) -> Optional[NoReturn]: - def _t1098(_dollar_dollar): + def _t1100(_dollar_dollar): if not len(_dollar_dollar.attrs) == 0: - _t1099 = _dollar_dollar.attrs + _t1101 = _dollar_dollar.attrs else: - _t1099 = None - return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1099,) - _t1100 = _t1098(msg) - fields356 = _t1100 + _t1101 = None + return (_dollar_dollar.monoid, _dollar_dollar.name, (_dollar_dollar.body, _dollar_dollar.value_arity,), _t1101,) + _t1102 = _t1100(msg) + fields356 = _t1102 assert fields356 is not None unwrapped_fields357 = fields356 self.write('(') @@ -2805,32 +2805,32 @@ def _t1098(_dollar_dollar): self.indent() self.newline() field358 = unwrapped_fields357[0] - _t1101 = self.pretty_monoid(field358) + _t1103 = self.pretty_monoid(field358) self.newline() field359 = unwrapped_fields357[1] - _t1102 = self.pretty_relation_id(field359) + _t1104 = self.pretty_relation_id(field359) self.newline() field360 = unwrapped_fields357[2] - _t1103 = self.pretty_abstraction_with_arity(field360) + _t1105 = self.pretty_abstraction_with_arity(field360) field361 = unwrapped_fields357[3] if field361 is not None: self.newline() assert field361 is not None opt_val362 = field361 - _t1105 = self.pretty_attrs(opt_val362) - _t1104 = _t1105 + _t1107 = self.pretty_attrs(opt_val362) + _t1106 = _t1107 else: - _t1104 = None + _t1106 = None self.dedent() self.write(')') return None def pretty_constraint(self, msg: logic_pb2.Constraint) -> Optional[NoReturn]: - def _t1106(_dollar_dollar): + def _t1108(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.functional_dependency.guard, _dollar_dollar.functional_dependency.keys, _dollar_dollar.functional_dependency.values,) - _t1107 = _t1106(msg) - fields363 = _t1107 + _t1109 = _t1108(msg) + fields363 = _t1109 assert fields363 is not None unwrapped_fields364 = fields363 self.write('(') @@ -2838,25 +2838,25 @@ def _t1106(_dollar_dollar): self.indent() self.newline() field365 = unwrapped_fields364[0] - _t1108 = self.pretty_relation_id(field365) + _t1110 = self.pretty_relation_id(field365) self.newline() field366 = unwrapped_fields364[1] - _t1109 = self.pretty_abstraction(field366) + _t1111 = self.pretty_abstraction(field366) self.newline() field367 = unwrapped_fields364[2] - _t1110 = self.pretty_functional_dependency_keys(field367) + _t1112 = self.pretty_functional_dependency_keys(field367) self.newline() field368 = unwrapped_fields364[3] - _t1111 = self.pretty_functional_dependency_values(field368) + _t1113 = self.pretty_functional_dependency_values(field368) self.dedent() self.write(')') return None def pretty_functional_dependency_keys(self, msg: Sequence[logic_pb2.Var]) -> Optional[NoReturn]: - def _t1112(_dollar_dollar): + def _t1114(_dollar_dollar): return _dollar_dollar - _t1113 = _t1112(msg) - fields369 = _t1113 + _t1115 = _t1114(msg) + fields369 = _t1115 assert fields369 is not None unwrapped_fields370 = fields369 self.write('(') @@ -2867,16 +2867,16 @@ def _t1112(_dollar_dollar): for i372, elem371 in enumerate(unwrapped_fields370): if (i372 > 0): self.newline() - _t1114 = self.pretty_var(elem371) + _t1116 = self.pretty_var(elem371) self.dedent() self.write(')') return None def pretty_functional_dependency_values(self, msg: Sequence[logic_pb2.Var]) -> Optional[NoReturn]: - def _t1115(_dollar_dollar): + def _t1117(_dollar_dollar): return _dollar_dollar - _t1116 = _t1115(msg) - fields373 = _t1116 + _t1118 = _t1117(msg) + fields373 = _t1118 assert fields373 is not None unwrapped_fields374 = fields373 self.write('(') @@ -2887,64 +2887,64 @@ def _t1115(_dollar_dollar): for i376, elem375 in enumerate(unwrapped_fields374): if (i376 > 0): self.newline() - _t1117 = self.pretty_var(elem375) + _t1119 = self.pretty_var(elem375) self.dedent() self.write(')') return None def pretty_data(self, msg: logic_pb2.Data) -> Optional[NoReturn]: - def _t1118(_dollar_dollar): + def _t1120(_dollar_dollar): if _dollar_dollar.HasField('rel_edb'): - _t1119 = _dollar_dollar.rel_edb + _t1121 = _dollar_dollar.rel_edb else: - _t1119 = None - return _t1119 - _t1120 = _t1118(msg) - deconstruct_result379 = _t1120 + _t1121 = None + return _t1121 + _t1122 = _t1120(msg) + deconstruct_result379 = _t1122 if deconstruct_result379 is not None: - _t1122 = self.pretty_rel_edb(deconstruct_result379) - _t1121 = _t1122 + _t1124 = self.pretty_rel_edb(deconstruct_result379) + _t1123 = _t1124 else: - def _t1123(_dollar_dollar): + def _t1125(_dollar_dollar): if _dollar_dollar.HasField('betree_relation'): - _t1124 = _dollar_dollar.betree_relation + _t1126 = _dollar_dollar.betree_relation else: - _t1124 = None - return _t1124 - _t1125 = _t1123(msg) - deconstruct_result378 = _t1125 + _t1126 = None + return _t1126 + _t1127 = _t1125(msg) + deconstruct_result378 = _t1127 if deconstruct_result378 is not None: - _t1127 = self.pretty_betree_relation(deconstruct_result378) - _t1126 = _t1127 + _t1129 = self.pretty_betree_relation(deconstruct_result378) + _t1128 = _t1129 else: - def _t1128(_dollar_dollar): + def _t1130(_dollar_dollar): if _dollar_dollar.HasField('csv_data'): - _t1129 = _dollar_dollar.csv_data + _t1131 = _dollar_dollar.csv_data else: - _t1129 = None - return _t1129 - _t1130 = _t1128(msg) - deconstruct_result377 = _t1130 + _t1131 = None + return _t1131 + _t1132 = _t1130(msg) + deconstruct_result377 = _t1132 if deconstruct_result377 is not None: - _t1132 = self.pretty_csv_data(deconstruct_result377) - _t1131 = _t1132 + _t1134 = self.pretty_csv_data(deconstruct_result377) + _t1133 = _t1134 else: raise ParseError('No matching rule for data') - _t1126 = _t1131 - _t1121 = _t1126 - return _t1121 + _t1128 = _t1133 + _t1123 = _t1128 + return _t1123 def pretty_rel_edb(self, msg: logic_pb2.RelEDB) -> Optional[NoReturn]: - def _t1133(_dollar_dollar): + def _t1135(_dollar_dollar): return (_dollar_dollar.target_id, _dollar_dollar.path, _dollar_dollar.types,) - _t1134 = _t1133(msg) - fields380 = _t1134 + _t1136 = _t1135(msg) + fields380 = _t1136 assert fields380 is not None unwrapped_fields381 = fields380 self.write('(') @@ -2952,22 +2952,22 @@ def _t1133(_dollar_dollar): self.indent() self.newline() field382 = unwrapped_fields381[0] - _t1135 = self.pretty_relation_id(field382) + _t1137 = self.pretty_relation_id(field382) self.newline() field383 = unwrapped_fields381[1] - _t1136 = self.pretty_rel_edb_path(field383) + _t1138 = self.pretty_rel_edb_path(field383) self.newline() field384 = unwrapped_fields381[2] - _t1137 = self.pretty_rel_edb_types(field384) + _t1139 = self.pretty_rel_edb_types(field384) self.dedent() self.write(')') return None def pretty_rel_edb_path(self, msg: Sequence[str]) -> Optional[NoReturn]: - def _t1138(_dollar_dollar): + def _t1140(_dollar_dollar): return _dollar_dollar - _t1139 = _t1138(msg) - fields385 = _t1139 + _t1141 = _t1140(msg) + fields385 = _t1141 assert fields385 is not None unwrapped_fields386 = fields385 self.write('[') @@ -2979,25 +2979,25 @@ def _t1138(_dollar_dollar): return None def pretty_rel_edb_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1140(_dollar_dollar): + def _t1142(_dollar_dollar): return _dollar_dollar - _t1141 = _t1140(msg) - fields389 = _t1141 + _t1143 = _t1142(msg) + fields389 = _t1143 assert fields389 is not None unwrapped_fields390 = fields389 self.write('[') for i392, elem391 in enumerate(unwrapped_fields390): if (i392 > 0): self.newline() - _t1142 = self.pretty_type(elem391) + _t1144 = self.pretty_type(elem391) self.write(']') return None def pretty_betree_relation(self, msg: logic_pb2.BeTreeRelation) -> Optional[NoReturn]: - def _t1143(_dollar_dollar): + def _t1145(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.relation_info,) - _t1144 = _t1143(msg) - fields393 = _t1144 + _t1146 = _t1145(msg) + fields393 = _t1146 assert fields393 is not None unwrapped_fields394 = fields393 self.write('(') @@ -3005,20 +3005,20 @@ def _t1143(_dollar_dollar): self.indent() self.newline() field395 = unwrapped_fields394[0] - _t1145 = self.pretty_relation_id(field395) + _t1147 = self.pretty_relation_id(field395) self.newline() field396 = unwrapped_fields394[1] - _t1146 = self.pretty_betree_info(field396) + _t1148 = self.pretty_betree_info(field396) self.dedent() self.write(')') return None def pretty_betree_info(self, msg: logic_pb2.BeTreeInfo) -> Optional[NoReturn]: - def _t1147(_dollar_dollar): - _t1148 = self.deconstruct_betree_info_config(_dollar_dollar) - return (_dollar_dollar.key_types, _dollar_dollar.value_types, _t1148,) - _t1149 = _t1147(msg) - fields397 = _t1149 + def _t1149(_dollar_dollar): + _t1150 = self.deconstruct_betree_info_config(_dollar_dollar) + return (_dollar_dollar.key_types, _dollar_dollar.value_types, _t1150,) + _t1151 = _t1149(msg) + fields397 = _t1151 assert fields397 is not None unwrapped_fields398 = fields397 self.write('(') @@ -3026,22 +3026,22 @@ def _t1147(_dollar_dollar): self.indent() self.newline() field399 = unwrapped_fields398[0] - _t1150 = self.pretty_betree_info_key_types(field399) + _t1152 = self.pretty_betree_info_key_types(field399) self.newline() field400 = unwrapped_fields398[1] - _t1151 = self.pretty_betree_info_value_types(field400) + _t1153 = self.pretty_betree_info_value_types(field400) self.newline() field401 = unwrapped_fields398[2] - _t1152 = self.pretty_config_dict(field401) + _t1154 = self.pretty_config_dict(field401) self.dedent() self.write(')') return None def pretty_betree_info_key_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1153(_dollar_dollar): + def _t1155(_dollar_dollar): return _dollar_dollar - _t1154 = _t1153(msg) - fields402 = _t1154 + _t1156 = _t1155(msg) + fields402 = _t1156 assert fields402 is not None unwrapped_fields403 = fields402 self.write('(') @@ -3052,16 +3052,16 @@ def _t1153(_dollar_dollar): for i405, elem404 in enumerate(unwrapped_fields403): if (i405 > 0): self.newline() - _t1155 = self.pretty_type(elem404) + _t1157 = self.pretty_type(elem404) self.dedent() self.write(')') return None def pretty_betree_info_value_types(self, msg: Sequence[logic_pb2.Type]) -> Optional[NoReturn]: - def _t1156(_dollar_dollar): + def _t1158(_dollar_dollar): return _dollar_dollar - _t1157 = _t1156(msg) - fields406 = _t1157 + _t1159 = _t1158(msg) + fields406 = _t1159 assert fields406 is not None unwrapped_fields407 = fields406 self.write('(') @@ -3072,16 +3072,16 @@ def _t1156(_dollar_dollar): for i409, elem408 in enumerate(unwrapped_fields407): if (i409 > 0): self.newline() - _t1158 = self.pretty_type(elem408) + _t1160 = self.pretty_type(elem408) self.dedent() self.write(')') return None def pretty_csv_data(self, msg: logic_pb2.CSVData) -> Optional[NoReturn]: - def _t1159(_dollar_dollar): + def _t1161(_dollar_dollar): return (_dollar_dollar.locator, _dollar_dollar.config, _dollar_dollar.columns, _dollar_dollar.asof,) - _t1160 = _t1159(msg) - fields410 = _t1160 + _t1162 = _t1161(msg) + fields410 = _t1162 assert fields410 is not None unwrapped_fields411 = fields410 self.write('(') @@ -3089,35 +3089,35 @@ def _t1159(_dollar_dollar): self.indent() self.newline() field412 = unwrapped_fields411[0] - _t1161 = self.pretty_csvlocator(field412) + _t1163 = self.pretty_csvlocator(field412) self.newline() field413 = unwrapped_fields411[1] - _t1162 = self.pretty_csv_config(field413) + _t1164 = self.pretty_csv_config(field413) self.newline() field414 = unwrapped_fields411[2] - _t1163 = self.pretty_csv_columns(field414) + _t1165 = self.pretty_csv_columns(field414) self.newline() field415 = unwrapped_fields411[3] - _t1164 = self.pretty_csv_asof(field415) + _t1166 = self.pretty_csv_asof(field415) self.dedent() self.write(')') return None def pretty_csvlocator(self, msg: logic_pb2.CSVLocator) -> Optional[NoReturn]: - def _t1165(_dollar_dollar): + def _t1167(_dollar_dollar): if not len(_dollar_dollar.paths) == 0: - _t1166 = _dollar_dollar.paths + _t1168 = _dollar_dollar.paths else: - _t1166 = None + _t1168 = None if _dollar_dollar.inline_data.decode('utf-8') != '': - _t1167 = _dollar_dollar.inline_data.decode('utf-8') + _t1169 = _dollar_dollar.inline_data.decode('utf-8') else: - _t1167 = None - return (_t1166, _t1167,) - _t1168 = _t1165(msg) - fields416 = _t1168 + _t1169 = None + return (_t1168, _t1169,) + _t1170 = _t1167(msg) + fields416 = _t1170 assert fields416 is not None unwrapped_fields417 = fields416 self.write('(') @@ -3129,29 +3129,29 @@ def _t1165(_dollar_dollar): self.newline() assert field418 is not None opt_val419 = field418 - _t1170 = self.pretty_csv_locator_paths(opt_val419) - _t1169 = _t1170 + _t1172 = self.pretty_csv_locator_paths(opt_val419) + _t1171 = _t1172 else: - _t1169 = None + _t1171 = None field420 = unwrapped_fields417[1] if field420 is not None: self.newline() assert field420 is not None opt_val421 = field420 - _t1172 = self.pretty_csv_locator_inline_data(opt_val421) - _t1171 = _t1172 + _t1174 = self.pretty_csv_locator_inline_data(opt_val421) + _t1173 = _t1174 else: - _t1171 = None + _t1173 = None self.dedent() self.write(')') return None def pretty_csv_locator_paths(self, msg: Sequence[str]) -> Optional[NoReturn]: - def _t1173(_dollar_dollar): + def _t1175(_dollar_dollar): return _dollar_dollar - _t1174 = _t1173(msg) - fields422 = _t1174 + _t1176 = _t1175(msg) + fields422 = _t1176 assert fields422 is not None unwrapped_fields423 = fields422 self.write('(') @@ -3168,10 +3168,10 @@ def _t1173(_dollar_dollar): return None def pretty_csv_locator_inline_data(self, msg: str) -> Optional[NoReturn]: - def _t1175(_dollar_dollar): + def _t1177(_dollar_dollar): return _dollar_dollar - _t1176 = _t1175(msg) - fields426 = _t1176 + _t1178 = _t1177(msg) + fields426 = _t1178 assert fields426 is not None unwrapped_fields427 = fields426 self.write('(') @@ -3184,27 +3184,27 @@ def _t1175(_dollar_dollar): return None def pretty_csv_config(self, msg: logic_pb2.CSVConfig) -> Optional[NoReturn]: - def _t1177(_dollar_dollar): - _t1178 = self.deconstruct_csv_config(_dollar_dollar) - return _t1178 - _t1179 = _t1177(msg) - fields428 = _t1179 + def _t1179(_dollar_dollar): + _t1180 = self.deconstruct_csv_config(_dollar_dollar) + return _t1180 + _t1181 = _t1179(msg) + fields428 = _t1181 assert fields428 is not None unwrapped_fields429 = fields428 self.write('(') self.write('csv_config') self.indent() self.newline() - _t1180 = self.pretty_config_dict(unwrapped_fields429) + _t1182 = self.pretty_config_dict(unwrapped_fields429) self.dedent() self.write(')') return None def pretty_csv_columns(self, msg: Sequence[logic_pb2.CSVColumn]) -> Optional[NoReturn]: - def _t1181(_dollar_dollar): + def _t1183(_dollar_dollar): return _dollar_dollar - _t1182 = _t1181(msg) - fields430 = _t1182 + _t1184 = _t1183(msg) + fields430 = _t1184 assert fields430 is not None unwrapped_fields431 = fields430 self.write('(') @@ -3215,16 +3215,16 @@ def _t1181(_dollar_dollar): for i433, elem432 in enumerate(unwrapped_fields431): if (i433 > 0): self.newline() - _t1183 = self.pretty_csv_column(elem432) + _t1185 = self.pretty_csv_column(elem432) self.dedent() self.write(')') return None def pretty_csv_column(self, msg: logic_pb2.CSVColumn) -> Optional[NoReturn]: - def _t1184(_dollar_dollar): + def _t1186(_dollar_dollar): return (_dollar_dollar.column_name, _dollar_dollar.target_id, _dollar_dollar.types,) - _t1185 = _t1184(msg) - fields434 = _t1185 + _t1187 = _t1186(msg) + fields434 = _t1187 assert fields434 is not None unwrapped_fields435 = fields434 self.write('(') @@ -3235,24 +3235,24 @@ def _t1184(_dollar_dollar): self.write(self.format_string_value(field436)) self.newline() field437 = unwrapped_fields435[1] - _t1186 = self.pretty_relation_id(field437) + _t1188 = self.pretty_relation_id(field437) self.newline() self.write('[') field438 = unwrapped_fields435[2] for i440, elem439 in enumerate(field438): if (i440 > 0): self.newline() - _t1187 = self.pretty_type(elem439) + _t1189 = self.pretty_type(elem439) self.write(']') self.dedent() self.write(')') return None def pretty_csv_asof(self, msg: str) -> Optional[NoReturn]: - def _t1188(_dollar_dollar): + def _t1190(_dollar_dollar): return _dollar_dollar - _t1189 = _t1188(msg) - fields441 = _t1189 + _t1191 = _t1190(msg) + fields441 = _t1191 assert fields441 is not None unwrapped_fields442 = fields441 self.write('(') @@ -3265,26 +3265,26 @@ def _t1188(_dollar_dollar): return None def pretty_undefine(self, msg: transactions_pb2.Undefine) -> Optional[NoReturn]: - def _t1190(_dollar_dollar): + def _t1192(_dollar_dollar): return _dollar_dollar.fragment_id - _t1191 = _t1190(msg) - fields443 = _t1191 + _t1193 = _t1192(msg) + fields443 = _t1193 assert fields443 is not None unwrapped_fields444 = fields443 self.write('(') self.write('undefine') self.indent() self.newline() - _t1192 = self.pretty_fragment_id(unwrapped_fields444) + _t1194 = self.pretty_fragment_id(unwrapped_fields444) self.dedent() self.write(')') return None def pretty_context(self, msg: transactions_pb2.Context) -> Optional[NoReturn]: - def _t1193(_dollar_dollar): + def _t1195(_dollar_dollar): return _dollar_dollar.relations - _t1194 = _t1193(msg) - fields445 = _t1194 + _t1196 = _t1195(msg) + fields445 = _t1196 assert fields445 is not None unwrapped_fields446 = fields445 self.write('(') @@ -3295,16 +3295,16 @@ def _t1193(_dollar_dollar): for i448, elem447 in enumerate(unwrapped_fields446): if (i448 > 0): self.newline() - _t1195 = self.pretty_relation_id(elem447) + _t1197 = self.pretty_relation_id(elem447) self.dedent() self.write(')') return None def pretty_epoch_reads(self, msg: Sequence[transactions_pb2.Read]) -> Optional[NoReturn]: - def _t1196(_dollar_dollar): + def _t1198(_dollar_dollar): return _dollar_dollar - _t1197 = _t1196(msg) - fields449 = _t1197 + _t1199 = _t1198(msg) + fields449 = _t1199 assert fields449 is not None unwrapped_fields450 = fields449 self.write('(') @@ -3315,110 +3315,110 @@ def _t1196(_dollar_dollar): for i452, elem451 in enumerate(unwrapped_fields450): if (i452 > 0): self.newline() - _t1198 = self.pretty_read(elem451) + _t1200 = self.pretty_read(elem451) self.dedent() self.write(')') return None def pretty_read(self, msg: transactions_pb2.Read) -> Optional[NoReturn]: - def _t1199(_dollar_dollar): + def _t1201(_dollar_dollar): if _dollar_dollar.HasField('demand'): - _t1200 = _dollar_dollar.demand + _t1202 = _dollar_dollar.demand else: - _t1200 = None - return _t1200 - _t1201 = _t1199(msg) - deconstruct_result457 = _t1201 + _t1202 = None + return _t1202 + _t1203 = _t1201(msg) + deconstruct_result457 = _t1203 if deconstruct_result457 is not None: - _t1203 = self.pretty_demand(deconstruct_result457) - _t1202 = _t1203 + _t1205 = self.pretty_demand(deconstruct_result457) + _t1204 = _t1205 else: - def _t1204(_dollar_dollar): + def _t1206(_dollar_dollar): if _dollar_dollar.HasField('output'): - _t1205 = _dollar_dollar.output + _t1207 = _dollar_dollar.output else: - _t1205 = None - return _t1205 - _t1206 = _t1204(msg) - deconstruct_result456 = _t1206 + _t1207 = None + return _t1207 + _t1208 = _t1206(msg) + deconstruct_result456 = _t1208 if deconstruct_result456 is not None: - _t1208 = self.pretty_output(deconstruct_result456) - _t1207 = _t1208 + _t1210 = self.pretty_output(deconstruct_result456) + _t1209 = _t1210 else: - def _t1209(_dollar_dollar): + def _t1211(_dollar_dollar): if _dollar_dollar.HasField('what_if'): - _t1210 = _dollar_dollar.what_if + _t1212 = _dollar_dollar.what_if else: - _t1210 = None - return _t1210 - _t1211 = _t1209(msg) - deconstruct_result455 = _t1211 + _t1212 = None + return _t1212 + _t1213 = _t1211(msg) + deconstruct_result455 = _t1213 if deconstruct_result455 is not None: - _t1213 = self.pretty_what_if(deconstruct_result455) - _t1212 = _t1213 + _t1215 = self.pretty_what_if(deconstruct_result455) + _t1214 = _t1215 else: - def _t1214(_dollar_dollar): + def _t1216(_dollar_dollar): if _dollar_dollar.HasField('abort'): - _t1215 = _dollar_dollar.abort + _t1217 = _dollar_dollar.abort else: - _t1215 = None - return _t1215 - _t1216 = _t1214(msg) - deconstruct_result454 = _t1216 + _t1217 = None + return _t1217 + _t1218 = _t1216(msg) + deconstruct_result454 = _t1218 if deconstruct_result454 is not None: - _t1218 = self.pretty_abort(deconstruct_result454) - _t1217 = _t1218 + _t1220 = self.pretty_abort(deconstruct_result454) + _t1219 = _t1220 else: - def _t1219(_dollar_dollar): + def _t1221(_dollar_dollar): if _dollar_dollar.HasField('export'): - _t1220 = _dollar_dollar.export + _t1222 = _dollar_dollar.export else: - _t1220 = None - return _t1220 - _t1221 = _t1219(msg) - deconstruct_result453 = _t1221 + _t1222 = None + return _t1222 + _t1223 = _t1221(msg) + deconstruct_result453 = _t1223 if deconstruct_result453 is not None: - _t1223 = self.pretty_export(deconstruct_result453) - _t1222 = _t1223 + _t1225 = self.pretty_export(deconstruct_result453) + _t1224 = _t1225 else: raise ParseError('No matching rule for read') - _t1217 = _t1222 - _t1212 = _t1217 - _t1207 = _t1212 - _t1202 = _t1207 - return _t1202 + _t1219 = _t1224 + _t1214 = _t1219 + _t1209 = _t1214 + _t1204 = _t1209 + return _t1204 def pretty_demand(self, msg: transactions_pb2.Demand) -> Optional[NoReturn]: - def _t1224(_dollar_dollar): + def _t1226(_dollar_dollar): return _dollar_dollar.relation_id - _t1225 = _t1224(msg) - fields458 = _t1225 + _t1227 = _t1226(msg) + fields458 = _t1227 assert fields458 is not None unwrapped_fields459 = fields458 self.write('(') self.write('demand') self.indent() self.newline() - _t1226 = self.pretty_relation_id(unwrapped_fields459) + _t1228 = self.pretty_relation_id(unwrapped_fields459) self.dedent() self.write(')') return None def pretty_output(self, msg: transactions_pb2.Output) -> Optional[NoReturn]: - def _t1227(_dollar_dollar): + def _t1229(_dollar_dollar): return (_dollar_dollar.name, _dollar_dollar.relation_id,) - _t1228 = _t1227(msg) - fields460 = _t1228 + _t1230 = _t1229(msg) + fields460 = _t1230 assert fields460 is not None unwrapped_fields461 = fields460 self.write('(') @@ -3426,19 +3426,19 @@ def _t1227(_dollar_dollar): self.indent() self.newline() field462 = unwrapped_fields461[0] - _t1229 = self.pretty_name(field462) + _t1231 = self.pretty_name(field462) self.newline() field463 = unwrapped_fields461[1] - _t1230 = self.pretty_relation_id(field463) + _t1232 = self.pretty_relation_id(field463) self.dedent() self.write(')') return None def pretty_what_if(self, msg: transactions_pb2.WhatIf) -> Optional[NoReturn]: - def _t1231(_dollar_dollar): + def _t1233(_dollar_dollar): return (_dollar_dollar.branch, _dollar_dollar.epoch,) - _t1232 = _t1231(msg) - fields464 = _t1232 + _t1234 = _t1233(msg) + fields464 = _t1234 assert fields464 is not None unwrapped_fields465 = fields464 self.write('(') @@ -3446,24 +3446,24 @@ def _t1231(_dollar_dollar): self.indent() self.newline() field466 = unwrapped_fields465[0] - _t1233 = self.pretty_name(field466) + _t1235 = self.pretty_name(field466) self.newline() field467 = unwrapped_fields465[1] - _t1234 = self.pretty_epoch(field467) + _t1236 = self.pretty_epoch(field467) self.dedent() self.write(')') return None def pretty_abort(self, msg: transactions_pb2.Abort) -> Optional[NoReturn]: - def _t1235(_dollar_dollar): + def _t1237(_dollar_dollar): if _dollar_dollar.name != 'abort': - _t1236 = _dollar_dollar.name + _t1238 = _dollar_dollar.name else: - _t1236 = None - return (_t1236, _dollar_dollar.relation_id,) - _t1237 = _t1235(msg) - fields468 = _t1237 + _t1238 = None + return (_t1238, _dollar_dollar.relation_id,) + _t1239 = _t1237(msg) + fields468 = _t1239 assert fields468 is not None unwrapped_fields469 = fields468 self.write('(') @@ -3475,92 +3475,82 @@ def _t1235(_dollar_dollar): self.newline() assert field470 is not None opt_val471 = field470 - _t1239 = self.pretty_name(opt_val471) - _t1238 = _t1239 + _t1241 = self.pretty_name(opt_val471) + _t1240 = _t1241 else: - _t1238 = None + _t1240 = None self.newline() field472 = unwrapped_fields469[1] - _t1240 = self.pretty_relation_id(field472) + _t1242 = self.pretty_relation_id(field472) self.dedent() self.write(')') return None def pretty_export(self, msg: transactions_pb2.Export) -> Optional[NoReturn]: - def _t1241(_dollar_dollar): + def _t1243(_dollar_dollar): return _dollar_dollar.csv_config - _t1242 = _t1241(msg) - fields473 = _t1242 + _t1244 = _t1243(msg) + fields473 = _t1244 assert fields473 is not None unwrapped_fields474 = fields473 self.write('(') self.write('export') self.indent() self.newline() - _t1243 = self.pretty_export_csv_config(unwrapped_fields474) + _t1245 = self.pretty_export_csv_config(unwrapped_fields474) self.dedent() self.write(')') return None def pretty_export_csv_config(self, msg: transactions_pb2.ExportCSVConfig) -> Optional[NoReturn]: - def _t1244(_dollar_dollar): + def _t1246(_dollar_dollar): if len(_dollar_dollar.data_columns) == 0: - _t1245 = (_dollar_dollar.path, _dollar_dollar.csv_source, _dollar_dollar.csv_config,) + _t1247 = (_dollar_dollar.path, _dollar_dollar.csv_source, _dollar_dollar.csv_config,) else: - _t1245 = None - return _t1245 - _t1246 = _t1244(msg) - deconstruct_result481 = _t1246 - if deconstruct_result481 is not None: + _t1247 = None + return _t1247 + _t1248 = _t1246(msg) + deconstruct_result479 = _t1248 + if deconstruct_result479 is not None: self.write('(') self.write('export_csv_config_v2') self.indent() self.newline() - field482 = deconstruct_result481[0] - _t1247 = self.pretty_export_csv_path(field482) + field480 = deconstruct_result479[0] + _t1249 = self.pretty_export_csv_path(field480) self.newline() - field483 = deconstruct_result481[1] - _t1248 = self.pretty_export_csv_source(field483) + field481 = deconstruct_result479[1] + _t1250 = self.pretty_export_csv_source(field481) self.newline() - field484 = deconstruct_result481[2] - _t1249 = self.pretty_csv_config(field484) + field482 = deconstruct_result479[2] + _t1251 = self.pretty_csv_config(field482) self.dedent() self.write(')') else: - def _t1250(_dollar_dollar): + def _t1252(_dollar_dollar): if len(_dollar_dollar.data_columns) != 0: - _t1252 = self.deconstruct_export_csv_config(_dollar_dollar) - _t1251 = (_dollar_dollar.path, _dollar_dollar.data_columns, _t1252,) + _t1254 = self.deconstruct_export_csv_config(_dollar_dollar) + _t1253 = (_dollar_dollar.path, _dollar_dollar.data_columns, _t1254,) else: - _t1251 = None - return _t1251 - _t1253 = _t1250(msg) - deconstruct_result475 = _t1253 + _t1253 = None + return _t1253 + _t1255 = _t1252(msg) + deconstruct_result475 = _t1255 if deconstruct_result475 is not None: self.write('(') self.write('export_csv_config') self.indent() self.newline() field476 = deconstruct_result475[0] - _t1254 = self.pretty_export_csv_path(field476) - self.newline() - self.write('(') + _t1256 = self.pretty_export_csv_path(field476) self.newline() - self.write('columns') field477 = deconstruct_result475[1] - if not len(field477) == 0: - self.newline() - for i479, elem478 in enumerate(field477): - if (i479 > 0): - self.newline() - _t1255 = self.pretty_export_csv_column(elem478) - self.dedent() - self.write(')') + _t1257 = self.pretty_export_csv_columns(field477) self.newline() - field480 = deconstruct_result475[2] - _t1256 = self.pretty_config_dict(field480) + field478 = deconstruct_result475[2] + _t1258 = self.pretty_config_dict(field478) self.dedent() self.write(')') else: @@ -3568,59 +3558,59 @@ def _t1250(_dollar_dollar): return None def pretty_export_csv_path(self, msg: str) -> Optional[NoReturn]: - def _t1257(_dollar_dollar): + def _t1259(_dollar_dollar): return _dollar_dollar - _t1258 = _t1257(msg) - fields485 = _t1258 - assert fields485 is not None - unwrapped_fields486 = fields485 + _t1260 = _t1259(msg) + fields483 = _t1260 + assert fields483 is not None + unwrapped_fields484 = fields483 self.write('(') self.write('path') self.indent() self.newline() - self.write(self.format_string_value(unwrapped_fields486)) + self.write(self.format_string_value(unwrapped_fields484)) self.dedent() self.write(')') return None def pretty_export_csv_source(self, msg: transactions_pb2.ExportCSVSource) -> Optional[NoReturn]: - def _t1259(_dollar_dollar): + def _t1261(_dollar_dollar): if _dollar_dollar.HasField('gnf_columns'): - _t1260 = _dollar_dollar.gnf_columns.columns + _t1262 = _dollar_dollar.gnf_columns.columns else: - _t1260 = None - return _t1260 - _t1261 = _t1259(msg) - deconstruct_result488 = _t1261 - if deconstruct_result488 is not None: + _t1262 = None + return _t1262 + _t1263 = _t1261(msg) + deconstruct_result486 = _t1263 + if deconstruct_result486 is not None: self.write('(') self.write('gnf_columns') self.indent() - if not len(deconstruct_result488) == 0: + if not len(deconstruct_result486) == 0: self.newline() - for i490, elem489 in enumerate(deconstruct_result488): - if (i490 > 0): + for i488, elem487 in enumerate(deconstruct_result486): + if (i488 > 0): self.newline() - _t1262 = self.pretty_export_csv_column(elem489) + _t1264 = self.pretty_export_csv_column(elem487) self.dedent() self.write(')') else: - def _t1263(_dollar_dollar): + def _t1265(_dollar_dollar): if _dollar_dollar.HasField('table_def'): - _t1264 = _dollar_dollar.table_def + _t1266 = _dollar_dollar.table_def else: - _t1264 = None - return _t1264 - _t1265 = _t1263(msg) - deconstruct_result487 = _t1265 - if deconstruct_result487 is not None: + _t1266 = None + return _t1266 + _t1267 = _t1265(msg) + deconstruct_result485 = _t1267 + if deconstruct_result485 is not None: self.write('(') self.write('table_def') self.indent() self.newline() - _t1266 = self.pretty_relation_id(deconstruct_result487) + _t1268 = self.pretty_relation_id(deconstruct_result485) self.dedent() self.write(')') else: @@ -3628,21 +3618,41 @@ def _t1263(_dollar_dollar): return None def pretty_export_csv_column(self, msg: transactions_pb2.ExportCSVColumn) -> Optional[NoReturn]: - def _t1267(_dollar_dollar): + def _t1269(_dollar_dollar): return (_dollar_dollar.column_name, _dollar_dollar.column_data,) - _t1268 = _t1267(msg) - fields491 = _t1268 - assert fields491 is not None - unwrapped_fields492 = fields491 + _t1270 = _t1269(msg) + fields489 = _t1270 + assert fields489 is not None + unwrapped_fields490 = fields489 self.write('(') self.write('column') self.indent() self.newline() - field493 = unwrapped_fields492[0] - self.write(self.format_string_value(field493)) + field491 = unwrapped_fields490[0] + self.write(self.format_string_value(field491)) self.newline() - field494 = unwrapped_fields492[1] - _t1269 = self.pretty_relation_id(field494) + field492 = unwrapped_fields490[1] + _t1271 = self.pretty_relation_id(field492) + self.dedent() + self.write(')') + return None + + def pretty_export_csv_columns(self, msg: Sequence[transactions_pb2.ExportCSVColumn]) -> Optional[NoReturn]: + def _t1272(_dollar_dollar): + return _dollar_dollar + _t1273 = _t1272(msg) + fields493 = _t1273 + assert fields493 is not None + unwrapped_fields494 = fields493 + self.write('(') + self.write('columns') + self.indent() + if not len(unwrapped_fields494) == 0: + self.newline() + for i496, elem495 in enumerate(unwrapped_fields494): + if (i496 > 0): + self.newline() + _t1274 = self.pretty_export_csv_column(elem495) self.dedent() self.write(')') return None From 028f7f93261d4d4b5ea7c4965f990b47d9eef4b3 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 15:33:33 +1100 Subject: [PATCH 18/27] Update Go pretty printer --- sdks/go/src/print.go | 103 +++++++++++++++++++++++++++++++------------ 1 file changed, 75 insertions(+), 28 deletions(-) diff --git a/sdks/go/src/print.go b/sdks/go/src/print.go index 7a57fe2a..1cbcddbf 100644 --- a/sdks/go/src/print.go +++ b/sdks/go/src/print.go @@ -433,6 +433,9 @@ func (pp PrettyParams) pprint(node interface{}) { configDict["csv_decimal_separator"] = n.GetDecimalSeparator() configDict["csv_encoding"] = n.GetEncoding() configDict["csv_compression"] = n.GetCompression() + if n.GetPartitionSizeMb() != 0 { + configDict["csv_partition_size_mb"] = n.GetPartitionSizeMb() + } pp.configDictToStr(configDict) }) }) @@ -1019,40 +1022,84 @@ func (pp PrettyParams) pprint(node interface{}) { }) } - case *pb.ExportCSVConfig: - pp.PARENS(func(pp PrettyParams) { - pp.Write("export_csv_config") - pp.NEWLINE() - pp.INDENT(2, func(pp PrettyParams) { - pp.PARENS(func(pp PrettyParams) { - pp.Write("path") - pp.SPACE() - pp.pprint(n.GetPath()) + case *pb.ExportCSVSource: + if gnfColumns := n.GetGnfColumns(); gnfColumns != nil { + pp.PARENS(func(pp PrettyParams) { + pp.Write("gnf_columns") + if len(gnfColumns.GetColumns()) > 0 { + pp.NEWLINE() + pp.INDENT(2, func(pp PrettyParams) { + vsep(pp, gnfColumns.GetColumns(), "", func(col *pb.ExportCSVColumn) { + pp.pprint(col) + }) + }) + } + }) + } else if tableDef := n.GetTableDef(); tableDef != nil { + pp.PARENS(func(pp PrettyParams) { + pp.Write("table_def") + pp.NEWLINE() + pp.INDENT(2, func(pp PrettyParams) { + pp.pprint(tableDef) }) + }) + } + + case *pb.ExportCSVConfig: + // Check if this is v2 format (with csv_source) or old format (with data_columns) + if len(n.GetDataColumns()) == 0 { + // v2 format: export_csv_config_v2 + pp.PARENS(func(pp PrettyParams) { + pp.Write("export_csv_config_v2") pp.NEWLINE() - pp.PARENS(func(pp PrettyParams) { - pp.Write("columns") - pp.SPACE() - hsep(pp, n.GetDataColumns(), " ", func(x *pb.ExportCSVColumn) { - pp.pprint(x) + pp.INDENT(2, func(pp PrettyParams) { + pp.PARENS(func(pp PrettyParams) { + pp.Write("path") + pp.SPACE() + pp.pprint(n.GetPath()) }) + pp.NEWLINE() + pp.pprint(n.GetCsvSource()) + pp.NEWLINE() + pp.pprint(n.GetCsvConfig()) }) + }) + } else { + // Old format: export_csv_config + pp.PARENS(func(pp PrettyParams) { + pp.Write("export_csv_config") pp.NEWLINE() - configDict := make(map[string]interface{}) - configDict["partition_size"] = n.GetPartitionSize() - configDict["compression"] = n.GetCompression() - if n.GetSyntaxHeaderRow() { - configDict["syntax_header_row"] = 1 - } else { - configDict["syntax_header_row"] = 0 - } - configDict["syntax_missing_string"] = n.GetSyntaxMissingString() - configDict["syntax_delim"] = n.GetSyntaxDelim() - configDict["syntax_quotechar"] = n.GetSyntaxQuotechar() - configDict["syntax_escapechar"] = n.GetSyntaxEscapechar() - pp.configDictToStr(configDict) + pp.INDENT(2, func(pp PrettyParams) { + pp.PARENS(func(pp PrettyParams) { + pp.Write("path") + pp.SPACE() + pp.pprint(n.GetPath()) + }) + pp.NEWLINE() + pp.PARENS(func(pp PrettyParams) { + pp.Write("columns") + pp.SPACE() + hsep(pp, n.GetDataColumns(), " ", func(x *pb.ExportCSVColumn) { + pp.pprint(x) + }) + }) + pp.NEWLINE() + configDict := make(map[string]interface{}) + configDict["partition_size"] = n.GetPartitionSize() + configDict["compression"] = n.GetCompression() + if n.GetSyntaxHeaderRow() { + configDict["syntax_header_row"] = 1 + } else { + configDict["syntax_header_row"] = 0 + } + configDict["syntax_missing_string"] = n.GetSyntaxMissingString() + configDict["syntax_delim"] = n.GetSyntaxDelim() + configDict["syntax_quotechar"] = n.GetSyntaxQuotechar() + configDict["syntax_escapechar"] = n.GetSyntaxEscapechar() + pp.configDictToStr(configDict) + }) }) - }) + } case *pb.ExportCSVColumn: pp.PARENS(func(pp PrettyParams) { From 6993438afce57cd80bfac3fcf528ac1831911ea6 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 15:33:39 +1100 Subject: [PATCH 19/27] Update pretty snapshots --- tests/pretty/csv_export_v2.lqp | 573 +++++++++++------------------- tests/pretty/simple_export_v2.lqp | 51 ++- 2 files changed, 226 insertions(+), 398 deletions(-) diff --git a/tests/pretty/csv_export_v2.lqp b/tests/pretty/csv_export_v2.lqp index 06e5345d..beee9c72 100644 --- a/tests/pretty/csv_export_v2.lqp +++ b/tests/pretty/csv_export_v2.lqp @@ -1,442 +1,281 @@ (transaction (configure { :ivm.maintenance_level "off" - :semantics_version 0}) + :semantics_version 0}) (epoch (writes (define - (fragment - :f1 - (def - :users - ([id::INT - name::STRING - score::FLOAT] (or - (and - (= - id - 100) - (= - name - "Alice") - (= - score - 95.5)) - (and - (= - id - 200) - (= - name - "Bob") - (= - score - 87.3))))) - (def - :products - ([id::INT - name::STRING - price::(DECIMAL - 10 - 2) - active::BOOLEAN] (or - (and - (= - id - 1) - (= - name - "Widget") - (= - price - 19.99) - (= - active - true)) - (and - (= - id - 2) - (= - name - "Gadget") - (= - price - 29.5) - (= - active - false))))) - (def - :events - ([event_id::INT - timestamp::DATETIME - description::STRING] (or - (and - (= - event_id - 1) - (= - timestamp - (datetime - 2025 - 1 - 1 - 10 - 30 - 0 - 0)) - (= - description - "Start")) - (and - (= - event_id - 2) - (= - timestamp - (datetime - 2025 - 1 - 2 - 14 - 45 - 0 - 0)) - (= - description - "End"))))) - (def - :simple - ([key::STRING - value::INT] (or - (and - (= - key - "a") - (= - value - 1)) - (and - (= - key - "b") - (= - value - 2))))) - (def - :names - ([name::STRING] (or - (= - name - "Alice") - (= - name - "Bob") - (= - name - "Carol")))) - (def - :col_id - ([row::INT - v::INT] (or - (and - (= - row - 1) - (= - v - 100)) - (and - (= - row - 2) - (= - v - 200)) - (and - (= - row - 3) - (= - v - 300))))) - (def - :col_name - ([row::INT - v::STRING] (or - (and - (= - row - 1) - (= - v - "Alice")) - (and - (= - row - 2) - (= - v - "Bob")) - (and - (= - row - 3) - (= - v - "Carol"))))) - (def - :col_score - ([row::INT - v::FLOAT] (or - (and - (= - row - 1) - (= - v - 95.5)) - (and - (= - row - 2) - (= - v - 87.3)) - (and - (= - row - 3) - (= - v - 92.0))))) - (def - :col_active - ([row::INT - v::BOOLEAN] (or - (and - (= - row - 1) - (= - v - true)) - (and - (= - row - 2) - (= - v - false)) - (and - (= - row - 3) - (= - v - true)))))))) + (fragment :f1 + (def :users + ([id::INT name::STRING score::FLOAT] + (or + (and + (primitive :rel_primitive_eq id 100) + (primitive :rel_primitive_eq name "Alice") + (primitive :rel_primitive_eq score 95.5)) + (and + (primitive :rel_primitive_eq id 200) + (primitive :rel_primitive_eq name "Bob") + (primitive :rel_primitive_eq score 87.3))))) + (def :products + ([id::INT name::STRING price::(DECIMAL 10 2) active::BOOLEAN] + (or + (and + (primitive :rel_primitive_eq id 1) + (primitive :rel_primitive_eq name "Widget") + (primitive :rel_primitive_eq price 19.99) + (primitive :rel_primitive_eq active true)) + (and + (primitive :rel_primitive_eq id 2) + (primitive :rel_primitive_eq name "Gadget") + (primitive :rel_primitive_eq price 29.5) + (primitive :rel_primitive_eq active false))))) + (def :events + ([event_id::INT timestamp::DATETIME description::STRING] + (or + (and + (primitive :rel_primitive_eq event_id 1) + (primitive :rel_primitive_eq timestamp (datetime 2025 1 1 10 30 0 0)) + (primitive :rel_primitive_eq description "Start")) + (and + (primitive :rel_primitive_eq event_id 2) + (primitive :rel_primitive_eq timestamp (datetime 2025 1 2 14 45 0 0)) + (primitive :rel_primitive_eq description "End"))))) + (def :simple + ([key::STRING value::INT] + (or + (and + (primitive :rel_primitive_eq key "a") + (primitive :rel_primitive_eq value 1)) + (and + (primitive :rel_primitive_eq key "b") + (primitive :rel_primitive_eq value 2))))) + (def :names + ([name::STRING] + (or + (primitive :rel_primitive_eq name "Alice") + (primitive :rel_primitive_eq name "Bob") + (primitive :rel_primitive_eq name "Carol")))) + (def :col_id + ([row::INT v::INT] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v 100)) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v 200)) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v 300))))) + (def :col_name + ([row::INT v::STRING] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v "Alice")) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v "Bob")) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v "Carol"))))) + (def :col_score + ([row::INT v::FLOAT] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v 95.5)) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v 87.3)) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v 92.0))))) + (def :col_active + ([row::INT v::BOOLEAN] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v true)) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v false)) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v true)))))))) (reads (export (export_csv_config_v2 - (path - "users_basic.csv") + (path "users_basic.csv") (table_def :users) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "users_pipe.csv") + (path "users_pipe.csv") (table_def :users) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "|" - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "|" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "users_compressed.csv.gz") + (path "users_compressed.csv.gz") (table_def :users) (csv_config { :csv_compression "gzip" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_partition_size_mb 1000 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 1000 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "products.csv") + (path "products.csv") (table_def :products) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "events.csv") + (path "events.csv") (table_def :events) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "users.tsv") + (path "users.tsv") (table_def :users) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "\t" - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "\t" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "simple_no_header.csv") + (path "simple_no_header.csv") (table_def :simple) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 0 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 0 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "names_only.csv") + (path "names_only.csv") (table_def :names) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "gnf_all_columns.csv") + (path "gnf_all_columns.csv") (gnf_columns - (column - "id" - :col_id) - (column - "name" - :col_name) - (column - "score" - :col_score) - (column - "active" - :col_active)) + (column "id" :col_id) + (column "name" :col_name) + (column "score" :col_score) + (column "active" :col_active)) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "gnf_subset.csv") + (path "gnf_subset.csv") (gnf_columns - (column - "user_id" - :col_id) - (column - "user_name" - :col_name)) + (column "user_id" :col_id) + (column "user_name" :col_name)) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "gnf_custom.csv.gz") + (path "gnf_custom.csv.gz") (gnf_columns - (column - "id" - :col_id) - (column - "score" - :col_score)) + (column "id" :col_id) + (column "score" :col_score)) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 - (path - "gnf_single.csv") + (path "gnf_single.csv") (gnf_columns - (column - "score" - :col_score)) + (column "score" :col_score)) (csv_config { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0})))))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0})))))) diff --git a/tests/pretty/simple_export_v2.lqp b/tests/pretty/simple_export_v2.lqp index 017f430a..bdcaddc6 100644 --- a/tests/pretty/simple_export_v2.lqp +++ b/tests/pretty/simple_export_v2.lqp @@ -1,44 +1,33 @@ (transaction (configure { :ivm.maintenance_level "off" - :semantics_version 0}) + :semantics_version 0}) (epoch (writes (define - (fragment - :f1 - (def - :my_table - ([col1::INT - col2::STRING] (or - (and - (= - col1 - 1) - (= - col2 - "hello")) - (and - (= - col1 - 2) - (= - col2 - "world")))))))) + (fragment :f1 + (def :my_table + ([col1::INT col2::STRING] + (or + (and + (primitive :rel_primitive_eq col1 1) + (primitive :rel_primitive_eq col2 "hello")) + (and + (primitive :rel_primitive_eq col1 2) + (primitive :rel_primitive_eq col2 "world")))))))) (reads (export (export_csv_config_v2 - (path - "output.csv") + (path "output.csv") (table_def :my_table) (csv_config { :csv_compression "" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_partition_size_mb 10 - :csv_quotechar "\"" - :csv_skip 0})))))) + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 10 + :csv_quotechar "\"" + :csv_skip 0})))))) From 150f48bebbece978bfe894335532107c3a02b6fa Mon Sep 17 00:00:00 2001 From: David Zhao Date: Wed, 18 Feb 2026 16:00:59 +1100 Subject: [PATCH 20/27] Add csv_export attr to test --- tests/bin/simple_export_v2.bin | Bin 343 -> 357 bytes tests/lqp/simple_export_v2.lqp | 4 +++- tests/pretty/simple_export_v2.lqp | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/bin/simple_export_v2.bin b/tests/bin/simple_export_v2.bin index acfda40a1eeb76d236bb0c9d9a48264136201b95..5b4459f8837fa6a4d7d90a239c34bbd42e344997 100644 GIT binary patch delta 49 zcmcc4^pr`Q>kbpwLMExLCND(hP-uGjjcyDE@|*hl?w@xGX-kq9DJhWHJ+D FC;(c14tM|n delta 35 rcmaFLbe&0@>l_o;WG1c&OkBN8Tr6BnX@){?8M$6f6n`^WkTC=RsoDv+ diff --git a/tests/lqp/simple_export_v2.lqp b/tests/lqp/simple_export_v2.lqp index f66d8376..e3a06c4a 100644 --- a/tests/lqp/simple_export_v2.lqp +++ b/tests/lqp/simple_export_v2.lqp @@ -7,7 +7,9 @@ ([col1::INT col2::STRING] (or (and (= col1 1) (= col2 "hello")) - (and (= col1 2) (= col2 "world")))))))) + (and (= col1 2) (= col2 "world")))) + (attrs + (attribute :csv_export)))))) (reads (export diff --git a/tests/pretty/simple_export_v2.lqp b/tests/pretty/simple_export_v2.lqp index bdcaddc6..0d294bc7 100644 --- a/tests/pretty/simple_export_v2.lqp +++ b/tests/pretty/simple_export_v2.lqp @@ -14,7 +14,9 @@ (primitive :rel_primitive_eq col2 "hello")) (and (primitive :rel_primitive_eq col1 2) - (primitive :rel_primitive_eq col2 "world")))))))) + (primitive :rel_primitive_eq col2 "world")))) + (attrs + (attribute :csv_export)))))) (reads (export (export_csv_config_v2 From bf6c9a241295c9a2460ac811f22e32368e2d93a4 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Thu, 19 Feb 2026 16:01:40 +1100 Subject: [PATCH 21/27] No need for ignoring validator --- meta/src/meta/grammar.y | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/src/meta/grammar.y b/meta/src/meta/grammar.y index cd6e5ffd..2d099ae8 100644 --- a/meta/src/meta/grammar.y +++ b/meta/src/meta/grammar.y @@ -178,8 +178,6 @@ %validator_ignore_completeness BeTreeLocator %validator_ignore_completeness BeTreeConfig %validator_ignore_completeness ExportCSVColumns -%validator_ignore_completeness ExportCSVSource -%validator_ignore_completeness CSVConfig %% From 8528f23d6a9eddfb5b46ffd2548044d668c88f47 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Thu, 19 Feb 2026 16:04:30 +1100 Subject: [PATCH 22/27] Update snaps --- tests/pretty/csv_export_v2.lqp | 389 +++++++++++++----------------- tests/pretty/simple_export_v2.lqp | 43 ++-- 2 files changed, 192 insertions(+), 240 deletions(-) diff --git a/tests/pretty/csv_export_v2.lqp b/tests/pretty/csv_export_v2.lqp index beee9c72..852c4bc0 100644 --- a/tests/pretty/csv_export_v2.lqp +++ b/tests/pretty/csv_export_v2.lqp @@ -1,223 +1,183 @@ (transaction - (configure - { :ivm.maintenance_level "off" - :semantics_version 0}) + (configure { :ivm.maintenance_level "off" :semantics_version 0}) (epoch (writes (define - (fragment :f1 - (def :users + (fragment + :f1 + (def + :users ([id::INT name::STRING score::FLOAT] - (or - (and - (primitive :rel_primitive_eq id 100) - (primitive :rel_primitive_eq name "Alice") - (primitive :rel_primitive_eq score 95.5)) - (and - (primitive :rel_primitive_eq id 200) - (primitive :rel_primitive_eq name "Bob") - (primitive :rel_primitive_eq score 87.3))))) - (def :products + (or + (and (= id 100) (= name "Alice") (= score 95.5)) + (and (= id 200) (= name "Bob") (= score 87.3))))) + (def + :products ([id::INT name::STRING price::(DECIMAL 10 2) active::BOOLEAN] - (or - (and - (primitive :rel_primitive_eq id 1) - (primitive :rel_primitive_eq name "Widget") - (primitive :rel_primitive_eq price 19.99) - (primitive :rel_primitive_eq active true)) - (and - (primitive :rel_primitive_eq id 2) - (primitive :rel_primitive_eq name "Gadget") - (primitive :rel_primitive_eq price 29.5) - (primitive :rel_primitive_eq active false))))) - (def :events + (or + (and (= id 1) (= name "Widget") (= price 19.99) (= active true)) + (and (= id 2) (= name "Gadget") (= price 29.5) (= active false))))) + (def + :events ([event_id::INT timestamp::DATETIME description::STRING] - (or - (and - (primitive :rel_primitive_eq event_id 1) - (primitive :rel_primitive_eq timestamp (datetime 2025 1 1 10 30 0 0)) - (primitive :rel_primitive_eq description "Start")) - (and - (primitive :rel_primitive_eq event_id 2) - (primitive :rel_primitive_eq timestamp (datetime 2025 1 2 14 45 0 0)) - (primitive :rel_primitive_eq description "End"))))) - (def :simple + (or + (and + (= event_id 1) + (= timestamp (datetime 2025 1 1 10 30 0 0)) + (= description "Start")) + (and + (= event_id 2) + (= timestamp (datetime 2025 1 2 14 45 0 0)) + (= description "End"))))) + (def + :simple ([key::STRING value::INT] - (or - (and - (primitive :rel_primitive_eq key "a") - (primitive :rel_primitive_eq value 1)) - (and - (primitive :rel_primitive_eq key "b") - (primitive :rel_primitive_eq value 2))))) - (def :names - ([name::STRING] - (or - (primitive :rel_primitive_eq name "Alice") - (primitive :rel_primitive_eq name "Bob") - (primitive :rel_primitive_eq name "Carol")))) - (def :col_id + (or (and (= key "a") (= value 1)) (and (= key "b") (= value 2))))) + (def + :names + ([name::STRING] (or (= name "Alice") (= name "Bob") (= name "Carol")))) + (def + :col_id ([row::INT v::INT] - (or - (and - (primitive :rel_primitive_eq row 1) - (primitive :rel_primitive_eq v 100)) - (and - (primitive :rel_primitive_eq row 2) - (primitive :rel_primitive_eq v 200)) - (and - (primitive :rel_primitive_eq row 3) - (primitive :rel_primitive_eq v 300))))) - (def :col_name + (or + (and (= row 1) (= v 100)) + (and (= row 2) (= v 200)) + (and (= row 3) (= v 300))))) + (def + :col_name ([row::INT v::STRING] - (or - (and - (primitive :rel_primitive_eq row 1) - (primitive :rel_primitive_eq v "Alice")) - (and - (primitive :rel_primitive_eq row 2) - (primitive :rel_primitive_eq v "Bob")) - (and - (primitive :rel_primitive_eq row 3) - (primitive :rel_primitive_eq v "Carol"))))) - (def :col_score + (or + (and (= row 1) (= v "Alice")) + (and (= row 2) (= v "Bob")) + (and (= row 3) (= v "Carol"))))) + (def + :col_score ([row::INT v::FLOAT] - (or - (and - (primitive :rel_primitive_eq row 1) - (primitive :rel_primitive_eq v 95.5)) - (and - (primitive :rel_primitive_eq row 2) - (primitive :rel_primitive_eq v 87.3)) - (and - (primitive :rel_primitive_eq row 3) - (primitive :rel_primitive_eq v 92.0))))) - (def :col_active + (or + (and (= row 1) (= v 95.5)) + (and (= row 2) (= v 87.3)) + (and (= row 3) (= v 92.0))))) + (def + :col_active ([row::INT v::BOOLEAN] - (or - (and - (primitive :rel_primitive_eq row 1) - (primitive :rel_primitive_eq v true)) - (and - (primitive :rel_primitive_eq row 2) - (primitive :rel_primitive_eq v false)) - (and - (primitive :rel_primitive_eq row 3) - (primitive :rel_primitive_eq v true)))))))) + (or + (and (= row 1) (= v true)) + (and (= row 2) (= v false)) + (and (= row 3) (= v true)))))))) (reads (export (export_csv_config_v2 (path "users_basic.csv") - (table_def - :users) + (table_def :users) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "users_pipe.csv") - (table_def - :users) + (table_def :users) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "|" - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "|" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "users_compressed.csv.gz") - (table_def - :users) + (table_def :users) (csv_config - { :csv_compression "gzip" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_partition_size_mb 1000 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "gzip" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 1000 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "products.csv") - (table_def - :products) + (table_def :products) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "events.csv") - (table_def - :events) + (table_def :events) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "users.tsv") - (table_def - :users) + (table_def :users) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "\t" - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "\t" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "simple_no_header.csv") - (table_def - :simple) + (table_def :simple) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 0 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 0 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "names_only.csv") - (table_def - :names) + (table_def :names) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "gnf_all_columns.csv") @@ -227,55 +187,54 @@ (column "score" :col_score) (column "active" :col_active)) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "gnf_subset.csv") - (gnf_columns - (column "user_id" :col_id) - (column "user_name" :col_name)) + (gnf_columns (column "user_id" :col_id) (column "user_name" :col_name)) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "gnf_custom.csv.gz") - (gnf_columns - (column "id" :col_id) - (column "score" :col_score)) + (gnf_columns (column "id" :col_id) (column "score" :col_score)) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0}))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) (export (export_csv_config_v2 (path "gnf_single.csv") - (gnf_columns - (column "score" :col_score)) + (gnf_columns (column "score" :col_score)) (csv_config - { :csv_compression "auto" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\"" - :csv_header_row 1 - :csv_quotechar "\"" - :csv_skip 0})))))) + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0})))))) diff --git a/tests/pretty/simple_export_v2.lqp b/tests/pretty/simple_export_v2.lqp index 0d294bc7..e03071e4 100644 --- a/tests/pretty/simple_export_v2.lqp +++ b/tests/pretty/simple_export_v2.lqp @@ -1,35 +1,28 @@ (transaction - (configure - { :ivm.maintenance_level "off" - :semantics_version 0}) + (configure { :ivm.maintenance_level "off" :semantics_version 0}) (epoch (writes (define - (fragment :f1 - (def :my_table + (fragment + :f1 + (def + :my_table ([col1::INT col2::STRING] - (or - (and - (primitive :rel_primitive_eq col1 1) - (primitive :rel_primitive_eq col2 "hello")) - (and - (primitive :rel_primitive_eq col1 2) - (primitive :rel_primitive_eq col2 "world")))) - (attrs - (attribute :csv_export)))))) + (or (and (= col1 1) (= col2 "hello")) (and (= col1 2) (= col2 "world")))) + (attrs (attribute :csv_export)))))) (reads (export (export_csv_config_v2 (path "output.csv") - (table_def - :my_table) + (table_def :my_table) (csv_config - { :csv_compression "" - :csv_decimal_separator "." - :csv_delimiter "," - :csv_encoding "utf-8" - :csv_escapechar "\\" - :csv_header_row 1 - :csv_partition_size_mb 10 - :csv_quotechar "\"" - :csv_skip 0})))))) + { + :csv_compression "" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 10 + :csv_quotechar "\"" + :csv_skip 0})))))) From b5c3da9af0adca21642eb2278fcd269195448719 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Thu, 19 Feb 2026 16:15:27 +1100 Subject: [PATCH 23/27] Update go snaps --- sdks/go/test/pretty/csv_export_v2.lqp | 281 +++++++++++++++++++++++ sdks/go/test/pretty/simple_export_v2.lqp | 35 +++ 2 files changed, 316 insertions(+) create mode 100644 sdks/go/test/pretty/csv_export_v2.lqp create mode 100644 sdks/go/test/pretty/simple_export_v2.lqp diff --git a/sdks/go/test/pretty/csv_export_v2.lqp b/sdks/go/test/pretty/csv_export_v2.lqp new file mode 100644 index 00000000..beee9c72 --- /dev/null +++ b/sdks/go/test/pretty/csv_export_v2.lqp @@ -0,0 +1,281 @@ +(transaction + (configure + { :ivm.maintenance_level "off" + :semantics_version 0}) + (epoch + (writes + (define + (fragment :f1 + (def :users + ([id::INT name::STRING score::FLOAT] + (or + (and + (primitive :rel_primitive_eq id 100) + (primitive :rel_primitive_eq name "Alice") + (primitive :rel_primitive_eq score 95.5)) + (and + (primitive :rel_primitive_eq id 200) + (primitive :rel_primitive_eq name "Bob") + (primitive :rel_primitive_eq score 87.3))))) + (def :products + ([id::INT name::STRING price::(DECIMAL 10 2) active::BOOLEAN] + (or + (and + (primitive :rel_primitive_eq id 1) + (primitive :rel_primitive_eq name "Widget") + (primitive :rel_primitive_eq price 19.99) + (primitive :rel_primitive_eq active true)) + (and + (primitive :rel_primitive_eq id 2) + (primitive :rel_primitive_eq name "Gadget") + (primitive :rel_primitive_eq price 29.5) + (primitive :rel_primitive_eq active false))))) + (def :events + ([event_id::INT timestamp::DATETIME description::STRING] + (or + (and + (primitive :rel_primitive_eq event_id 1) + (primitive :rel_primitive_eq timestamp (datetime 2025 1 1 10 30 0 0)) + (primitive :rel_primitive_eq description "Start")) + (and + (primitive :rel_primitive_eq event_id 2) + (primitive :rel_primitive_eq timestamp (datetime 2025 1 2 14 45 0 0)) + (primitive :rel_primitive_eq description "End"))))) + (def :simple + ([key::STRING value::INT] + (or + (and + (primitive :rel_primitive_eq key "a") + (primitive :rel_primitive_eq value 1)) + (and + (primitive :rel_primitive_eq key "b") + (primitive :rel_primitive_eq value 2))))) + (def :names + ([name::STRING] + (or + (primitive :rel_primitive_eq name "Alice") + (primitive :rel_primitive_eq name "Bob") + (primitive :rel_primitive_eq name "Carol")))) + (def :col_id + ([row::INT v::INT] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v 100)) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v 200)) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v 300))))) + (def :col_name + ([row::INT v::STRING] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v "Alice")) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v "Bob")) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v "Carol"))))) + (def :col_score + ([row::INT v::FLOAT] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v 95.5)) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v 87.3)) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v 92.0))))) + (def :col_active + ([row::INT v::BOOLEAN] + (or + (and + (primitive :rel_primitive_eq row 1) + (primitive :rel_primitive_eq v true)) + (and + (primitive :rel_primitive_eq row 2) + (primitive :rel_primitive_eq v false)) + (and + (primitive :rel_primitive_eq row 3) + (primitive :rel_primitive_eq v true)))))))) + (reads + (export + (export_csv_config_v2 + (path "users_basic.csv") + (table_def + :users) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "users_pipe.csv") + (table_def + :users) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "|" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "users_compressed.csv.gz") + (table_def + :users) + (csv_config + { :csv_compression "gzip" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 1000 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "products.csv") + (table_def + :products) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "events.csv") + (table_def + :events) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "users.tsv") + (table_def + :users) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "\t" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "simple_no_header.csv") + (table_def + :simple) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 0 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "names_only.csv") + (table_def + :names) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_all_columns.csv") + (gnf_columns + (column "id" :col_id) + (column "name" :col_name) + (column "score" :col_score) + (column "active" :col_active)) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_subset.csv") + (gnf_columns + (column "user_id" :col_id) + (column "user_name" :col_name)) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_custom.csv.gz") + (gnf_columns + (column "id" :col_id) + (column "score" :col_score)) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_single.csv") + (gnf_columns + (column "score" :col_score)) + (csv_config + { :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0})))))) diff --git a/sdks/go/test/pretty/simple_export_v2.lqp b/sdks/go/test/pretty/simple_export_v2.lqp new file mode 100644 index 00000000..0d294bc7 --- /dev/null +++ b/sdks/go/test/pretty/simple_export_v2.lqp @@ -0,0 +1,35 @@ +(transaction + (configure + { :ivm.maintenance_level "off" + :semantics_version 0}) + (epoch + (writes + (define + (fragment :f1 + (def :my_table + ([col1::INT col2::STRING] + (or + (and + (primitive :rel_primitive_eq col1 1) + (primitive :rel_primitive_eq col2 "hello")) + (and + (primitive :rel_primitive_eq col1 2) + (primitive :rel_primitive_eq col2 "world")))) + (attrs + (attribute :csv_export)))))) + (reads + (export + (export_csv_config_v2 + (path "output.csv") + (table_def + :my_table) + (csv_config + { :csv_compression "" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 10 + :csv_quotechar "\"" + :csv_skip 0})))))) From 9de602ea6e0022431bab9fb7b4bb3e364538b47f Mon Sep 17 00:00:00 2001 From: David Zhao Date: Mon, 23 Feb 2026 07:44:03 +1100 Subject: [PATCH 24/27] Update grammar --- meta/src/meta/grammar.y | 4 ++-- sdks/go/src/parser.go | 4 ++-- sdks/julia/LogicalQueryProtocol.jl/src/parser.jl | 4 ++-- sdks/python/src/lqp/gen/parser.py | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/meta/src/meta/grammar.y b/meta/src/meta/grammar.y index 5355fcc8..5b07e5bd 100644 --- a/meta/src/meta/grammar.y +++ b/meta/src/meta/grammar.y @@ -1199,7 +1199,7 @@ def construct_csv_config(config_dict: Sequence[Tuple[String, logic.Value]]) -> l decimal_separator: str = _extract_value_string(builtin.dict_get(config, "csv_decimal_separator"), ".") encoding: str = _extract_value_string(builtin.dict_get(config, "csv_encoding"), "utf-8") compression: str = _extract_value_string(builtin.dict_get(config, "csv_compression"), "auto") - partition_size: int = _extract_value_int64(builtin.dict_get(config, "csv_partition_size_mb"), 0) + partition_size_mb: int = _extract_value_int64(builtin.dict_get(config, "csv_partition_size_mb"), 0) return logic.CSVConfig( header_row=header_row, skip=skip, @@ -1212,7 +1212,7 @@ def construct_csv_config(config_dict: Sequence[Tuple[String, logic.Value]]) -> l decimal_separator=decimal_separator, encoding=encoding, compression=compression, - partition_size_mb=partition_size, + partition_size_mb=partition_size_mb, ) diff --git a/sdks/go/src/parser.go b/sdks/go/src/parser.go index 0386a2db..e7b5d38a 100644 --- a/sdks/go/src/parser.go +++ b/sdks/go/src/parser.go @@ -629,8 +629,8 @@ func (p *Parser) construct_csv_config(config_dict [][]interface{}) *pb.CSVConfig _t1380 := p._extract_value_string(dictGetValue(config, "csv_compression"), "auto") compression := _t1380 _t1381 := p._extract_value_int64(dictGetValue(config, "csv_partition_size_mb"), 0) - partition_size := _t1381 - _t1382 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size} + partition_size_mb := _t1381 + _t1382 := &pb.CSVConfig{HeaderRow: header_row, Skip: skip, NewLine: new_line, Delimiter: delimiter, Quotechar: quotechar, Escapechar: escapechar, Comment: comment, MissingStrings: missing_strings, DecimalSeparator: decimal_separator, Encoding: encoding, Compression: compression, PartitionSizeMb: partition_size_mb} return _t1382 } diff --git a/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl b/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl index 21b5b267..859de80b 100644 --- a/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl +++ b/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl @@ -407,8 +407,8 @@ function construct_csv_config(parser::ParserState, config_dict::Vector{Tuple{Str _t1369 = _extract_value_string(parser, get(config, "csv_compression", nothing), "auto") compression = _t1369 _t1370 = _extract_value_int64(parser, get(config, "csv_partition_size_mb", nothing), 0) - partition_size = _t1370 - _t1371 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + partition_size_mb = _t1370 + _t1371 = Proto.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size_mb) return _t1371 end diff --git a/sdks/python/src/lqp/gen/parser.py b/sdks/python/src/lqp/gen/parser.py index bb298ce9..af34f079 100644 --- a/sdks/python/src/lqp/gen/parser.py +++ b/sdks/python/src/lqp/gen/parser.py @@ -437,8 +437,8 @@ def construct_csv_config(self, config_dict: Sequence[tuple[str, logic_pb2.Value] _t1378 = self._extract_value_string(config.get("csv_compression"), "auto") compression = _t1378 _t1379 = self._extract_value_int64(config.get("csv_partition_size_mb"), 0) - partition_size = _t1379 - _t1380 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size) + partition_size_mb = _t1379 + _t1380 = logic_pb2.CSVConfig(header_row=header_row, skip=skip, new_line=new_line, delimiter=delimiter, quotechar=quotechar, escapechar=escapechar, comment=comment, missing_strings=missing_strings, decimal_separator=decimal_separator, encoding=encoding, compression=compression, partition_size_mb=partition_size_mb) return _t1380 def construct_betree_info(self, key_types: Sequence[logic_pb2.Type], value_types: Sequence[logic_pb2.Type], config_dict: Sequence[tuple[str, logic_pb2.Value]]) -> logic_pb2.BeTreeInfo: From 7aadddaa56cc21573e520f1fe366a451c720bf1a Mon Sep 17 00:00:00 2001 From: David Zhao Date: Mon, 23 Feb 2026 10:09:48 +1100 Subject: [PATCH 25/27] Fix grammar --- meta/src/meta/grammar.y | 6 +++--- sdks/go/src/parser.go | 8 ++++---- sdks/go/src/pretty.go | 8 ++++---- sdks/julia/LogicalQueryProtocol.jl/src/parser.jl | 8 ++++---- sdks/julia/LogicalQueryProtocol.jl/src/pretty.jl | 8 ++++---- sdks/python/src/lqp/gen/parser.py | 8 ++++---- sdks/python/src/lqp/gen/pretty.py | 6 +++--- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/meta/src/meta/grammar.y b/meta/src/meta/grammar.y index 5b07e5bd..4d1623af 100644 --- a/meta/src/meta/grammar.y +++ b/meta/src/meta/grammar.y @@ -98,7 +98,7 @@ %nonterm exists logic.Exists %nonterm export transactions.Export %nonterm export_csv_column transactions.ExportCSVColumn -%nonterm export_csv_columns Sequence[transactions.ExportCSVColumn] +%nonterm export_csv_columns_list Sequence[transactions.ExportCSVColumn] %nonterm export_csv_config transactions.ExportCSVConfig %nonterm export_csv_path String %nonterm export_csv_source transactions.ExportCSVSource @@ -1070,7 +1070,7 @@ export_csv_config $3: String = $$.path $4: transactions.ExportCSVSource = $$.csv_source $5: logic.CSVConfig = $$.csv_config - | "(" "export_csv_config" export_csv_path export_csv_columns config_dict ")" + | "(" "export_csv_config" export_csv_path export_csv_columns_list config_dict ")" construct: $$ = construct_export_csv_config($3, $4, $5) deconstruct if builtin.length($$.data_columns) != 0: $3: String = $$.path @@ -1080,7 +1080,7 @@ export_csv_config export_csv_path : "(" "path" STRING ")" -export_csv_columns +export_csv_columns_list : "(" "columns" export_csv_column* ")" export_csv_column diff --git a/sdks/go/src/parser.go b/sdks/go/src/parser.go index e7b5d38a..7262a008 100644 --- a/sdks/go/src/parser.go +++ b/sdks/go/src/parser.go @@ -3724,12 +3724,12 @@ func (p *Parser) parse_export_csv_config() *pb.ExportCSVConfig { p.consumeLiteral("export_csv_config") _t1339 := p.parse_export_csv_path() export_csv_path716 := _t1339 - _t1340 := p.parse_export_csv_columns() - export_csv_columns717 := _t1340 + _t1340 := p.parse_export_csv_columns_list() + export_csv_columns_list717 := _t1340 _t1341 := p.parse_config_dict() config_dict718 := _t1341 p.consumeLiteral(")") - _t1342 := p.construct_export_csv_config(export_csv_path716, export_csv_columns717, config_dict718) + _t1342 := p.construct_export_csv_config(export_csv_path716, export_csv_columns_list717, config_dict718) _t1338 = _t1342 } else { var _t1343 *pb.ExportCSVConfig @@ -3829,7 +3829,7 @@ func (p *Parser) parse_export_csv_column() *pb.ExportCSVColumn { return _t1359 } -func (p *Parser) parse_export_csv_columns() []*pb.ExportCSVColumn { +func (p *Parser) parse_export_csv_columns_list() []*pb.ExportCSVColumn { p.consumeLiteral("(") p.consumeLiteral("columns") xs728 := []*pb.ExportCSVColumn{} diff --git a/sdks/go/src/pretty.go b/sdks/go/src/pretty.go index 81925f19..d74e5c7a 100644 --- a/sdks/go/src/pretty.go +++ b/sdks/go/src/pretty.go @@ -4326,7 +4326,7 @@ func (p *PrettyPrinter) pretty_export_csv_config(msg *pb.ExportCSVConfig) interf p.pretty_export_csv_path(field1255) p.newline() field1256 := unwrapped1254[1].([]*pb.ExportCSVColumn) - p.pretty_export_csv_columns(field1256) + p.pretty_export_csv_columns_list(field1256) p.newline() field1257 := unwrapped1254[2].([][]interface{}) p.pretty_config_dict(field1257) @@ -4443,8 +4443,8 @@ func (p *PrettyPrinter) pretty_export_csv_column(msg *pb.ExportCSVColumn) interf return nil } -func (p *PrettyPrinter) pretty_export_csv_columns(msg []*pb.ExportCSVColumn) interface{} { - flat1281 := p.tryFlat(msg, func() { p.pretty_export_csv_columns(msg) }) +func (p *PrettyPrinter) pretty_export_csv_columns_list(msg []*pb.ExportCSVColumn) interface{} { + flat1281 := p.tryFlat(msg, func() { p.pretty_export_csv_columns_list(msg) }) if flat1281 != nil { p.write(*flat1281) return nil @@ -4830,7 +4830,7 @@ func (p *PrettyPrinter) pprintDispatch(msg interface{}) { case *pb.ExportCSVColumn: p.pretty_export_csv_column(m) case []*pb.ExportCSVColumn: - p.pretty_export_csv_columns(m) + p.pretty_export_csv_columns_list(m) case *pb.DebugInfo: p.pretty_debug_info(m) case *pb.BeTreeConfig: diff --git a/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl b/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl index 859de80b..eb879357 100644 --- a/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl +++ b/sdks/julia/LogicalQueryProtocol.jl/src/parser.jl @@ -3171,12 +3171,12 @@ function parse_export_csv_config(parser::ParserState)::Proto.ExportCSVConfig consume_literal!(parser, "export_csv_config") _t1328 = parse_export_csv_path(parser) export_csv_path716 = _t1328 - _t1329 = parse_export_csv_columns(parser) - export_csv_columns717 = _t1329 + _t1329 = parse_export_csv_columns_list(parser) + export_csv_columns_list717 = _t1329 _t1330 = parse_config_dict(parser) config_dict718 = _t1330 consume_literal!(parser, ")") - _t1331 = construct_export_csv_config(parser, export_csv_path716, export_csv_columns717, config_dict718) + _t1331 = construct_export_csv_config(parser, export_csv_path716, export_csv_columns_list717, config_dict718) _t1327 = _t1331 else if prediction712 == 0 @@ -3268,7 +3268,7 @@ function parse_export_csv_column(parser::ParserState)::Proto.ExportCSVColumn return _t1348 end -function parse_export_csv_columns(parser::ParserState)::Vector{Proto.ExportCSVColumn} +function parse_export_csv_columns_list(parser::ParserState)::Vector{Proto.ExportCSVColumn} consume_literal!(parser, "(") consume_literal!(parser, "columns") xs728 = Proto.ExportCSVColumn[] diff --git a/sdks/julia/LogicalQueryProtocol.jl/src/pretty.jl b/sdks/julia/LogicalQueryProtocol.jl/src/pretty.jl index ad6a64cb..f328f89d 100644 --- a/sdks/julia/LogicalQueryProtocol.jl/src/pretty.jl +++ b/sdks/julia/LogicalQueryProtocol.jl/src/pretty.jl @@ -4463,7 +4463,7 @@ function pretty_export_csv_config(pp::PrettyPrinter, msg::Proto.ExportCSVConfig) pretty_export_csv_path(pp, field1255) newline(pp) field1256 = unwrapped1254[2] - pretty_export_csv_columns(pp, field1256) + pretty_export_csv_columns_list(pp, field1256) newline(pp) field1257 = unwrapped1254[3] pretty_config_dict(pp, field1257) @@ -4583,8 +4583,8 @@ function pretty_export_csv_column(pp::PrettyPrinter, msg::Proto.ExportCSVColumn) return nothing end -function pretty_export_csv_columns(pp::PrettyPrinter, msg::Vector{Proto.ExportCSVColumn}) - flat1281 = try_flat(pp, msg, pretty_export_csv_columns) +function pretty_export_csv_columns_list(pp::PrettyPrinter, msg::Vector{Proto.ExportCSVColumn}) + flat1281 = try_flat(pp, msg, pretty_export_csv_columns_list) if !isnothing(flat1281) write(pp, flat1281) return nothing @@ -4879,7 +4879,7 @@ _pprint_dispatch(pp::PrettyPrinter, x::Proto.Export) = pretty_export(pp, x) _pprint_dispatch(pp::PrettyPrinter, x::Proto.ExportCSVConfig) = pretty_export_csv_config(pp, x) _pprint_dispatch(pp::PrettyPrinter, x::Proto.ExportCSVSource) = pretty_export_csv_source(pp, x) _pprint_dispatch(pp::PrettyPrinter, x::Proto.ExportCSVColumn) = pretty_export_csv_column(pp, x) -_pprint_dispatch(pp::PrettyPrinter, x::Vector{Proto.ExportCSVColumn}) = pretty_export_csv_columns(pp, x) +_pprint_dispatch(pp::PrettyPrinter, x::Vector{Proto.ExportCSVColumn}) = pretty_export_csv_columns_list(pp, x) _pprint_dispatch(pp::PrettyPrinter, x::Proto.DebugInfo) = pretty_debug_info(pp, x) _pprint_dispatch(pp::PrettyPrinter, x::Proto.BeTreeConfig) = pretty_be_tree_config(pp, x) _pprint_dispatch(pp::PrettyPrinter, x::Proto.BeTreeLocator) = pretty_be_tree_locator(pp, x) diff --git a/sdks/python/src/lqp/gen/parser.py b/sdks/python/src/lqp/gen/parser.py index af34f079..6373abfa 100644 --- a/sdks/python/src/lqp/gen/parser.py +++ b/sdks/python/src/lqp/gen/parser.py @@ -2829,12 +2829,12 @@ def parse_export_csv_config(self) -> transactions_pb2.ExportCSVConfig: self.consume_literal("export_csv_config") _t1328 = self.parse_export_csv_path() export_csv_path716 = _t1328 - _t1329 = self.parse_export_csv_columns() - export_csv_columns717 = _t1329 + _t1329 = self.parse_export_csv_columns_list() + export_csv_columns_list717 = _t1329 _t1330 = self.parse_config_dict() config_dict718 = _t1330 self.consume_literal(")") - _t1331 = self.construct_export_csv_config(export_csv_path716, export_csv_columns717, config_dict718) + _t1331 = self.construct_export_csv_config(export_csv_path716, export_csv_columns_list717, config_dict718) _t1327 = _t1331 else: if prediction712 == 0: @@ -2914,7 +2914,7 @@ def parse_export_csv_column(self) -> transactions_pb2.ExportCSVColumn: _t1348 = transactions_pb2.ExportCSVColumn(column_name=string726, column_data=relation_id727) return _t1348 - def parse_export_csv_columns(self) -> Sequence[transactions_pb2.ExportCSVColumn]: + def parse_export_csv_columns_list(self) -> Sequence[transactions_pb2.ExportCSVColumn]: self.consume_literal("(") self.consume_literal("columns") xs728 = [] diff --git a/sdks/python/src/lqp/gen/pretty.py b/sdks/python/src/lqp/gen/pretty.py index db2274ce..7d7a99d6 100644 --- a/sdks/python/src/lqp/gen/pretty.py +++ b/sdks/python/src/lqp/gen/pretty.py @@ -3761,7 +3761,7 @@ def _t1676(_dollar_dollar): self.pretty_export_csv_path(field1255) self.newline() field1256 = unwrapped1254[1] - self.pretty_export_csv_columns(field1256) + self.pretty_export_csv_columns_list(field1256) self.newline() field1257 = unwrapped1254[2] self.pretty_config_dict(field1257) @@ -3862,8 +3862,8 @@ def _t1686(_dollar_dollar): self.dedent() self.write(")") - def pretty_export_csv_columns(self, msg: Sequence[transactions_pb2.ExportCSVColumn]): - flat1281 = self._try_flat(msg, self.pretty_export_csv_columns) + def pretty_export_csv_columns_list(self, msg: Sequence[transactions_pb2.ExportCSVColumn]): + flat1281 = self._try_flat(msg, self.pretty_export_csv_columns_list) if flat1281 is not None: assert flat1281 is not None self.write(flat1281) From 5cf9906489d30f2eb929a09a6808228d1de069e5 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Mon, 23 Feb 2026 10:10:08 +1100 Subject: [PATCH 26/27] Add debug snaps for export tests --- tests/pretty_debug/csv_export_v2.lqp | 255 ++++++++++++++++++++++++ tests/pretty_debug/simple_export_v2.lqp | 33 +++ 2 files changed, 288 insertions(+) create mode 100644 tests/pretty_debug/csv_export_v2.lqp create mode 100644 tests/pretty_debug/simple_export_v2.lqp diff --git a/tests/pretty_debug/csv_export_v2.lqp b/tests/pretty_debug/csv_export_v2.lqp new file mode 100644 index 00000000..5c6f6edd --- /dev/null +++ b/tests/pretty_debug/csv_export_v2.lqp @@ -0,0 +1,255 @@ +(transaction + (configure { :ivm.maintenance_level "off" :semantics_version 0}) + (epoch + (writes + (define + (fragment + :f1 + (def + 0x7dfb4cf67742cb06 + ([id::INT name::STRING score::FLOAT] + (or + (and (= id 100) (= name "Alice") (= score 95.5)) + (and (= id 200) (= name "Bob") (= score 87.3))))) + (def + 0xa3e27b8ca818264 + ([id::INT name::STRING price::(DECIMAL 10 2) active::BOOLEAN] + (or + (and (= id 1) (= name "Widget") (= price 19.99) (= active true)) + (and (= id 2) (= name "Gadget") (= price 29.5) (= active false))))) + (def + 0x862417b9e7c3720b + ([event_id::INT timestamp::DATETIME description::STRING] + (or + (and + (= event_id 1) + (= timestamp (datetime 2025 1 1 10 30 0 0)) + (= description "Start")) + (and + (= event_id 2) + (= timestamp (datetime 2025 1 2 14 45 0 0)) + (= description "End"))))) + (def + 0xa7a39b72f29718e6 + ([key::STRING value::INT] + (or (and (= key "a") (= value 1)) (and (= key "b") (= value 2))))) + (def + 0xaeb24056810d3d1f + ([name::STRING] (or (= name "Alice") (= name "Bob") (= name "Carol")))) + (def + 0x718827a01a28b6a9 + ([row::INT v::INT] + (or + (and (= row 1) (= v 100)) + (and (= row 2) (= v 200)) + (and (= row 3) (= v 300))))) + (def + 0xd0d5c8429362b4e3 + ([row::INT v::STRING] + (or + (and (= row 1) (= v "Alice")) + (and (= row 2) (= v "Bob")) + (and (= row 3) (= v "Carol"))))) + (def + 0x6f442434acf7f56 + ([row::INT v::FLOAT] + (or + (and (= row 1) (= v 95.5)) + (and (= row 2) (= v 87.3)) + (and (= row 3) (= v 92.0))))) + (def + 0xa51e572880b40a50 + ([row::INT v::BOOLEAN] + (or + (and (= row 1) (= v true)) + (and (= row 2) (= v false)) + (and (= row 3) (= v true)))))))) + (reads + (export + (export_csv_config_v2 + (path "users_basic.csv") + (table_def 0x7dfb4cf67742cb06) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "users_pipe.csv") + (table_def 0x7dfb4cf67742cb06) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "|" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "users_compressed.csv.gz") + (table_def 0x7dfb4cf67742cb06) + (csv_config + { + :csv_compression "gzip" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 1000 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "products.csv") + (table_def 0xa3e27b8ca818264) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "events.csv") + (table_def 0x862417b9e7c3720b) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "users.tsv") + (table_def 0x7dfb4cf67742cb06) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "\t" + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "simple_no_header.csv") + (table_def 0xa7a39b72f29718e6) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 0 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "names_only.csv") + (table_def 0xaeb24056810d3d1f) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_all_columns.csv") + (gnf_columns + (column "id" 0x718827a01a28b6a9) + (column "name" 0xd0d5c8429362b4e3) + (column "score" 0x6f442434acf7f56) + (column "active" 0xa51e572880b40a50)) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_subset.csv") + (gnf_columns + (column "user_id" 0x718827a01a28b6a9) + (column "user_name" 0xd0d5c8429362b4e3)) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_custom.csv.gz") + (gnf_columns (column "id" 0x718827a01a28b6a9) (column "score" 0x6f442434acf7f56)) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0}))) + (export + (export_csv_config_v2 + (path "gnf_single.csv") + (gnf_columns (column "score" 0x6f442434acf7f56)) + (csv_config + { + :csv_compression "auto" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\"" + :csv_header_row 1 + :csv_quotechar "\"" + :csv_skip 0})))))) + +;; Debug information +;; ----------------------- +;; Original names +;; ID `0xa51e572880b40a50` -> `col_active` +;; ID `0x718827a01a28b6a9` -> `col_id` +;; ID `0xd0d5c8429362b4e3` -> `col_name` +;; ID `0x6f442434acf7f56` -> `col_score` +;; ID `0x862417b9e7c3720b` -> `events` +;; ID `0xaeb24056810d3d1f` -> `names` +;; ID `0xa3e27b8ca818264` -> `products` +;; ID `0xa7a39b72f29718e6` -> `simple` +;; ID `0x7dfb4cf67742cb06` -> `users` diff --git a/tests/pretty_debug/simple_export_v2.lqp b/tests/pretty_debug/simple_export_v2.lqp new file mode 100644 index 00000000..e9aa6f5c --- /dev/null +++ b/tests/pretty_debug/simple_export_v2.lqp @@ -0,0 +1,33 @@ +(transaction + (configure { :ivm.maintenance_level "off" :semantics_version 0}) + (epoch + (writes + (define + (fragment + :f1 + (def + 0x145770157dd34e15 + ([col1::INT col2::STRING] + (or (and (= col1 1) (= col2 "hello")) (and (= col1 2) (= col2 "world")))) + (attrs (attribute :csv_export)))))) + (reads + (export + (export_csv_config_v2 + (path "output.csv") + (table_def 0x145770157dd34e15) + (csv_config + { + :csv_compression "" + :csv_decimal_separator "." + :csv_delimiter "," + :csv_encoding "utf-8" + :csv_escapechar "\\" + :csv_header_row 1 + :csv_partition_size_mb 10 + :csv_quotechar "\"" + :csv_skip 0})))))) + +;; Debug information +;; ----------------------- +;; Original names +;; ID `0x145770157dd34e15` -> `my_table` From 7aa23eb84ceb4f6ba4fbdfb9e8df82fd594c79bc Mon Sep 17 00:00:00 2001 From: David Zhao Date: Mon, 23 Feb 2026 16:02:51 +1100 Subject: [PATCH 27/27] Add return type annotation --- sdks/julia/LogicalQueryProtocol.jl/src/protobuf-helpers.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdks/julia/LogicalQueryProtocol.jl/src/protobuf-helpers.jl b/sdks/julia/LogicalQueryProtocol.jl/src/protobuf-helpers.jl index 35b4e601..b53784c9 100644 --- a/sdks/julia/LogicalQueryProtocol.jl/src/protobuf-helpers.jl +++ b/sdks/julia/LogicalQueryProtocol.jl/src/protobuf-helpers.jl @@ -25,7 +25,8 @@ function _get_oneof_field(obj, field_sym::Symbol) for fname in fieldnames(typeof(obj)) fval = getfield(obj, fname) if fval isa ProtoBuf.OneOf && fval.name == field_sym - return fval[] + typ = ProtoBuf.oneof_field_types(typeof(obj))[fname][field_sym] + return fval[]::typ end end error("No oneof field $field_sym on $(typeof(obj))")