diff --git a/.gitignore b/.gitignore index 17dc1fb..e76d6f0 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,6 @@ # # All generated files -internal/generated internal/generated.out # Ignore Coverage Files diff --git a/client/channel/channel_test.go b/client/channel/channel_test.go index aedceb8..53b9561 100644 --- a/client/channel/channel_test.go +++ b/client/channel/channel_test.go @@ -20,7 +20,7 @@ import ( "strings" "testing" - "github.com/apache/spark-connect-go/v_3_4/client/channel" + "github.com/apache/spark-connect-go/v34/client/channel" "github.com/stretchr/testify/assert" ) diff --git a/client/sql/dataframe.go b/client/sql/dataframe.go index 773f714..adb5e1b 100644 --- a/client/sql/dataframe.go +++ b/client/sql/dataframe.go @@ -23,7 +23,7 @@ import ( "github.com/apache/arrow/go/v12/arrow" "github.com/apache/arrow/go/v12/arrow/array" "github.com/apache/arrow/go/v12/arrow/ipc" - proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" + proto "github.com/apache/spark-connect-go/v34/internal/generated" "io" ) diff --git a/client/sql/dataframe_test.go b/client/sql/dataframe_test.go index 7775b74..a41f126 100644 --- a/client/sql/dataframe_test.go +++ b/client/sql/dataframe_test.go @@ -25,7 +25,7 @@ import ( "github.com/apache/arrow/go/v12/arrow/float16" "github.com/apache/arrow/go/v12/arrow/ipc" "github.com/apache/arrow/go/v12/arrow/memory" - proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" + proto "github.com/apache/spark-connect-go/v34/internal/generated" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" diff --git a/client/sql/dataframereader.go b/client/sql/dataframereader.go index 71c4e79..738b7a8 100644 --- a/client/sql/dataframereader.go +++ b/client/sql/dataframereader.go @@ -1,6 +1,6 @@ package sql -import proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" +import proto "github.com/apache/spark-connect-go/v34/internal/generated" // DataFrameReader supports reading data from storage and returning a data frame. // TODO needs to implement other methods like Option(), Schema(), and also "strong typed" diff --git a/client/sql/dataframewriter.go b/client/sql/dataframewriter.go index 868ae39..20e70d9 100644 --- a/client/sql/dataframewriter.go +++ b/client/sql/dataframewriter.go @@ -2,7 +2,7 @@ package sql import ( "fmt" - proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" + proto "github.com/apache/spark-connect-go/v34/internal/generated" "strings" ) diff --git a/client/sql/dataframewriter_test.go b/client/sql/dataframewriter_test.go index 6521d57..c4ad58b 100644 --- a/client/sql/dataframewriter_test.go +++ b/client/sql/dataframewriter_test.go @@ -1,7 +1,7 @@ package sql import ( - proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" + proto "github.com/apache/spark-connect-go/v34/internal/generated" "github.com/stretchr/testify/assert" "testing" ) diff --git a/client/sql/sparksession.go b/client/sql/sparksession.go index 3fa05cd..005136e 100644 --- a/client/sql/sparksession.go +++ b/client/sql/sparksession.go @@ -21,8 +21,8 @@ import ( "errors" "fmt" - "github.com/apache/spark-connect-go/v_3_4/client/channel" - proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" + "github.com/apache/spark-connect-go/v34/client/channel" + proto "github.com/apache/spark-connect-go/v34/internal/generated" "github.com/google/uuid" "google.golang.org/grpc/metadata" "io" diff --git a/cmd/spark-connect-example-raw-grpc-client/main.go b/cmd/spark-connect-example-raw-grpc-client/main.go index 8398292..3d122ca 100644 --- a/cmd/spark-connect-example-raw-grpc-client/main.go +++ b/cmd/spark-connect-example-raw-grpc-client/main.go @@ -19,7 +19,7 @@ package main import ( "context" "flag" - proto "github.com/apache/spark-connect-go/v_3_4/internal/generated" + proto "github.com/apache/spark-connect-go/v34/internal/generated" "github.com/google/uuid" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" diff --git a/cmd/spark-connect-example-spark-session/main.go b/cmd/spark-connect-example-spark-session/main.go index cd21878..0913c50 100644 --- a/cmd/spark-connect-example-spark-session/main.go +++ b/cmd/spark-connect-example-spark-session/main.go @@ -20,7 +20,7 @@ import ( "flag" "log" - "github.com/apache/spark-connect-go/v_3_4/client/sql" + "github.com/apache/spark-connect-go/v34/client/sql" ) var ( diff --git a/go.mod b/go.mod index c95c5ec..6b4c0a0 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -module github.com/apache/spark-connect-go/v_3_4 +module github.com/apache/spark-connect-go/v34 go 1.19 diff --git a/internal/generated/base.pb.go b/internal/generated/base.pb.go new file mode 100644 index 0000000..ab8bb5d --- /dev/null +++ b/internal/generated/base.pb.go @@ -0,0 +1,5994 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/base.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Plan explanation mode. +type AnalyzePlanRequest_Explain_ExplainMode int32 + +const ( + AnalyzePlanRequest_Explain_EXPLAIN_MODE_UNSPECIFIED AnalyzePlanRequest_Explain_ExplainMode = 0 + // Generates only physical plan. + AnalyzePlanRequest_Explain_EXPLAIN_MODE_SIMPLE AnalyzePlanRequest_Explain_ExplainMode = 1 + // Generates parsed logical plan, analyzed logical plan, optimized logical plan and physical plan. + // Parsed Logical plan is a unresolved plan that extracted from the query. Analyzed logical plans + // transforms which translates unresolvedAttribute and unresolvedRelation into fully typed objects. + // The optimized logical plan transforms through a set of optimization rules, resulting in the + // physical plan. + AnalyzePlanRequest_Explain_EXPLAIN_MODE_EXTENDED AnalyzePlanRequest_Explain_ExplainMode = 2 + // Generates code for the statement, if any and a physical plan. + AnalyzePlanRequest_Explain_EXPLAIN_MODE_CODEGEN AnalyzePlanRequest_Explain_ExplainMode = 3 + // If plan node statistics are available, generates a logical plan and also the statistics. + AnalyzePlanRequest_Explain_EXPLAIN_MODE_COST AnalyzePlanRequest_Explain_ExplainMode = 4 + // Generates a physical plan outline and also node details. + AnalyzePlanRequest_Explain_EXPLAIN_MODE_FORMATTED AnalyzePlanRequest_Explain_ExplainMode = 5 +) + +// Enum value maps for AnalyzePlanRequest_Explain_ExplainMode. +var ( + AnalyzePlanRequest_Explain_ExplainMode_name = map[int32]string{ + 0: "EXPLAIN_MODE_UNSPECIFIED", + 1: "EXPLAIN_MODE_SIMPLE", + 2: "EXPLAIN_MODE_EXTENDED", + 3: "EXPLAIN_MODE_CODEGEN", + 4: "EXPLAIN_MODE_COST", + 5: "EXPLAIN_MODE_FORMATTED", + } + AnalyzePlanRequest_Explain_ExplainMode_value = map[string]int32{ + "EXPLAIN_MODE_UNSPECIFIED": 0, + "EXPLAIN_MODE_SIMPLE": 1, + "EXPLAIN_MODE_EXTENDED": 2, + "EXPLAIN_MODE_CODEGEN": 3, + "EXPLAIN_MODE_COST": 4, + "EXPLAIN_MODE_FORMATTED": 5, + } +) + +func (x AnalyzePlanRequest_Explain_ExplainMode) Enum() *AnalyzePlanRequest_Explain_ExplainMode { + p := new(AnalyzePlanRequest_Explain_ExplainMode) + *p = x + return p +} + +func (x AnalyzePlanRequest_Explain_ExplainMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AnalyzePlanRequest_Explain_ExplainMode) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_base_proto_enumTypes[0].Descriptor() +} + +func (AnalyzePlanRequest_Explain_ExplainMode) Type() protoreflect.EnumType { + return &file_spark_connect_base_proto_enumTypes[0] +} + +func (x AnalyzePlanRequest_Explain_ExplainMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AnalyzePlanRequest_Explain_ExplainMode.Descriptor instead. +func (AnalyzePlanRequest_Explain_ExplainMode) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 1, 0} +} + +type InterruptRequest_InterruptType int32 + +const ( + InterruptRequest_INTERRUPT_TYPE_UNSPECIFIED InterruptRequest_InterruptType = 0 + // Interrupt all running executions within session with provided session_id. + InterruptRequest_INTERRUPT_TYPE_ALL InterruptRequest_InterruptType = 1 +) + +// Enum value maps for InterruptRequest_InterruptType. +var ( + InterruptRequest_InterruptType_name = map[int32]string{ + 0: "INTERRUPT_TYPE_UNSPECIFIED", + 1: "INTERRUPT_TYPE_ALL", + } + InterruptRequest_InterruptType_value = map[string]int32{ + "INTERRUPT_TYPE_UNSPECIFIED": 0, + "INTERRUPT_TYPE_ALL": 1, + } +) + +func (x InterruptRequest_InterruptType) Enum() *InterruptRequest_InterruptType { + p := new(InterruptRequest_InterruptType) + *p = x + return p +} + +func (x InterruptRequest_InterruptType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InterruptRequest_InterruptType) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_base_proto_enumTypes[1].Descriptor() +} + +func (InterruptRequest_InterruptType) Type() protoreflect.EnumType { + return &file_spark_connect_base_proto_enumTypes[1] +} + +func (x InterruptRequest_InterruptType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InterruptRequest_InterruptType.Descriptor instead. +func (InterruptRequest_InterruptType) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{13, 0} +} + +// A [[Plan]] is the structure that carries the runtime information for the execution from the +// client to the server. A [[Plan]] can either be of the type [[Relation]] which is a reference +// to the underlying logical plan or it can be of the [[Command]] type that is used to execute +// commands on the server. +type Plan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OpType: + // + // *Plan_Root + // *Plan_Command + OpType isPlan_OpType `protobuf_oneof:"op_type"` +} + +func (x *Plan) Reset() { + *x = Plan{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Plan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Plan) ProtoMessage() {} + +func (x *Plan) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Plan.ProtoReflect.Descriptor instead. +func (*Plan) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{0} +} + +func (m *Plan) GetOpType() isPlan_OpType { + if m != nil { + return m.OpType + } + return nil +} + +func (x *Plan) GetRoot() *Relation { + if x, ok := x.GetOpType().(*Plan_Root); ok { + return x.Root + } + return nil +} + +func (x *Plan) GetCommand() *Command { + if x, ok := x.GetOpType().(*Plan_Command); ok { + return x.Command + } + return nil +} + +type isPlan_OpType interface { + isPlan_OpType() +} + +type Plan_Root struct { + Root *Relation `protobuf:"bytes,1,opt,name=root,proto3,oneof"` +} + +type Plan_Command struct { + Command *Command `protobuf:"bytes,2,opt,name=command,proto3,oneof"` +} + +func (*Plan_Root) isPlan_OpType() {} + +func (*Plan_Command) isPlan_OpType() {} + +// User Context is used to refer to one particular user session that is executing +// queries in the backend. +type UserContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` + // To extend the existing user context message that is used to identify incoming requests, + // Spark Connect leverages the Any protobuf type that can be used to inject arbitrary other + // messages into this message. Extensions are stored as a `repeated` type to be able to + // handle multiple active extensions. + Extensions []*anypb.Any `protobuf:"bytes,999,rep,name=extensions,proto3" json:"extensions,omitempty"` +} + +func (x *UserContext) Reset() { + *x = UserContext{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserContext) ProtoMessage() {} + +func (x *UserContext) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserContext.ProtoReflect.Descriptor instead. +func (*UserContext) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{1} +} + +func (x *UserContext) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserContext) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *UserContext) GetExtensions() []*anypb.Any { + if x != nil { + return x.Extensions + } + return nil +} + +// Request to perform plan analyze, optionally to explain the plan. +type AnalyzePlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + // + // The session_id specifies a spark session for a user id (which is specified + // by user_context.user_id). The session_id is set by the client to be able to + // collate streaming responses from different queries within the dedicated session. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // (Required) User context + UserContext *UserContext `protobuf:"bytes,2,opt,name=user_context,json=userContext,proto3" json:"user_context,omitempty"` + // Provides optional information about the client sending the request. This field + // can be used for language or version specific information and is only intended for + // logging purposes and will not be interpreted by the server. + ClientType *string `protobuf:"bytes,3,opt,name=client_type,json=clientType,proto3,oneof" json:"client_type,omitempty"` + // Types that are assignable to Analyze: + // + // *AnalyzePlanRequest_Schema_ + // *AnalyzePlanRequest_Explain_ + // *AnalyzePlanRequest_TreeString_ + // *AnalyzePlanRequest_IsLocal_ + // *AnalyzePlanRequest_IsStreaming_ + // *AnalyzePlanRequest_InputFiles_ + // *AnalyzePlanRequest_SparkVersion_ + // *AnalyzePlanRequest_DdlParse + // *AnalyzePlanRequest_SameSemantics_ + // *AnalyzePlanRequest_SemanticHash_ + // *AnalyzePlanRequest_Persist_ + // *AnalyzePlanRequest_Unpersist_ + // *AnalyzePlanRequest_GetStorageLevel_ + Analyze isAnalyzePlanRequest_Analyze `protobuf_oneof:"analyze"` +} + +func (x *AnalyzePlanRequest) Reset() { + *x = AnalyzePlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest) ProtoMessage() {} + +func (x *AnalyzePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2} +} + +func (x *AnalyzePlanRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *AnalyzePlanRequest) GetUserContext() *UserContext { + if x != nil { + return x.UserContext + } + return nil +} + +func (x *AnalyzePlanRequest) GetClientType() string { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return "" +} + +func (m *AnalyzePlanRequest) GetAnalyze() isAnalyzePlanRequest_Analyze { + if m != nil { + return m.Analyze + } + return nil +} + +func (x *AnalyzePlanRequest) GetSchema() *AnalyzePlanRequest_Schema { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_Schema_); ok { + return x.Schema + } + return nil +} + +func (x *AnalyzePlanRequest) GetExplain() *AnalyzePlanRequest_Explain { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_Explain_); ok { + return x.Explain + } + return nil +} + +func (x *AnalyzePlanRequest) GetTreeString() *AnalyzePlanRequest_TreeString { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_TreeString_); ok { + return x.TreeString + } + return nil +} + +func (x *AnalyzePlanRequest) GetIsLocal() *AnalyzePlanRequest_IsLocal { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_IsLocal_); ok { + return x.IsLocal + } + return nil +} + +func (x *AnalyzePlanRequest) GetIsStreaming() *AnalyzePlanRequest_IsStreaming { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_IsStreaming_); ok { + return x.IsStreaming + } + return nil +} + +func (x *AnalyzePlanRequest) GetInputFiles() *AnalyzePlanRequest_InputFiles { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_InputFiles_); ok { + return x.InputFiles + } + return nil +} + +func (x *AnalyzePlanRequest) GetSparkVersion() *AnalyzePlanRequest_SparkVersion { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_SparkVersion_); ok { + return x.SparkVersion + } + return nil +} + +func (x *AnalyzePlanRequest) GetDdlParse() *AnalyzePlanRequest_DDLParse { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_DdlParse); ok { + return x.DdlParse + } + return nil +} + +func (x *AnalyzePlanRequest) GetSameSemantics() *AnalyzePlanRequest_SameSemantics { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_SameSemantics_); ok { + return x.SameSemantics + } + return nil +} + +func (x *AnalyzePlanRequest) GetSemanticHash() *AnalyzePlanRequest_SemanticHash { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_SemanticHash_); ok { + return x.SemanticHash + } + return nil +} + +func (x *AnalyzePlanRequest) GetPersist() *AnalyzePlanRequest_Persist { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_Persist_); ok { + return x.Persist + } + return nil +} + +func (x *AnalyzePlanRequest) GetUnpersist() *AnalyzePlanRequest_Unpersist { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_Unpersist_); ok { + return x.Unpersist + } + return nil +} + +func (x *AnalyzePlanRequest) GetGetStorageLevel() *AnalyzePlanRequest_GetStorageLevel { + if x, ok := x.GetAnalyze().(*AnalyzePlanRequest_GetStorageLevel_); ok { + return x.GetStorageLevel + } + return nil +} + +type isAnalyzePlanRequest_Analyze interface { + isAnalyzePlanRequest_Analyze() +} + +type AnalyzePlanRequest_Schema_ struct { + Schema *AnalyzePlanRequest_Schema `protobuf:"bytes,4,opt,name=schema,proto3,oneof"` +} + +type AnalyzePlanRequest_Explain_ struct { + Explain *AnalyzePlanRequest_Explain `protobuf:"bytes,5,opt,name=explain,proto3,oneof"` +} + +type AnalyzePlanRequest_TreeString_ struct { + TreeString *AnalyzePlanRequest_TreeString `protobuf:"bytes,6,opt,name=tree_string,json=treeString,proto3,oneof"` +} + +type AnalyzePlanRequest_IsLocal_ struct { + IsLocal *AnalyzePlanRequest_IsLocal `protobuf:"bytes,7,opt,name=is_local,json=isLocal,proto3,oneof"` +} + +type AnalyzePlanRequest_IsStreaming_ struct { + IsStreaming *AnalyzePlanRequest_IsStreaming `protobuf:"bytes,8,opt,name=is_streaming,json=isStreaming,proto3,oneof"` +} + +type AnalyzePlanRequest_InputFiles_ struct { + InputFiles *AnalyzePlanRequest_InputFiles `protobuf:"bytes,9,opt,name=input_files,json=inputFiles,proto3,oneof"` +} + +type AnalyzePlanRequest_SparkVersion_ struct { + SparkVersion *AnalyzePlanRequest_SparkVersion `protobuf:"bytes,10,opt,name=spark_version,json=sparkVersion,proto3,oneof"` +} + +type AnalyzePlanRequest_DdlParse struct { + DdlParse *AnalyzePlanRequest_DDLParse `protobuf:"bytes,11,opt,name=ddl_parse,json=ddlParse,proto3,oneof"` +} + +type AnalyzePlanRequest_SameSemantics_ struct { + SameSemantics *AnalyzePlanRequest_SameSemantics `protobuf:"bytes,12,opt,name=same_semantics,json=sameSemantics,proto3,oneof"` +} + +type AnalyzePlanRequest_SemanticHash_ struct { + SemanticHash *AnalyzePlanRequest_SemanticHash `protobuf:"bytes,13,opt,name=semantic_hash,json=semanticHash,proto3,oneof"` +} + +type AnalyzePlanRequest_Persist_ struct { + Persist *AnalyzePlanRequest_Persist `protobuf:"bytes,14,opt,name=persist,proto3,oneof"` +} + +type AnalyzePlanRequest_Unpersist_ struct { + Unpersist *AnalyzePlanRequest_Unpersist `protobuf:"bytes,15,opt,name=unpersist,proto3,oneof"` +} + +type AnalyzePlanRequest_GetStorageLevel_ struct { + GetStorageLevel *AnalyzePlanRequest_GetStorageLevel `protobuf:"bytes,16,opt,name=get_storage_level,json=getStorageLevel,proto3,oneof"` +} + +func (*AnalyzePlanRequest_Schema_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_Explain_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_TreeString_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_IsLocal_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_IsStreaming_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_InputFiles_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_SparkVersion_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_DdlParse) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_SameSemantics_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_SemanticHash_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_Persist_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_Unpersist_) isAnalyzePlanRequest_Analyze() {} + +func (*AnalyzePlanRequest_GetStorageLevel_) isAnalyzePlanRequest_Analyze() {} + +// Response to performing analysis of the query. Contains relevant metadata to be able to +// reason about the performance. +type AnalyzePlanResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // Types that are assignable to Result: + // + // *AnalyzePlanResponse_Schema_ + // *AnalyzePlanResponse_Explain_ + // *AnalyzePlanResponse_TreeString_ + // *AnalyzePlanResponse_IsLocal_ + // *AnalyzePlanResponse_IsStreaming_ + // *AnalyzePlanResponse_InputFiles_ + // *AnalyzePlanResponse_SparkVersion_ + // *AnalyzePlanResponse_DdlParse + // *AnalyzePlanResponse_SameSemantics_ + // *AnalyzePlanResponse_SemanticHash_ + // *AnalyzePlanResponse_Persist_ + // *AnalyzePlanResponse_Unpersist_ + // *AnalyzePlanResponse_GetStorageLevel_ + Result isAnalyzePlanResponse_Result `protobuf_oneof:"result"` +} + +func (x *AnalyzePlanResponse) Reset() { + *x = AnalyzePlanResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse) ProtoMessage() {} + +func (x *AnalyzePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3} +} + +func (x *AnalyzePlanResponse) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (m *AnalyzePlanResponse) GetResult() isAnalyzePlanResponse_Result { + if m != nil { + return m.Result + } + return nil +} + +func (x *AnalyzePlanResponse) GetSchema() *AnalyzePlanResponse_Schema { + if x, ok := x.GetResult().(*AnalyzePlanResponse_Schema_); ok { + return x.Schema + } + return nil +} + +func (x *AnalyzePlanResponse) GetExplain() *AnalyzePlanResponse_Explain { + if x, ok := x.GetResult().(*AnalyzePlanResponse_Explain_); ok { + return x.Explain + } + return nil +} + +func (x *AnalyzePlanResponse) GetTreeString() *AnalyzePlanResponse_TreeString { + if x, ok := x.GetResult().(*AnalyzePlanResponse_TreeString_); ok { + return x.TreeString + } + return nil +} + +func (x *AnalyzePlanResponse) GetIsLocal() *AnalyzePlanResponse_IsLocal { + if x, ok := x.GetResult().(*AnalyzePlanResponse_IsLocal_); ok { + return x.IsLocal + } + return nil +} + +func (x *AnalyzePlanResponse) GetIsStreaming() *AnalyzePlanResponse_IsStreaming { + if x, ok := x.GetResult().(*AnalyzePlanResponse_IsStreaming_); ok { + return x.IsStreaming + } + return nil +} + +func (x *AnalyzePlanResponse) GetInputFiles() *AnalyzePlanResponse_InputFiles { + if x, ok := x.GetResult().(*AnalyzePlanResponse_InputFiles_); ok { + return x.InputFiles + } + return nil +} + +func (x *AnalyzePlanResponse) GetSparkVersion() *AnalyzePlanResponse_SparkVersion { + if x, ok := x.GetResult().(*AnalyzePlanResponse_SparkVersion_); ok { + return x.SparkVersion + } + return nil +} + +func (x *AnalyzePlanResponse) GetDdlParse() *AnalyzePlanResponse_DDLParse { + if x, ok := x.GetResult().(*AnalyzePlanResponse_DdlParse); ok { + return x.DdlParse + } + return nil +} + +func (x *AnalyzePlanResponse) GetSameSemantics() *AnalyzePlanResponse_SameSemantics { + if x, ok := x.GetResult().(*AnalyzePlanResponse_SameSemantics_); ok { + return x.SameSemantics + } + return nil +} + +func (x *AnalyzePlanResponse) GetSemanticHash() *AnalyzePlanResponse_SemanticHash { + if x, ok := x.GetResult().(*AnalyzePlanResponse_SemanticHash_); ok { + return x.SemanticHash + } + return nil +} + +func (x *AnalyzePlanResponse) GetPersist() *AnalyzePlanResponse_Persist { + if x, ok := x.GetResult().(*AnalyzePlanResponse_Persist_); ok { + return x.Persist + } + return nil +} + +func (x *AnalyzePlanResponse) GetUnpersist() *AnalyzePlanResponse_Unpersist { + if x, ok := x.GetResult().(*AnalyzePlanResponse_Unpersist_); ok { + return x.Unpersist + } + return nil +} + +func (x *AnalyzePlanResponse) GetGetStorageLevel() *AnalyzePlanResponse_GetStorageLevel { + if x, ok := x.GetResult().(*AnalyzePlanResponse_GetStorageLevel_); ok { + return x.GetStorageLevel + } + return nil +} + +type isAnalyzePlanResponse_Result interface { + isAnalyzePlanResponse_Result() +} + +type AnalyzePlanResponse_Schema_ struct { + Schema *AnalyzePlanResponse_Schema `protobuf:"bytes,2,opt,name=schema,proto3,oneof"` +} + +type AnalyzePlanResponse_Explain_ struct { + Explain *AnalyzePlanResponse_Explain `protobuf:"bytes,3,opt,name=explain,proto3,oneof"` +} + +type AnalyzePlanResponse_TreeString_ struct { + TreeString *AnalyzePlanResponse_TreeString `protobuf:"bytes,4,opt,name=tree_string,json=treeString,proto3,oneof"` +} + +type AnalyzePlanResponse_IsLocal_ struct { + IsLocal *AnalyzePlanResponse_IsLocal `protobuf:"bytes,5,opt,name=is_local,json=isLocal,proto3,oneof"` +} + +type AnalyzePlanResponse_IsStreaming_ struct { + IsStreaming *AnalyzePlanResponse_IsStreaming `protobuf:"bytes,6,opt,name=is_streaming,json=isStreaming,proto3,oneof"` +} + +type AnalyzePlanResponse_InputFiles_ struct { + InputFiles *AnalyzePlanResponse_InputFiles `protobuf:"bytes,7,opt,name=input_files,json=inputFiles,proto3,oneof"` +} + +type AnalyzePlanResponse_SparkVersion_ struct { + SparkVersion *AnalyzePlanResponse_SparkVersion `protobuf:"bytes,8,opt,name=spark_version,json=sparkVersion,proto3,oneof"` +} + +type AnalyzePlanResponse_DdlParse struct { + DdlParse *AnalyzePlanResponse_DDLParse `protobuf:"bytes,9,opt,name=ddl_parse,json=ddlParse,proto3,oneof"` +} + +type AnalyzePlanResponse_SameSemantics_ struct { + SameSemantics *AnalyzePlanResponse_SameSemantics `protobuf:"bytes,10,opt,name=same_semantics,json=sameSemantics,proto3,oneof"` +} + +type AnalyzePlanResponse_SemanticHash_ struct { + SemanticHash *AnalyzePlanResponse_SemanticHash `protobuf:"bytes,11,opt,name=semantic_hash,json=semanticHash,proto3,oneof"` +} + +type AnalyzePlanResponse_Persist_ struct { + Persist *AnalyzePlanResponse_Persist `protobuf:"bytes,12,opt,name=persist,proto3,oneof"` +} + +type AnalyzePlanResponse_Unpersist_ struct { + Unpersist *AnalyzePlanResponse_Unpersist `protobuf:"bytes,13,opt,name=unpersist,proto3,oneof"` +} + +type AnalyzePlanResponse_GetStorageLevel_ struct { + GetStorageLevel *AnalyzePlanResponse_GetStorageLevel `protobuf:"bytes,14,opt,name=get_storage_level,json=getStorageLevel,proto3,oneof"` +} + +func (*AnalyzePlanResponse_Schema_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_Explain_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_TreeString_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_IsLocal_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_IsStreaming_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_InputFiles_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_SparkVersion_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_DdlParse) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_SameSemantics_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_SemanticHash_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_Persist_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_Unpersist_) isAnalyzePlanResponse_Result() {} + +func (*AnalyzePlanResponse_GetStorageLevel_) isAnalyzePlanResponse_Result() {} + +// A request to be executed by the service. +type ExecutePlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + // + // The session_id specifies a spark session for a user id (which is specified + // by user_context.user_id). The session_id is set by the client to be able to + // collate streaming responses from different queries within the dedicated session. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // (Required) User context + // + // user_context.user_id and session+id both identify a unique remote spark session on the + // server side. + UserContext *UserContext `protobuf:"bytes,2,opt,name=user_context,json=userContext,proto3" json:"user_context,omitempty"` + // (Required) The logical plan to be executed / analyzed. + Plan *Plan `protobuf:"bytes,3,opt,name=plan,proto3" json:"plan,omitempty"` + // Provides optional information about the client sending the request. This field + // can be used for language or version specific information and is only intended for + // logging purposes and will not be interpreted by the server. + ClientType *string `protobuf:"bytes,4,opt,name=client_type,json=clientType,proto3,oneof" json:"client_type,omitempty"` + // Repeated element for options that can be passed to the request. This element is currently + // unused but allows to pass in an extension value used for arbitrary options. + RequestOptions []*ExecutePlanRequest_RequestOption `protobuf:"bytes,5,rep,name=request_options,json=requestOptions,proto3" json:"request_options,omitempty"` +} + +func (x *ExecutePlanRequest) Reset() { + *x = ExecutePlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanRequest) ProtoMessage() {} + +func (x *ExecutePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanRequest.ProtoReflect.Descriptor instead. +func (*ExecutePlanRequest) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{4} +} + +func (x *ExecutePlanRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *ExecutePlanRequest) GetUserContext() *UserContext { + if x != nil { + return x.UserContext + } + return nil +} + +func (x *ExecutePlanRequest) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *ExecutePlanRequest) GetClientType() string { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return "" +} + +func (x *ExecutePlanRequest) GetRequestOptions() []*ExecutePlanRequest_RequestOption { + if x != nil { + return x.RequestOptions + } + return nil +} + +// The response of a query, can be one or more for each request. Responses belonging to the +// same input query, carry the same `session_id`. +type ExecutePlanResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // Union type for the different response messages. + // + // Types that are assignable to ResponseType: + // + // *ExecutePlanResponse_ArrowBatch_ + // *ExecutePlanResponse_SqlCommandResult_ + // *ExecutePlanResponse_WriteStreamOperationStartResult + // *ExecutePlanResponse_StreamingQueryCommandResult + // *ExecutePlanResponse_GetResourcesCommandResult + // *ExecutePlanResponse_StreamingQueryManagerCommandResult + // *ExecutePlanResponse_Extension + ResponseType isExecutePlanResponse_ResponseType `protobuf_oneof:"response_type"` + // Metrics for the query execution. Typically, this field is only present in the last + // batch of results and then represent the overall state of the query execution. + Metrics *ExecutePlanResponse_Metrics `protobuf:"bytes,4,opt,name=metrics,proto3" json:"metrics,omitempty"` + // The metrics observed during the execution of the query plan. + ObservedMetrics []*ExecutePlanResponse_ObservedMetrics `protobuf:"bytes,6,rep,name=observed_metrics,json=observedMetrics,proto3" json:"observed_metrics,omitempty"` + // (Optional) The Spark schema. This field is available when `collect` is called. + Schema *DataType `protobuf:"bytes,7,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *ExecutePlanResponse) Reset() { + *x = ExecutePlanResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse) ProtoMessage() {} + +func (x *ExecutePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5} +} + +func (x *ExecutePlanResponse) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (m *ExecutePlanResponse) GetResponseType() isExecutePlanResponse_ResponseType { + if m != nil { + return m.ResponseType + } + return nil +} + +func (x *ExecutePlanResponse) GetArrowBatch() *ExecutePlanResponse_ArrowBatch { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_ArrowBatch_); ok { + return x.ArrowBatch + } + return nil +} + +func (x *ExecutePlanResponse) GetSqlCommandResult() *ExecutePlanResponse_SqlCommandResult { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_SqlCommandResult_); ok { + return x.SqlCommandResult + } + return nil +} + +func (x *ExecutePlanResponse) GetWriteStreamOperationStartResult() *WriteStreamOperationStartResult { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_WriteStreamOperationStartResult); ok { + return x.WriteStreamOperationStartResult + } + return nil +} + +func (x *ExecutePlanResponse) GetStreamingQueryCommandResult() *StreamingQueryCommandResult { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_StreamingQueryCommandResult); ok { + return x.StreamingQueryCommandResult + } + return nil +} + +func (x *ExecutePlanResponse) GetGetResourcesCommandResult() *GetResourcesCommandResult { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_GetResourcesCommandResult); ok { + return x.GetResourcesCommandResult + } + return nil +} + +func (x *ExecutePlanResponse) GetStreamingQueryManagerCommandResult() *StreamingQueryManagerCommandResult { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_StreamingQueryManagerCommandResult); ok { + return x.StreamingQueryManagerCommandResult + } + return nil +} + +func (x *ExecutePlanResponse) GetExtension() *anypb.Any { + if x, ok := x.GetResponseType().(*ExecutePlanResponse_Extension); ok { + return x.Extension + } + return nil +} + +func (x *ExecutePlanResponse) GetMetrics() *ExecutePlanResponse_Metrics { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *ExecutePlanResponse) GetObservedMetrics() []*ExecutePlanResponse_ObservedMetrics { + if x != nil { + return x.ObservedMetrics + } + return nil +} + +func (x *ExecutePlanResponse) GetSchema() *DataType { + if x != nil { + return x.Schema + } + return nil +} + +type isExecutePlanResponse_ResponseType interface { + isExecutePlanResponse_ResponseType() +} + +type ExecutePlanResponse_ArrowBatch_ struct { + ArrowBatch *ExecutePlanResponse_ArrowBatch `protobuf:"bytes,2,opt,name=arrow_batch,json=arrowBatch,proto3,oneof"` +} + +type ExecutePlanResponse_SqlCommandResult_ struct { + // Special case for executing SQL commands. + SqlCommandResult *ExecutePlanResponse_SqlCommandResult `protobuf:"bytes,5,opt,name=sql_command_result,json=sqlCommandResult,proto3,oneof"` +} + +type ExecutePlanResponse_WriteStreamOperationStartResult struct { + // Response for a streaming query. + WriteStreamOperationStartResult *WriteStreamOperationStartResult `protobuf:"bytes,8,opt,name=write_stream_operation_start_result,json=writeStreamOperationStartResult,proto3,oneof"` +} + +type ExecutePlanResponse_StreamingQueryCommandResult struct { + // Response for commands on a streaming query. + StreamingQueryCommandResult *StreamingQueryCommandResult `protobuf:"bytes,9,opt,name=streaming_query_command_result,json=streamingQueryCommandResult,proto3,oneof"` +} + +type ExecutePlanResponse_GetResourcesCommandResult struct { + // Response for 'SparkContext.resources'. + GetResourcesCommandResult *GetResourcesCommandResult `protobuf:"bytes,10,opt,name=get_resources_command_result,json=getResourcesCommandResult,proto3,oneof"` +} + +type ExecutePlanResponse_StreamingQueryManagerCommandResult struct { + // Response for commands on the streaming query manager. + StreamingQueryManagerCommandResult *StreamingQueryManagerCommandResult `protobuf:"bytes,11,opt,name=streaming_query_manager_command_result,json=streamingQueryManagerCommandResult,proto3,oneof"` +} + +type ExecutePlanResponse_Extension struct { + // Support arbitrary result objects. + Extension *anypb.Any `protobuf:"bytes,999,opt,name=extension,proto3,oneof"` +} + +func (*ExecutePlanResponse_ArrowBatch_) isExecutePlanResponse_ResponseType() {} + +func (*ExecutePlanResponse_SqlCommandResult_) isExecutePlanResponse_ResponseType() {} + +func (*ExecutePlanResponse_WriteStreamOperationStartResult) isExecutePlanResponse_ResponseType() {} + +func (*ExecutePlanResponse_StreamingQueryCommandResult) isExecutePlanResponse_ResponseType() {} + +func (*ExecutePlanResponse_GetResourcesCommandResult) isExecutePlanResponse_ResponseType() {} + +func (*ExecutePlanResponse_StreamingQueryManagerCommandResult) isExecutePlanResponse_ResponseType() {} + +func (*ExecutePlanResponse_Extension) isExecutePlanResponse_ResponseType() {} + +// The key-value pair for the config request and response. +type KeyValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The key. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // (Optional) The value. + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` +} + +func (x *KeyValue) Reset() { + *x = KeyValue{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KeyValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyValue) ProtoMessage() {} + +func (x *KeyValue) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyValue.ProtoReflect.Descriptor instead. +func (*KeyValue) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{6} +} + +func (x *KeyValue) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *KeyValue) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +// Request to update or fetch the configurations. +type ConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + // + // The session_id specifies a spark session for a user id (which is specified + // by user_context.user_id). The session_id is set by the client to be able to + // collate streaming responses from different queries within the dedicated session. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // (Required) User context + UserContext *UserContext `protobuf:"bytes,2,opt,name=user_context,json=userContext,proto3" json:"user_context,omitempty"` + // (Required) The operation for the config. + Operation *ConfigRequest_Operation `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"` + // Provides optional information about the client sending the request. This field + // can be used for language or version specific information and is only intended for + // logging purposes and will not be interpreted by the server. + ClientType *string `protobuf:"bytes,4,opt,name=client_type,json=clientType,proto3,oneof" json:"client_type,omitempty"` +} + +func (x *ConfigRequest) Reset() { + *x = ConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest) ProtoMessage() {} + +func (x *ConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest.ProtoReflect.Descriptor instead. +func (*ConfigRequest) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7} +} + +func (x *ConfigRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *ConfigRequest) GetUserContext() *UserContext { + if x != nil { + return x.UserContext + } + return nil +} + +func (x *ConfigRequest) GetOperation() *ConfigRequest_Operation { + if x != nil { + return x.Operation + } + return nil +} + +func (x *ConfigRequest) GetClientType() string { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return "" +} + +// Response to the config request. +type ConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // (Optional) The result key-value pairs. + // + // Available when the operation is 'Get', 'GetWithDefault', 'GetOption', 'GetAll'. + // Also available for the operation 'IsModifiable' with boolean string "true" and "false". + Pairs []*KeyValue `protobuf:"bytes,2,rep,name=pairs,proto3" json:"pairs,omitempty"` + // (Optional) + // + // Warning messages for deprecated or unsupported configurations. + Warnings []string `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"` +} + +func (x *ConfigResponse) Reset() { + *x = ConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigResponse) ProtoMessage() {} + +func (x *ConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigResponse.ProtoReflect.Descriptor instead. +func (*ConfigResponse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{8} +} + +func (x *ConfigResponse) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *ConfigResponse) GetPairs() []*KeyValue { + if x != nil { + return x.Pairs + } + return nil +} + +func (x *ConfigResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +// Request to transfer client-local artifacts. +type AddArtifactsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + // + // The session_id specifies a spark session for a user id (which is specified + // by user_context.user_id). The session_id is set by the client to be able to + // collate streaming responses from different queries within the dedicated session. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // User context + UserContext *UserContext `protobuf:"bytes,2,opt,name=user_context,json=userContext,proto3" json:"user_context,omitempty"` + // Provides optional information about the client sending the request. This field + // can be used for language or version specific information and is only intended for + // logging purposes and will not be interpreted by the server. + ClientType *string `protobuf:"bytes,6,opt,name=client_type,json=clientType,proto3,oneof" json:"client_type,omitempty"` + // The payload is either a batch of artifacts or a partial chunk of a large artifact. + // + // Types that are assignable to Payload: + // + // *AddArtifactsRequest_Batch_ + // *AddArtifactsRequest_BeginChunk + // *AddArtifactsRequest_Chunk + Payload isAddArtifactsRequest_Payload `protobuf_oneof:"payload"` +} + +func (x *AddArtifactsRequest) Reset() { + *x = AddArtifactsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsRequest) ProtoMessage() {} + +func (x *AddArtifactsRequest) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsRequest.ProtoReflect.Descriptor instead. +func (*AddArtifactsRequest) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{9} +} + +func (x *AddArtifactsRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *AddArtifactsRequest) GetUserContext() *UserContext { + if x != nil { + return x.UserContext + } + return nil +} + +func (x *AddArtifactsRequest) GetClientType() string { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return "" +} + +func (m *AddArtifactsRequest) GetPayload() isAddArtifactsRequest_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (x *AddArtifactsRequest) GetBatch() *AddArtifactsRequest_Batch { + if x, ok := x.GetPayload().(*AddArtifactsRequest_Batch_); ok { + return x.Batch + } + return nil +} + +func (x *AddArtifactsRequest) GetBeginChunk() *AddArtifactsRequest_BeginChunkedArtifact { + if x, ok := x.GetPayload().(*AddArtifactsRequest_BeginChunk); ok { + return x.BeginChunk + } + return nil +} + +func (x *AddArtifactsRequest) GetChunk() *AddArtifactsRequest_ArtifactChunk { + if x, ok := x.GetPayload().(*AddArtifactsRequest_Chunk); ok { + return x.Chunk + } + return nil +} + +type isAddArtifactsRequest_Payload interface { + isAddArtifactsRequest_Payload() +} + +type AddArtifactsRequest_Batch_ struct { + Batch *AddArtifactsRequest_Batch `protobuf:"bytes,3,opt,name=batch,proto3,oneof"` +} + +type AddArtifactsRequest_BeginChunk struct { + // The metadata and the initial chunk of a large artifact chunked into multiple requests. + // The server side is notified about the total size of the large artifact as well as the + // number of chunks to expect. + BeginChunk *AddArtifactsRequest_BeginChunkedArtifact `protobuf:"bytes,4,opt,name=begin_chunk,json=beginChunk,proto3,oneof"` +} + +type AddArtifactsRequest_Chunk struct { + // A chunk of an artifact excluding metadata. This can be any chunk of a large artifact + // excluding the first chunk (which is included in `BeginChunkedArtifact`). + Chunk *AddArtifactsRequest_ArtifactChunk `protobuf:"bytes,5,opt,name=chunk,proto3,oneof"` +} + +func (*AddArtifactsRequest_Batch_) isAddArtifactsRequest_Payload() {} + +func (*AddArtifactsRequest_BeginChunk) isAddArtifactsRequest_Payload() {} + +func (*AddArtifactsRequest_Chunk) isAddArtifactsRequest_Payload() {} + +// Response to adding an artifact. Contains relevant metadata to verify successful transfer of +// artifact(s). +type AddArtifactsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of artifact(s) seen by the server. + Artifacts []*AddArtifactsResponse_ArtifactSummary `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` +} + +func (x *AddArtifactsResponse) Reset() { + *x = AddArtifactsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsResponse) ProtoMessage() {} + +func (x *AddArtifactsResponse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsResponse.ProtoReflect.Descriptor instead. +func (*AddArtifactsResponse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{10} +} + +func (x *AddArtifactsResponse) GetArtifacts() []*AddArtifactsResponse_ArtifactSummary { + if x != nil { + return x.Artifacts + } + return nil +} + +// Request to get current statuses of artifacts at the server side. +type ArtifactStatusesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + // + // The session_id specifies a spark session for a user id (which is specified + // by user_context.user_id). The session_id is set by the client to be able to + // collate streaming responses from different queries within the dedicated session. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // User context + UserContext *UserContext `protobuf:"bytes,2,opt,name=user_context,json=userContext,proto3" json:"user_context,omitempty"` + // Provides optional information about the client sending the request. This field + // can be used for language or version specific information and is only intended for + // logging purposes and will not be interpreted by the server. + ClientType *string `protobuf:"bytes,3,opt,name=client_type,json=clientType,proto3,oneof" json:"client_type,omitempty"` + // The name of the artifact is expected in the form of a "Relative Path" that is made up of a + // sequence of directories and the final file element. + // Examples of "Relative Path"s: "jars/test.jar", "classes/xyz.class", "abc.xyz", "a/b/X.jar". + // The server is expected to maintain the hierarchy of files as defined by their name. (i.e + // The relative path of the file on the server's filesystem will be the same as the name of + // the provided artifact) + Names []string `protobuf:"bytes,4,rep,name=names,proto3" json:"names,omitempty"` +} + +func (x *ArtifactStatusesRequest) Reset() { + *x = ArtifactStatusesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtifactStatusesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtifactStatusesRequest) ProtoMessage() {} + +func (x *ArtifactStatusesRequest) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtifactStatusesRequest.ProtoReflect.Descriptor instead. +func (*ArtifactStatusesRequest) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{11} +} + +func (x *ArtifactStatusesRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *ArtifactStatusesRequest) GetUserContext() *UserContext { + if x != nil { + return x.UserContext + } + return nil +} + +func (x *ArtifactStatusesRequest) GetClientType() string { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return "" +} + +func (x *ArtifactStatusesRequest) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +// Response to checking artifact statuses. +type ArtifactStatusesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A map of artifact names to their statuses. + Statuses map[string]*ArtifactStatusesResponse_ArtifactStatus `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ArtifactStatusesResponse) Reset() { + *x = ArtifactStatusesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtifactStatusesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtifactStatusesResponse) ProtoMessage() {} + +func (x *ArtifactStatusesResponse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtifactStatusesResponse.ProtoReflect.Descriptor instead. +func (*ArtifactStatusesResponse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{12} +} + +func (x *ArtifactStatusesResponse) GetStatuses() map[string]*ArtifactStatusesResponse_ArtifactStatus { + if x != nil { + return x.Statuses + } + return nil +} + +type InterruptRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + // + // The session_id specifies a spark session for a user id (which is specified + // by user_context.user_id). The session_id is set by the client to be able to + // collate streaming responses from different queries within the dedicated session. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // (Required) User context + UserContext *UserContext `protobuf:"bytes,2,opt,name=user_context,json=userContext,proto3" json:"user_context,omitempty"` + // Provides optional information about the client sending the request. This field + // can be used for language or version specific information and is only intended for + // logging purposes and will not be interpreted by the server. + ClientType *string `protobuf:"bytes,3,opt,name=client_type,json=clientType,proto3,oneof" json:"client_type,omitempty"` + // (Required) The type of interrupt to execute. + InterruptType InterruptRequest_InterruptType `protobuf:"varint,4,opt,name=interrupt_type,json=interruptType,proto3,enum=spark.connect.InterruptRequest_InterruptType" json:"interrupt_type,omitempty"` +} + +func (x *InterruptRequest) Reset() { + *x = InterruptRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterruptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterruptRequest) ProtoMessage() {} + +func (x *InterruptRequest) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InterruptRequest.ProtoReflect.Descriptor instead. +func (*InterruptRequest) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{13} +} + +func (x *InterruptRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *InterruptRequest) GetUserContext() *UserContext { + if x != nil { + return x.UserContext + } + return nil +} + +func (x *InterruptRequest) GetClientType() string { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return "" +} + +func (x *InterruptRequest) GetInterruptType() InterruptRequest_InterruptType { + if x != nil { + return x.InterruptType + } + return InterruptRequest_INTERRUPT_TYPE_UNSPECIFIED +} + +type InterruptResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` +} + +func (x *InterruptResponse) Reset() { + *x = InterruptResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterruptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterruptResponse) ProtoMessage() {} + +func (x *InterruptResponse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InterruptResponse.ProtoReflect.Descriptor instead. +func (*InterruptResponse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{14} +} + +func (x *InterruptResponse) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +type AnalyzePlanRequest_Schema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to be analyzed. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *AnalyzePlanRequest_Schema) Reset() { + *x = AnalyzePlanRequest_Schema{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_Schema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_Schema) ProtoMessage() {} + +func (x *AnalyzePlanRequest_Schema) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_Schema.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_Schema) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *AnalyzePlanRequest_Schema) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +// Explains the input plan based on a configurable mode. +type AnalyzePlanRequest_Explain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to be analyzed. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + // (Required) For analyzePlan rpc calls, configure the mode to explain plan in strings. + ExplainMode AnalyzePlanRequest_Explain_ExplainMode `protobuf:"varint,2,opt,name=explain_mode,json=explainMode,proto3,enum=spark.connect.AnalyzePlanRequest_Explain_ExplainMode" json:"explain_mode,omitempty"` +} + +func (x *AnalyzePlanRequest_Explain) Reset() { + *x = AnalyzePlanRequest_Explain{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_Explain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_Explain) ProtoMessage() {} + +func (x *AnalyzePlanRequest_Explain) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_Explain.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_Explain) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *AnalyzePlanRequest_Explain) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *AnalyzePlanRequest_Explain) GetExplainMode() AnalyzePlanRequest_Explain_ExplainMode { + if x != nil { + return x.ExplainMode + } + return AnalyzePlanRequest_Explain_EXPLAIN_MODE_UNSPECIFIED +} + +type AnalyzePlanRequest_TreeString struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to be analyzed. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + // (Optional) Max level of the schema. + Level *int32 `protobuf:"varint,2,opt,name=level,proto3,oneof" json:"level,omitempty"` +} + +func (x *AnalyzePlanRequest_TreeString) Reset() { + *x = AnalyzePlanRequest_TreeString{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_TreeString) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_TreeString) ProtoMessage() {} + +func (x *AnalyzePlanRequest_TreeString) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_TreeString.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_TreeString) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 2} +} + +func (x *AnalyzePlanRequest_TreeString) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *AnalyzePlanRequest_TreeString) GetLevel() int32 { + if x != nil && x.Level != nil { + return *x.Level + } + return 0 +} + +type AnalyzePlanRequest_IsLocal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to be analyzed. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *AnalyzePlanRequest_IsLocal) Reset() { + *x = AnalyzePlanRequest_IsLocal{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_IsLocal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_IsLocal) ProtoMessage() {} + +func (x *AnalyzePlanRequest_IsLocal) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_IsLocal.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_IsLocal) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 3} +} + +func (x *AnalyzePlanRequest_IsLocal) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type AnalyzePlanRequest_IsStreaming struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to be analyzed. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *AnalyzePlanRequest_IsStreaming) Reset() { + *x = AnalyzePlanRequest_IsStreaming{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_IsStreaming) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_IsStreaming) ProtoMessage() {} + +func (x *AnalyzePlanRequest_IsStreaming) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_IsStreaming.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_IsStreaming) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 4} +} + +func (x *AnalyzePlanRequest_IsStreaming) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type AnalyzePlanRequest_InputFiles struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to be analyzed. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *AnalyzePlanRequest_InputFiles) Reset() { + *x = AnalyzePlanRequest_InputFiles{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_InputFiles) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_InputFiles) ProtoMessage() {} + +func (x *AnalyzePlanRequest_InputFiles) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_InputFiles.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_InputFiles) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 5} +} + +func (x *AnalyzePlanRequest_InputFiles) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type AnalyzePlanRequest_SparkVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AnalyzePlanRequest_SparkVersion) Reset() { + *x = AnalyzePlanRequest_SparkVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_SparkVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_SparkVersion) ProtoMessage() {} + +func (x *AnalyzePlanRequest_SparkVersion) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_SparkVersion.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_SparkVersion) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 6} +} + +type AnalyzePlanRequest_DDLParse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The DDL formatted string to be parsed. + DdlString string `protobuf:"bytes,1,opt,name=ddl_string,json=ddlString,proto3" json:"ddl_string,omitempty"` +} + +func (x *AnalyzePlanRequest_DDLParse) Reset() { + *x = AnalyzePlanRequest_DDLParse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_DDLParse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_DDLParse) ProtoMessage() {} + +func (x *AnalyzePlanRequest_DDLParse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_DDLParse.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_DDLParse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 7} +} + +func (x *AnalyzePlanRequest_DDLParse) GetDdlString() string { + if x != nil { + return x.DdlString + } + return "" +} + +// Returns `true` when the logical query plans are equal and therefore return same results. +type AnalyzePlanRequest_SameSemantics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The plan to be compared. + TargetPlan *Plan `protobuf:"bytes,1,opt,name=target_plan,json=targetPlan,proto3" json:"target_plan,omitempty"` + // (Required) The other plan to be compared. + OtherPlan *Plan `protobuf:"bytes,2,opt,name=other_plan,json=otherPlan,proto3" json:"other_plan,omitempty"` +} + +func (x *AnalyzePlanRequest_SameSemantics) Reset() { + *x = AnalyzePlanRequest_SameSemantics{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_SameSemantics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_SameSemantics) ProtoMessage() {} + +func (x *AnalyzePlanRequest_SameSemantics) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_SameSemantics.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_SameSemantics) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 8} +} + +func (x *AnalyzePlanRequest_SameSemantics) GetTargetPlan() *Plan { + if x != nil { + return x.TargetPlan + } + return nil +} + +func (x *AnalyzePlanRequest_SameSemantics) GetOtherPlan() *Plan { + if x != nil { + return x.OtherPlan + } + return nil +} + +type AnalyzePlanRequest_SemanticHash struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to get a hashCode. + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *AnalyzePlanRequest_SemanticHash) Reset() { + *x = AnalyzePlanRequest_SemanticHash{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_SemanticHash) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_SemanticHash) ProtoMessage() {} + +func (x *AnalyzePlanRequest_SemanticHash) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_SemanticHash.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_SemanticHash) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 9} +} + +func (x *AnalyzePlanRequest_SemanticHash) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type AnalyzePlanRequest_Persist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to persist. + Relation *Relation `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + // (Optional) The storage level. + StorageLevel *StorageLevel `protobuf:"bytes,2,opt,name=storage_level,json=storageLevel,proto3,oneof" json:"storage_level,omitempty"` +} + +func (x *AnalyzePlanRequest_Persist) Reset() { + *x = AnalyzePlanRequest_Persist{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_Persist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_Persist) ProtoMessage() {} + +func (x *AnalyzePlanRequest_Persist) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_Persist.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_Persist) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 10} +} + +func (x *AnalyzePlanRequest_Persist) GetRelation() *Relation { + if x != nil { + return x.Relation + } + return nil +} + +func (x *AnalyzePlanRequest_Persist) GetStorageLevel() *StorageLevel { + if x != nil { + return x.StorageLevel + } + return nil +} + +type AnalyzePlanRequest_Unpersist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to unpersist. + Relation *Relation `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + // (Optional) Whether to block until all blocks are deleted. + Blocking *bool `protobuf:"varint,2,opt,name=blocking,proto3,oneof" json:"blocking,omitempty"` +} + +func (x *AnalyzePlanRequest_Unpersist) Reset() { + *x = AnalyzePlanRequest_Unpersist{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_Unpersist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_Unpersist) ProtoMessage() {} + +func (x *AnalyzePlanRequest_Unpersist) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_Unpersist.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_Unpersist) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 11} +} + +func (x *AnalyzePlanRequest_Unpersist) GetRelation() *Relation { + if x != nil { + return x.Relation + } + return nil +} + +func (x *AnalyzePlanRequest_Unpersist) GetBlocking() bool { + if x != nil && x.Blocking != nil { + return *x.Blocking + } + return false +} + +type AnalyzePlanRequest_GetStorageLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The logical plan to get the storage level. + Relation *Relation `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` +} + +func (x *AnalyzePlanRequest_GetStorageLevel) Reset() { + *x = AnalyzePlanRequest_GetStorageLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanRequest_GetStorageLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanRequest_GetStorageLevel) ProtoMessage() {} + +func (x *AnalyzePlanRequest_GetStorageLevel) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanRequest_GetStorageLevel.ProtoReflect.Descriptor instead. +func (*AnalyzePlanRequest_GetStorageLevel) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{2, 12} +} + +func (x *AnalyzePlanRequest_GetStorageLevel) GetRelation() *Relation { + if x != nil { + return x.Relation + } + return nil +} + +type AnalyzePlanResponse_Schema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Schema *DataType `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *AnalyzePlanResponse_Schema) Reset() { + *x = AnalyzePlanResponse_Schema{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_Schema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_Schema) ProtoMessage() {} + +func (x *AnalyzePlanResponse_Schema) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_Schema.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_Schema) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *AnalyzePlanResponse_Schema) GetSchema() *DataType { + if x != nil { + return x.Schema + } + return nil +} + +type AnalyzePlanResponse_Explain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExplainString string `protobuf:"bytes,1,opt,name=explain_string,json=explainString,proto3" json:"explain_string,omitempty"` +} + +func (x *AnalyzePlanResponse_Explain) Reset() { + *x = AnalyzePlanResponse_Explain{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_Explain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_Explain) ProtoMessage() {} + +func (x *AnalyzePlanResponse_Explain) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_Explain.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_Explain) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *AnalyzePlanResponse_Explain) GetExplainString() string { + if x != nil { + return x.ExplainString + } + return "" +} + +type AnalyzePlanResponse_TreeString struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TreeString string `protobuf:"bytes,1,opt,name=tree_string,json=treeString,proto3" json:"tree_string,omitempty"` +} + +func (x *AnalyzePlanResponse_TreeString) Reset() { + *x = AnalyzePlanResponse_TreeString{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_TreeString) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_TreeString) ProtoMessage() {} + +func (x *AnalyzePlanResponse_TreeString) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_TreeString.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_TreeString) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *AnalyzePlanResponse_TreeString) GetTreeString() string { + if x != nil { + return x.TreeString + } + return "" +} + +type AnalyzePlanResponse_IsLocal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsLocal bool `protobuf:"varint,1,opt,name=is_local,json=isLocal,proto3" json:"is_local,omitempty"` +} + +func (x *AnalyzePlanResponse_IsLocal) Reset() { + *x = AnalyzePlanResponse_IsLocal{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_IsLocal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_IsLocal) ProtoMessage() {} + +func (x *AnalyzePlanResponse_IsLocal) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_IsLocal.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_IsLocal) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 3} +} + +func (x *AnalyzePlanResponse_IsLocal) GetIsLocal() bool { + if x != nil { + return x.IsLocal + } + return false +} + +type AnalyzePlanResponse_IsStreaming struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsStreaming bool `protobuf:"varint,1,opt,name=is_streaming,json=isStreaming,proto3" json:"is_streaming,omitempty"` +} + +func (x *AnalyzePlanResponse_IsStreaming) Reset() { + *x = AnalyzePlanResponse_IsStreaming{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_IsStreaming) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_IsStreaming) ProtoMessage() {} + +func (x *AnalyzePlanResponse_IsStreaming) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_IsStreaming.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_IsStreaming) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 4} +} + +func (x *AnalyzePlanResponse_IsStreaming) GetIsStreaming() bool { + if x != nil { + return x.IsStreaming + } + return false +} + +type AnalyzePlanResponse_InputFiles struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A best-effort snapshot of the files that compose this Dataset + Files []string `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` +} + +func (x *AnalyzePlanResponse_InputFiles) Reset() { + *x = AnalyzePlanResponse_InputFiles{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_InputFiles) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_InputFiles) ProtoMessage() {} + +func (x *AnalyzePlanResponse_InputFiles) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_InputFiles.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_InputFiles) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 5} +} + +func (x *AnalyzePlanResponse_InputFiles) GetFiles() []string { + if x != nil { + return x.Files + } + return nil +} + +type AnalyzePlanResponse_SparkVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *AnalyzePlanResponse_SparkVersion) Reset() { + *x = AnalyzePlanResponse_SparkVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_SparkVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_SparkVersion) ProtoMessage() {} + +func (x *AnalyzePlanResponse_SparkVersion) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_SparkVersion.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_SparkVersion) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 6} +} + +func (x *AnalyzePlanResponse_SparkVersion) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type AnalyzePlanResponse_DDLParse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Parsed *DataType `protobuf:"bytes,1,opt,name=parsed,proto3" json:"parsed,omitempty"` +} + +func (x *AnalyzePlanResponse_DDLParse) Reset() { + *x = AnalyzePlanResponse_DDLParse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_DDLParse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_DDLParse) ProtoMessage() {} + +func (x *AnalyzePlanResponse_DDLParse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_DDLParse.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_DDLParse) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 7} +} + +func (x *AnalyzePlanResponse_DDLParse) GetParsed() *DataType { + if x != nil { + return x.Parsed + } + return nil +} + +type AnalyzePlanResponse_SameSemantics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Result bool `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"` +} + +func (x *AnalyzePlanResponse_SameSemantics) Reset() { + *x = AnalyzePlanResponse_SameSemantics{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_SameSemantics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_SameSemantics) ProtoMessage() {} + +func (x *AnalyzePlanResponse_SameSemantics) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_SameSemantics.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_SameSemantics) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 8} +} + +func (x *AnalyzePlanResponse_SameSemantics) GetResult() bool { + if x != nil { + return x.Result + } + return false +} + +type AnalyzePlanResponse_SemanticHash struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Result int32 `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"` +} + +func (x *AnalyzePlanResponse_SemanticHash) Reset() { + *x = AnalyzePlanResponse_SemanticHash{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_SemanticHash) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_SemanticHash) ProtoMessage() {} + +func (x *AnalyzePlanResponse_SemanticHash) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_SemanticHash.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_SemanticHash) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 9} +} + +func (x *AnalyzePlanResponse_SemanticHash) GetResult() int32 { + if x != nil { + return x.Result + } + return 0 +} + +type AnalyzePlanResponse_Persist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AnalyzePlanResponse_Persist) Reset() { + *x = AnalyzePlanResponse_Persist{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_Persist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_Persist) ProtoMessage() {} + +func (x *AnalyzePlanResponse_Persist) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_Persist.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_Persist) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 10} +} + +type AnalyzePlanResponse_Unpersist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AnalyzePlanResponse_Unpersist) Reset() { + *x = AnalyzePlanResponse_Unpersist{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_Unpersist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_Unpersist) ProtoMessage() {} + +func (x *AnalyzePlanResponse_Unpersist) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_Unpersist.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_Unpersist) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 11} +} + +type AnalyzePlanResponse_GetStorageLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The StorageLevel as a result of get_storage_level request. + StorageLevel *StorageLevel `protobuf:"bytes,1,opt,name=storage_level,json=storageLevel,proto3" json:"storage_level,omitempty"` +} + +func (x *AnalyzePlanResponse_GetStorageLevel) Reset() { + *x = AnalyzePlanResponse_GetStorageLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalyzePlanResponse_GetStorageLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalyzePlanResponse_GetStorageLevel) ProtoMessage() {} + +func (x *AnalyzePlanResponse_GetStorageLevel) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalyzePlanResponse_GetStorageLevel.ProtoReflect.Descriptor instead. +func (*AnalyzePlanResponse_GetStorageLevel) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{3, 12} +} + +func (x *AnalyzePlanResponse_GetStorageLevel) GetStorageLevel() *StorageLevel { + if x != nil { + return x.StorageLevel + } + return nil +} + +type ExecutePlanRequest_RequestOption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to RequestOption: + // + // *ExecutePlanRequest_RequestOption_Extension + RequestOption isExecutePlanRequest_RequestOption_RequestOption `protobuf_oneof:"request_option"` +} + +func (x *ExecutePlanRequest_RequestOption) Reset() { + *x = ExecutePlanRequest_RequestOption{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanRequest_RequestOption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanRequest_RequestOption) ProtoMessage() {} + +func (x *ExecutePlanRequest_RequestOption) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanRequest_RequestOption.ProtoReflect.Descriptor instead. +func (*ExecutePlanRequest_RequestOption) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{4, 0} +} + +func (m *ExecutePlanRequest_RequestOption) GetRequestOption() isExecutePlanRequest_RequestOption_RequestOption { + if m != nil { + return m.RequestOption + } + return nil +} + +func (x *ExecutePlanRequest_RequestOption) GetExtension() *anypb.Any { + if x, ok := x.GetRequestOption().(*ExecutePlanRequest_RequestOption_Extension); ok { + return x.Extension + } + return nil +} + +type isExecutePlanRequest_RequestOption_RequestOption interface { + isExecutePlanRequest_RequestOption_RequestOption() +} + +type ExecutePlanRequest_RequestOption_Extension struct { + // Extension type for request options + Extension *anypb.Any `protobuf:"bytes,999,opt,name=extension,proto3,oneof"` +} + +func (*ExecutePlanRequest_RequestOption_Extension) isExecutePlanRequest_RequestOption_RequestOption() { +} + +// A SQL command returns an opaque Relation that can be directly used as input for the next +// call. +type ExecutePlanResponse_SqlCommandResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *Relation `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` +} + +func (x *ExecutePlanResponse_SqlCommandResult) Reset() { + *x = ExecutePlanResponse_SqlCommandResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse_SqlCommandResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse_SqlCommandResult) ProtoMessage() {} + +func (x *ExecutePlanResponse_SqlCommandResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse_SqlCommandResult.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse_SqlCommandResult) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *ExecutePlanResponse_SqlCommandResult) GetRelation() *Relation { + if x != nil { + return x.Relation + } + return nil +} + +// Batch results of metrics. +type ExecutePlanResponse_ArrowBatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RowCount int64 `protobuf:"varint,1,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *ExecutePlanResponse_ArrowBatch) Reset() { + *x = ExecutePlanResponse_ArrowBatch{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse_ArrowBatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse_ArrowBatch) ProtoMessage() {} + +func (x *ExecutePlanResponse_ArrowBatch) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse_ArrowBatch.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse_ArrowBatch) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5, 1} +} + +func (x *ExecutePlanResponse_ArrowBatch) GetRowCount() int64 { + if x != nil { + return x.RowCount + } + return 0 +} + +func (x *ExecutePlanResponse_ArrowBatch) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type ExecutePlanResponse_Metrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metrics []*ExecutePlanResponse_Metrics_MetricObject `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *ExecutePlanResponse_Metrics) Reset() { + *x = ExecutePlanResponse_Metrics{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse_Metrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse_Metrics) ProtoMessage() {} + +func (x *ExecutePlanResponse_Metrics) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse_Metrics.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse_Metrics) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5, 2} +} + +func (x *ExecutePlanResponse_Metrics) GetMetrics() []*ExecutePlanResponse_Metrics_MetricObject { + if x != nil { + return x.Metrics + } + return nil +} + +type ExecutePlanResponse_ObservedMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Values []*Expression_Literal `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *ExecutePlanResponse_ObservedMetrics) Reset() { + *x = ExecutePlanResponse_ObservedMetrics{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse_ObservedMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse_ObservedMetrics) ProtoMessage() {} + +func (x *ExecutePlanResponse_ObservedMetrics) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse_ObservedMetrics.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse_ObservedMetrics) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5, 3} +} + +func (x *ExecutePlanResponse_ObservedMetrics) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExecutePlanResponse_ObservedMetrics) GetValues() []*Expression_Literal { + if x != nil { + return x.Values + } + return nil +} + +type ExecutePlanResponse_Metrics_MetricObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + PlanId int64 `protobuf:"varint,2,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + Parent int64 `protobuf:"varint,3,opt,name=parent,proto3" json:"parent,omitempty"` + ExecutionMetrics map[string]*ExecutePlanResponse_Metrics_MetricValue `protobuf:"bytes,4,rep,name=execution_metrics,json=executionMetrics,proto3" json:"execution_metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExecutePlanResponse_Metrics_MetricObject) Reset() { + *x = ExecutePlanResponse_Metrics_MetricObject{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse_Metrics_MetricObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse_Metrics_MetricObject) ProtoMessage() {} + +func (x *ExecutePlanResponse_Metrics_MetricObject) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse_Metrics_MetricObject.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse_Metrics_MetricObject) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5, 2, 0} +} + +func (x *ExecutePlanResponse_Metrics_MetricObject) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExecutePlanResponse_Metrics_MetricObject) GetPlanId() int64 { + if x != nil { + return x.PlanId + } + return 0 +} + +func (x *ExecutePlanResponse_Metrics_MetricObject) GetParent() int64 { + if x != nil { + return x.Parent + } + return 0 +} + +func (x *ExecutePlanResponse_Metrics_MetricObject) GetExecutionMetrics() map[string]*ExecutePlanResponse_Metrics_MetricValue { + if x != nil { + return x.ExecutionMetrics + } + return nil +} + +type ExecutePlanResponse_Metrics_MetricValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` + MetricType string `protobuf:"bytes,3,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` +} + +func (x *ExecutePlanResponse_Metrics_MetricValue) Reset() { + *x = ExecutePlanResponse_Metrics_MetricValue{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecutePlanResponse_Metrics_MetricValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecutePlanResponse_Metrics_MetricValue) ProtoMessage() {} + +func (x *ExecutePlanResponse_Metrics_MetricValue) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecutePlanResponse_Metrics_MetricValue.ProtoReflect.Descriptor instead. +func (*ExecutePlanResponse_Metrics_MetricValue) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{5, 2, 1} +} + +func (x *ExecutePlanResponse_Metrics_MetricValue) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExecutePlanResponse_Metrics_MetricValue) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *ExecutePlanResponse_Metrics_MetricValue) GetMetricType() string { + if x != nil { + return x.MetricType + } + return "" +} + +type ConfigRequest_Operation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to OpType: + // + // *ConfigRequest_Operation_Set + // *ConfigRequest_Operation_Get + // *ConfigRequest_Operation_GetWithDefault + // *ConfigRequest_Operation_GetOption + // *ConfigRequest_Operation_GetAll + // *ConfigRequest_Operation_Unset + // *ConfigRequest_Operation_IsModifiable + OpType isConfigRequest_Operation_OpType `protobuf_oneof:"op_type"` +} + +func (x *ConfigRequest_Operation) Reset() { + *x = ConfigRequest_Operation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_Operation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_Operation) ProtoMessage() {} + +func (x *ConfigRequest_Operation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_Operation.ProtoReflect.Descriptor instead. +func (*ConfigRequest_Operation) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 0} +} + +func (m *ConfigRequest_Operation) GetOpType() isConfigRequest_Operation_OpType { + if m != nil { + return m.OpType + } + return nil +} + +func (x *ConfigRequest_Operation) GetSet() *ConfigRequest_Set { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_Set); ok { + return x.Set + } + return nil +} + +func (x *ConfigRequest_Operation) GetGet() *ConfigRequest_Get { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_Get); ok { + return x.Get + } + return nil +} + +func (x *ConfigRequest_Operation) GetGetWithDefault() *ConfigRequest_GetWithDefault { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_GetWithDefault); ok { + return x.GetWithDefault + } + return nil +} + +func (x *ConfigRequest_Operation) GetGetOption() *ConfigRequest_GetOption { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_GetOption); ok { + return x.GetOption + } + return nil +} + +func (x *ConfigRequest_Operation) GetGetAll() *ConfigRequest_GetAll { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_GetAll); ok { + return x.GetAll + } + return nil +} + +func (x *ConfigRequest_Operation) GetUnset() *ConfigRequest_Unset { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_Unset); ok { + return x.Unset + } + return nil +} + +func (x *ConfigRequest_Operation) GetIsModifiable() *ConfigRequest_IsModifiable { + if x, ok := x.GetOpType().(*ConfigRequest_Operation_IsModifiable); ok { + return x.IsModifiable + } + return nil +} + +type isConfigRequest_Operation_OpType interface { + isConfigRequest_Operation_OpType() +} + +type ConfigRequest_Operation_Set struct { + Set *ConfigRequest_Set `protobuf:"bytes,1,opt,name=set,proto3,oneof"` +} + +type ConfigRequest_Operation_Get struct { + Get *ConfigRequest_Get `protobuf:"bytes,2,opt,name=get,proto3,oneof"` +} + +type ConfigRequest_Operation_GetWithDefault struct { + GetWithDefault *ConfigRequest_GetWithDefault `protobuf:"bytes,3,opt,name=get_with_default,json=getWithDefault,proto3,oneof"` +} + +type ConfigRequest_Operation_GetOption struct { + GetOption *ConfigRequest_GetOption `protobuf:"bytes,4,opt,name=get_option,json=getOption,proto3,oneof"` +} + +type ConfigRequest_Operation_GetAll struct { + GetAll *ConfigRequest_GetAll `protobuf:"bytes,5,opt,name=get_all,json=getAll,proto3,oneof"` +} + +type ConfigRequest_Operation_Unset struct { + Unset *ConfigRequest_Unset `protobuf:"bytes,6,opt,name=unset,proto3,oneof"` +} + +type ConfigRequest_Operation_IsModifiable struct { + IsModifiable *ConfigRequest_IsModifiable `protobuf:"bytes,7,opt,name=is_modifiable,json=isModifiable,proto3,oneof"` +} + +func (*ConfigRequest_Operation_Set) isConfigRequest_Operation_OpType() {} + +func (*ConfigRequest_Operation_Get) isConfigRequest_Operation_OpType() {} + +func (*ConfigRequest_Operation_GetWithDefault) isConfigRequest_Operation_OpType() {} + +func (*ConfigRequest_Operation_GetOption) isConfigRequest_Operation_OpType() {} + +func (*ConfigRequest_Operation_GetAll) isConfigRequest_Operation_OpType() {} + +func (*ConfigRequest_Operation_Unset) isConfigRequest_Operation_OpType() {} + +func (*ConfigRequest_Operation_IsModifiable) isConfigRequest_Operation_OpType() {} + +type ConfigRequest_Set struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The config key-value pairs to set. + Pairs []*KeyValue `protobuf:"bytes,1,rep,name=pairs,proto3" json:"pairs,omitempty"` +} + +func (x *ConfigRequest_Set) Reset() { + *x = ConfigRequest_Set{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_Set) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_Set) ProtoMessage() {} + +func (x *ConfigRequest_Set) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_Set.ProtoReflect.Descriptor instead. +func (*ConfigRequest_Set) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 1} +} + +func (x *ConfigRequest_Set) GetPairs() []*KeyValue { + if x != nil { + return x.Pairs + } + return nil +} + +type ConfigRequest_Get struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The config keys to get. + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` +} + +func (x *ConfigRequest_Get) Reset() { + *x = ConfigRequest_Get{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_Get) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_Get) ProtoMessage() {} + +func (x *ConfigRequest_Get) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_Get.ProtoReflect.Descriptor instead. +func (*ConfigRequest_Get) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 2} +} + +func (x *ConfigRequest_Get) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type ConfigRequest_GetWithDefault struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The config key-value paris to get. The value will be used as the default value. + Pairs []*KeyValue `protobuf:"bytes,1,rep,name=pairs,proto3" json:"pairs,omitempty"` +} + +func (x *ConfigRequest_GetWithDefault) Reset() { + *x = ConfigRequest_GetWithDefault{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_GetWithDefault) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_GetWithDefault) ProtoMessage() {} + +func (x *ConfigRequest_GetWithDefault) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_GetWithDefault.ProtoReflect.Descriptor instead. +func (*ConfigRequest_GetWithDefault) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 3} +} + +func (x *ConfigRequest_GetWithDefault) GetPairs() []*KeyValue { + if x != nil { + return x.Pairs + } + return nil +} + +type ConfigRequest_GetOption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The config keys to get optionally. + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` +} + +func (x *ConfigRequest_GetOption) Reset() { + *x = ConfigRequest_GetOption{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_GetOption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_GetOption) ProtoMessage() {} + +func (x *ConfigRequest_GetOption) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_GetOption.ProtoReflect.Descriptor instead. +func (*ConfigRequest_GetOption) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 4} +} + +func (x *ConfigRequest_GetOption) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type ConfigRequest_GetAll struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) The prefix of the config key to get. + Prefix *string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` +} + +func (x *ConfigRequest_GetAll) Reset() { + *x = ConfigRequest_GetAll{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_GetAll) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_GetAll) ProtoMessage() {} + +func (x *ConfigRequest_GetAll) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_GetAll.ProtoReflect.Descriptor instead. +func (*ConfigRequest_GetAll) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 5} +} + +func (x *ConfigRequest_GetAll) GetPrefix() string { + if x != nil && x.Prefix != nil { + return *x.Prefix + } + return "" +} + +type ConfigRequest_Unset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The config keys to unset. + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` +} + +func (x *ConfigRequest_Unset) Reset() { + *x = ConfigRequest_Unset{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_Unset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_Unset) ProtoMessage() {} + +func (x *ConfigRequest_Unset) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_Unset.ProtoReflect.Descriptor instead. +func (*ConfigRequest_Unset) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 6} +} + +func (x *ConfigRequest_Unset) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type ConfigRequest_IsModifiable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The config keys to check the config is modifiable. + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` +} + +func (x *ConfigRequest_IsModifiable) Reset() { + *x = ConfigRequest_IsModifiable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigRequest_IsModifiable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigRequest_IsModifiable) ProtoMessage() {} + +func (x *ConfigRequest_IsModifiable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigRequest_IsModifiable.ProtoReflect.Descriptor instead. +func (*ConfigRequest_IsModifiable) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{7, 7} +} + +func (x *ConfigRequest_IsModifiable) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +// A chunk of an Artifact. +type AddArtifactsRequest_ArtifactChunk struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Data chunk. + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + // CRC to allow server to verify integrity of the chunk. + Crc int64 `protobuf:"varint,2,opt,name=crc,proto3" json:"crc,omitempty"` +} + +func (x *AddArtifactsRequest_ArtifactChunk) Reset() { + *x = AddArtifactsRequest_ArtifactChunk{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsRequest_ArtifactChunk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsRequest_ArtifactChunk) ProtoMessage() {} + +func (x *AddArtifactsRequest_ArtifactChunk) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsRequest_ArtifactChunk.ProtoReflect.Descriptor instead. +func (*AddArtifactsRequest_ArtifactChunk) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *AddArtifactsRequest_ArtifactChunk) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *AddArtifactsRequest_ArtifactChunk) GetCrc() int64 { + if x != nil { + return x.Crc + } + return 0 +} + +// An artifact that is contained in a single `ArtifactChunk`. +// Generally, this message represents tiny artifacts such as REPL-generated class files. +type AddArtifactsRequest_SingleChunkArtifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the artifact is expected in the form of a "Relative Path" that is made up of a + // sequence of directories and the final file element. + // Examples of "Relative Path"s: "jars/test.jar", "classes/xyz.class", "abc.xyz", "a/b/X.jar". + // The server is expected to maintain the hierarchy of files as defined by their name. (i.e + // The relative path of the file on the server's filesystem will be the same as the name of + // the provided artifact) + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // A single data chunk. + Data *AddArtifactsRequest_ArtifactChunk `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *AddArtifactsRequest_SingleChunkArtifact) Reset() { + *x = AddArtifactsRequest_SingleChunkArtifact{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsRequest_SingleChunkArtifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsRequest_SingleChunkArtifact) ProtoMessage() {} + +func (x *AddArtifactsRequest_SingleChunkArtifact) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsRequest_SingleChunkArtifact.ProtoReflect.Descriptor instead. +func (*AddArtifactsRequest_SingleChunkArtifact) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{9, 1} +} + +func (x *AddArtifactsRequest_SingleChunkArtifact) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AddArtifactsRequest_SingleChunkArtifact) GetData() *AddArtifactsRequest_ArtifactChunk { + if x != nil { + return x.Data + } + return nil +} + +// A number of `SingleChunkArtifact` batched into a single RPC. +type AddArtifactsRequest_Batch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Artifacts []*AddArtifactsRequest_SingleChunkArtifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` +} + +func (x *AddArtifactsRequest_Batch) Reset() { + *x = AddArtifactsRequest_Batch{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsRequest_Batch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsRequest_Batch) ProtoMessage() {} + +func (x *AddArtifactsRequest_Batch) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsRequest_Batch.ProtoReflect.Descriptor instead. +func (*AddArtifactsRequest_Batch) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{9, 2} +} + +func (x *AddArtifactsRequest_Batch) GetArtifacts() []*AddArtifactsRequest_SingleChunkArtifact { + if x != nil { + return x.Artifacts + } + return nil +} + +// Signals the beginning/start of a chunked artifact. +// A large artifact is transferred through a payload of `BeginChunkedArtifact` followed by a +// sequence of `ArtifactChunk`s. +type AddArtifactsRequest_BeginChunkedArtifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the artifact undergoing chunking. Follows the same conventions as the `name` in + // the `Artifact` message. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Total size of the artifact in bytes. + TotalBytes int64 `protobuf:"varint,2,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` + // Number of chunks the artifact is split into. + // This includes the `initial_chunk`. + NumChunks int64 `protobuf:"varint,3,opt,name=num_chunks,json=numChunks,proto3" json:"num_chunks,omitempty"` + // The first/initial chunk. + InitialChunk *AddArtifactsRequest_ArtifactChunk `protobuf:"bytes,4,opt,name=initial_chunk,json=initialChunk,proto3" json:"initial_chunk,omitempty"` +} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) Reset() { + *x = AddArtifactsRequest_BeginChunkedArtifact{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsRequest_BeginChunkedArtifact) ProtoMessage() {} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsRequest_BeginChunkedArtifact.ProtoReflect.Descriptor instead. +func (*AddArtifactsRequest_BeginChunkedArtifact) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{9, 3} +} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) GetTotalBytes() int64 { + if x != nil { + return x.TotalBytes + } + return 0 +} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) GetNumChunks() int64 { + if x != nil { + return x.NumChunks + } + return 0 +} + +func (x *AddArtifactsRequest_BeginChunkedArtifact) GetInitialChunk() *AddArtifactsRequest_ArtifactChunk { + if x != nil { + return x.InitialChunk + } + return nil +} + +// Metadata of an artifact. +type AddArtifactsResponse_ArtifactSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Whether the CRC (Cyclic Redundancy Check) is successful on server verification. + // The server discards any artifact that fails the CRC. + // If false, the client may choose to resend the artifact specified by `name`. + IsCrcSuccessful bool `protobuf:"varint,2,opt,name=is_crc_successful,json=isCrcSuccessful,proto3" json:"is_crc_successful,omitempty"` +} + +func (x *AddArtifactsResponse_ArtifactSummary) Reset() { + *x = AddArtifactsResponse_ArtifactSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddArtifactsResponse_ArtifactSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddArtifactsResponse_ArtifactSummary) ProtoMessage() {} + +func (x *AddArtifactsResponse_ArtifactSummary) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddArtifactsResponse_ArtifactSummary.ProtoReflect.Descriptor instead. +func (*AddArtifactsResponse_ArtifactSummary) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *AddArtifactsResponse_ArtifactSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AddArtifactsResponse_ArtifactSummary) GetIsCrcSuccessful() bool { + if x != nil { + return x.IsCrcSuccessful + } + return false +} + +type ArtifactStatusesResponse_ArtifactStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Exists or not particular artifact at the server. + Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"` +} + +func (x *ArtifactStatusesResponse_ArtifactStatus) Reset() { + *x = ArtifactStatusesResponse_ArtifactStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_base_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtifactStatusesResponse_ArtifactStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtifactStatusesResponse_ArtifactStatus) ProtoMessage() {} + +func (x *ArtifactStatusesResponse_ArtifactStatus) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_base_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtifactStatusesResponse_ArtifactStatus.ProtoReflect.Descriptor instead. +func (*ArtifactStatusesResponse_ArtifactStatus) Descriptor() ([]byte, []int) { + return file_spark_connect_base_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *ArtifactStatusesResponse_ArtifactStatus) GetExists() bool { + if x != nil { + return x.Exists + } + return false +} + +var File_spark_connect_base_proto protoreflect.FileDescriptor + +var file_spark_connect_base_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x04, 0x50, 0x6c, 0x61, + 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, + 0x12, 0x32, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x7a, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x17, + 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, + 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf5, 0x12, 0x0a, 0x12, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x45, 0x0a, 0x07, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, + 0x6e, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x65, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, + 0x00, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x0c, 0x69, 0x73, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x49, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x48, + 0x00, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x4f, + 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x55, 0x0a, 0x0d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x64, 0x6c, 0x5f, 0x70, 0x61, + 0x72, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, + 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x44, 0x4c, + 0x50, 0x61, 0x72, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x64, 0x6c, 0x50, 0x61, 0x72, 0x73, + 0x65, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, + 0x69, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, + 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x61, 0x6d, + 0x65, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x61, + 0x6d, 0x65, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x48, 0x61, + 0x73, 0x68, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x75, 0x6e, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x55, 0x6e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x75, 0x6e, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x31, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0xbb, 0x02, 0x0a, 0x07, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, + 0x58, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x0b, 0x45, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, + 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x58, 0x50, 0x4c, 0x41, + 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, + 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x45, + 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x47, 0x45, 0x4e, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, + 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x54, 0x45, 0x44, 0x10, 0x05, 0x1a, 0x5a, 0x0a, 0x0a, 0x54, 0x72, 0x65, 0x65, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, + 0x19, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, + 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x32, 0x0a, 0x07, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, + 0x27, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0x36, 0x0a, 0x0b, 0x49, 0x73, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, + 0x1a, 0x35, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x27, + 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, + 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0x0e, 0x0a, 0x0c, 0x53, 0x70, 0x61, 0x72, 0x6b, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x29, 0x0a, 0x08, 0x44, 0x44, 0x4c, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x64, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x64, 0x6c, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x1a, 0x79, 0x0a, 0x0d, 0x53, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, + 0x69, 0x63, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6c, + 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x1a, 0x37, 0x0a, + 0x0c, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, + 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x6e, + 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x1a, 0x97, 0x01, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0c, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x1a, 0x6e, 0x0a, 0x09, 0x55, 0x6e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, + 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x1a, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x33, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x7a, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x99, 0x0d, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, + 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x46, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x07, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x72, 0x65, 0x65, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x74, + 0x72, 0x65, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x47, 0x0a, 0x08, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, + 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x73, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x50, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x4a, 0x0a, 0x09, 0x64, 0x64, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x44, 0x4c, 0x50, 0x61, 0x72, 0x73, + 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x64, 0x6c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x59, 0x0a, + 0x0e, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x61, 0x6d, 0x65, 0x53, 0x65, + 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x61, 0x6d, 0x65, 0x53, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x73, 0x65, 0x6d, 0x61, + 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x48, 0x61, 0x73, 0x68, + 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x46, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x07, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x09, 0x75, 0x6e, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x55, 0x6e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x75, 0x6e, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x39, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x1a, 0x30, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x2d, 0x0a, 0x0a, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x65, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x24, 0x0a, 0x07, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, + 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x1a, 0x30, 0x0a, 0x0b, 0x49, 0x73, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x1a, 0x22, 0x0a, 0x0a, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x1a, 0x28, 0x0a, 0x0c, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x3b, 0x0a, 0x08, 0x44, 0x44, + 0x4c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x1a, 0x27, 0x0a, 0x0d, 0x53, 0x61, 0x6d, 0x65, 0x53, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x1a, 0x26, 0x0a, 0x0c, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x09, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x1a, 0x0b, 0x0a, 0x09, 0x55, 0x6e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x1a, 0x53, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0x85, 0x03, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, + 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x58, 0x0a, + 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, + 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe5, 0x0d, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x50, + 0x0a, 0x0b, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x63, 0x0a, 0x12, 0x73, 0x71, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x48, 0x00, 0x52, 0x10, 0x73, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x7e, 0x0a, 0x23, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x71, 0x0a, 0x1e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6b, 0x0a, 0x1c, 0x67, 0x65, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x87, 0x01, 0x0a, 0x26, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x35, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, + 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x5d, 0x0a, 0x10, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x47, 0x0a, 0x10, + 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x33, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3d, 0x0a, 0x0a, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x85, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x12, 0x51, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x1a, 0xcc, 0x02, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7a, 0x0a, 0x11, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x7b, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x4c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x58, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x60, 0x0a, 0x0f, + 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0f, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x41, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x19, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x84, 0x08, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x44, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xf2, + 0x03, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x03, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x03, 0x73, + 0x65, 0x74, 0x12, 0x34, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x57, 0x0a, 0x10, 0x67, 0x65, 0x74, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, + 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x09, 0x67, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x67, 0x65, + 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x3a, 0x0a, 0x05, 0x75, 0x6e, + 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x6e, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, + 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x73, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x73, 0x4d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x1a, 0x34, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, + 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x19, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x3f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x1f, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x30, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x1b, 0x0a, 0x05, 0x55, 0x6e, 0x73, 0x65, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x6b, 0x65, 0x79, 0x73, 0x1a, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x7a, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, + 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xe7, 0x06, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0b, + 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x48, 0x00, 0x52, 0x05, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x0b, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x75, + 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x65, 0x67, + 0x69, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, + 0x48, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, + 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, + 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x35, 0x0a, 0x0d, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x63, 0x72, 0x63, + 0x1a, 0x6f, 0x0a, 0x13, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x1a, 0x5d, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x09, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x64, + 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x1a, 0xc1, 0x01, 0x0a, 0x14, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x65, + 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x55, 0x0a, + 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x43, + 0x68, 0x75, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0xbc, 0x01, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x1a, 0x51, 0x0a, 0x0f, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x63, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, + 0x73, 0x43, 0x72, 0x63, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x22, 0xc3, + 0x01, 0x0a, 0x17, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, + 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x18, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x51, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x1a, 0x28, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x1a, 0x73, + 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x4c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xc5, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0e, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x47, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x32, 0x0a, 0x11, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x32, + 0xa4, 0x04, 0x0a, 0x13, 0x53, 0x70, 0x61, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, + 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x56, 0x0a, 0x0b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, + 0x12, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x12, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, + 0x63, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, + 0x74, 0x12, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, + 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_base_proto_rawDescOnce sync.Once + file_spark_connect_base_proto_rawDescData = file_spark_connect_base_proto_rawDesc +) + +func file_spark_connect_base_proto_rawDescGZIP() []byte { + file_spark_connect_base_proto_rawDescOnce.Do(func() { + file_spark_connect_base_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_base_proto_rawDescData) + }) + return file_spark_connect_base_proto_rawDescData +} + +var file_spark_connect_base_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_spark_connect_base_proto_msgTypes = make([]protoimpl.MessageInfo, 64) +var file_spark_connect_base_proto_goTypes = []interface{}{ + (AnalyzePlanRequest_Explain_ExplainMode)(0), // 0: spark.connect.AnalyzePlanRequest.Explain.ExplainMode + (InterruptRequest_InterruptType)(0), // 1: spark.connect.InterruptRequest.InterruptType + (*Plan)(nil), // 2: spark.connect.Plan + (*UserContext)(nil), // 3: spark.connect.UserContext + (*AnalyzePlanRequest)(nil), // 4: spark.connect.AnalyzePlanRequest + (*AnalyzePlanResponse)(nil), // 5: spark.connect.AnalyzePlanResponse + (*ExecutePlanRequest)(nil), // 6: spark.connect.ExecutePlanRequest + (*ExecutePlanResponse)(nil), // 7: spark.connect.ExecutePlanResponse + (*KeyValue)(nil), // 8: spark.connect.KeyValue + (*ConfigRequest)(nil), // 9: spark.connect.ConfigRequest + (*ConfigResponse)(nil), // 10: spark.connect.ConfigResponse + (*AddArtifactsRequest)(nil), // 11: spark.connect.AddArtifactsRequest + (*AddArtifactsResponse)(nil), // 12: spark.connect.AddArtifactsResponse + (*ArtifactStatusesRequest)(nil), // 13: spark.connect.ArtifactStatusesRequest + (*ArtifactStatusesResponse)(nil), // 14: spark.connect.ArtifactStatusesResponse + (*InterruptRequest)(nil), // 15: spark.connect.InterruptRequest + (*InterruptResponse)(nil), // 16: spark.connect.InterruptResponse + (*AnalyzePlanRequest_Schema)(nil), // 17: spark.connect.AnalyzePlanRequest.Schema + (*AnalyzePlanRequest_Explain)(nil), // 18: spark.connect.AnalyzePlanRequest.Explain + (*AnalyzePlanRequest_TreeString)(nil), // 19: spark.connect.AnalyzePlanRequest.TreeString + (*AnalyzePlanRequest_IsLocal)(nil), // 20: spark.connect.AnalyzePlanRequest.IsLocal + (*AnalyzePlanRequest_IsStreaming)(nil), // 21: spark.connect.AnalyzePlanRequest.IsStreaming + (*AnalyzePlanRequest_InputFiles)(nil), // 22: spark.connect.AnalyzePlanRequest.InputFiles + (*AnalyzePlanRequest_SparkVersion)(nil), // 23: spark.connect.AnalyzePlanRequest.SparkVersion + (*AnalyzePlanRequest_DDLParse)(nil), // 24: spark.connect.AnalyzePlanRequest.DDLParse + (*AnalyzePlanRequest_SameSemantics)(nil), // 25: spark.connect.AnalyzePlanRequest.SameSemantics + (*AnalyzePlanRequest_SemanticHash)(nil), // 26: spark.connect.AnalyzePlanRequest.SemanticHash + (*AnalyzePlanRequest_Persist)(nil), // 27: spark.connect.AnalyzePlanRequest.Persist + (*AnalyzePlanRequest_Unpersist)(nil), // 28: spark.connect.AnalyzePlanRequest.Unpersist + (*AnalyzePlanRequest_GetStorageLevel)(nil), // 29: spark.connect.AnalyzePlanRequest.GetStorageLevel + (*AnalyzePlanResponse_Schema)(nil), // 30: spark.connect.AnalyzePlanResponse.Schema + (*AnalyzePlanResponse_Explain)(nil), // 31: spark.connect.AnalyzePlanResponse.Explain + (*AnalyzePlanResponse_TreeString)(nil), // 32: spark.connect.AnalyzePlanResponse.TreeString + (*AnalyzePlanResponse_IsLocal)(nil), // 33: spark.connect.AnalyzePlanResponse.IsLocal + (*AnalyzePlanResponse_IsStreaming)(nil), // 34: spark.connect.AnalyzePlanResponse.IsStreaming + (*AnalyzePlanResponse_InputFiles)(nil), // 35: spark.connect.AnalyzePlanResponse.InputFiles + (*AnalyzePlanResponse_SparkVersion)(nil), // 36: spark.connect.AnalyzePlanResponse.SparkVersion + (*AnalyzePlanResponse_DDLParse)(nil), // 37: spark.connect.AnalyzePlanResponse.DDLParse + (*AnalyzePlanResponse_SameSemantics)(nil), // 38: spark.connect.AnalyzePlanResponse.SameSemantics + (*AnalyzePlanResponse_SemanticHash)(nil), // 39: spark.connect.AnalyzePlanResponse.SemanticHash + (*AnalyzePlanResponse_Persist)(nil), // 40: spark.connect.AnalyzePlanResponse.Persist + (*AnalyzePlanResponse_Unpersist)(nil), // 41: spark.connect.AnalyzePlanResponse.Unpersist + (*AnalyzePlanResponse_GetStorageLevel)(nil), // 42: spark.connect.AnalyzePlanResponse.GetStorageLevel + (*ExecutePlanRequest_RequestOption)(nil), // 43: spark.connect.ExecutePlanRequest.RequestOption + (*ExecutePlanResponse_SqlCommandResult)(nil), // 44: spark.connect.ExecutePlanResponse.SqlCommandResult + (*ExecutePlanResponse_ArrowBatch)(nil), // 45: spark.connect.ExecutePlanResponse.ArrowBatch + (*ExecutePlanResponse_Metrics)(nil), // 46: spark.connect.ExecutePlanResponse.Metrics + (*ExecutePlanResponse_ObservedMetrics)(nil), // 47: spark.connect.ExecutePlanResponse.ObservedMetrics + (*ExecutePlanResponse_Metrics_MetricObject)(nil), // 48: spark.connect.ExecutePlanResponse.Metrics.MetricObject + (*ExecutePlanResponse_Metrics_MetricValue)(nil), // 49: spark.connect.ExecutePlanResponse.Metrics.MetricValue + nil, // 50: spark.connect.ExecutePlanResponse.Metrics.MetricObject.ExecutionMetricsEntry + (*ConfigRequest_Operation)(nil), // 51: spark.connect.ConfigRequest.Operation + (*ConfigRequest_Set)(nil), // 52: spark.connect.ConfigRequest.Set + (*ConfigRequest_Get)(nil), // 53: spark.connect.ConfigRequest.Get + (*ConfigRequest_GetWithDefault)(nil), // 54: spark.connect.ConfigRequest.GetWithDefault + (*ConfigRequest_GetOption)(nil), // 55: spark.connect.ConfigRequest.GetOption + (*ConfigRequest_GetAll)(nil), // 56: spark.connect.ConfigRequest.GetAll + (*ConfigRequest_Unset)(nil), // 57: spark.connect.ConfigRequest.Unset + (*ConfigRequest_IsModifiable)(nil), // 58: spark.connect.ConfigRequest.IsModifiable + (*AddArtifactsRequest_ArtifactChunk)(nil), // 59: spark.connect.AddArtifactsRequest.ArtifactChunk + (*AddArtifactsRequest_SingleChunkArtifact)(nil), // 60: spark.connect.AddArtifactsRequest.SingleChunkArtifact + (*AddArtifactsRequest_Batch)(nil), // 61: spark.connect.AddArtifactsRequest.Batch + (*AddArtifactsRequest_BeginChunkedArtifact)(nil), // 62: spark.connect.AddArtifactsRequest.BeginChunkedArtifact + (*AddArtifactsResponse_ArtifactSummary)(nil), // 63: spark.connect.AddArtifactsResponse.ArtifactSummary + (*ArtifactStatusesResponse_ArtifactStatus)(nil), // 64: spark.connect.ArtifactStatusesResponse.ArtifactStatus + nil, // 65: spark.connect.ArtifactStatusesResponse.StatusesEntry + (*Relation)(nil), // 66: spark.connect.Relation + (*Command)(nil), // 67: spark.connect.Command + (*anypb.Any)(nil), // 68: google.protobuf.Any + (*WriteStreamOperationStartResult)(nil), // 69: spark.connect.WriteStreamOperationStartResult + (*StreamingQueryCommandResult)(nil), // 70: spark.connect.StreamingQueryCommandResult + (*GetResourcesCommandResult)(nil), // 71: spark.connect.GetResourcesCommandResult + (*StreamingQueryManagerCommandResult)(nil), // 72: spark.connect.StreamingQueryManagerCommandResult + (*DataType)(nil), // 73: spark.connect.DataType + (*StorageLevel)(nil), // 74: spark.connect.StorageLevel + (*Expression_Literal)(nil), // 75: spark.connect.Expression.Literal +} +var file_spark_connect_base_proto_depIdxs = []int32{ + 66, // 0: spark.connect.Plan.root:type_name -> spark.connect.Relation + 67, // 1: spark.connect.Plan.command:type_name -> spark.connect.Command + 68, // 2: spark.connect.UserContext.extensions:type_name -> google.protobuf.Any + 3, // 3: spark.connect.AnalyzePlanRequest.user_context:type_name -> spark.connect.UserContext + 17, // 4: spark.connect.AnalyzePlanRequest.schema:type_name -> spark.connect.AnalyzePlanRequest.Schema + 18, // 5: spark.connect.AnalyzePlanRequest.explain:type_name -> spark.connect.AnalyzePlanRequest.Explain + 19, // 6: spark.connect.AnalyzePlanRequest.tree_string:type_name -> spark.connect.AnalyzePlanRequest.TreeString + 20, // 7: spark.connect.AnalyzePlanRequest.is_local:type_name -> spark.connect.AnalyzePlanRequest.IsLocal + 21, // 8: spark.connect.AnalyzePlanRequest.is_streaming:type_name -> spark.connect.AnalyzePlanRequest.IsStreaming + 22, // 9: spark.connect.AnalyzePlanRequest.input_files:type_name -> spark.connect.AnalyzePlanRequest.InputFiles + 23, // 10: spark.connect.AnalyzePlanRequest.spark_version:type_name -> spark.connect.AnalyzePlanRequest.SparkVersion + 24, // 11: spark.connect.AnalyzePlanRequest.ddl_parse:type_name -> spark.connect.AnalyzePlanRequest.DDLParse + 25, // 12: spark.connect.AnalyzePlanRequest.same_semantics:type_name -> spark.connect.AnalyzePlanRequest.SameSemantics + 26, // 13: spark.connect.AnalyzePlanRequest.semantic_hash:type_name -> spark.connect.AnalyzePlanRequest.SemanticHash + 27, // 14: spark.connect.AnalyzePlanRequest.persist:type_name -> spark.connect.AnalyzePlanRequest.Persist + 28, // 15: spark.connect.AnalyzePlanRequest.unpersist:type_name -> spark.connect.AnalyzePlanRequest.Unpersist + 29, // 16: spark.connect.AnalyzePlanRequest.get_storage_level:type_name -> spark.connect.AnalyzePlanRequest.GetStorageLevel + 30, // 17: spark.connect.AnalyzePlanResponse.schema:type_name -> spark.connect.AnalyzePlanResponse.Schema + 31, // 18: spark.connect.AnalyzePlanResponse.explain:type_name -> spark.connect.AnalyzePlanResponse.Explain + 32, // 19: spark.connect.AnalyzePlanResponse.tree_string:type_name -> spark.connect.AnalyzePlanResponse.TreeString + 33, // 20: spark.connect.AnalyzePlanResponse.is_local:type_name -> spark.connect.AnalyzePlanResponse.IsLocal + 34, // 21: spark.connect.AnalyzePlanResponse.is_streaming:type_name -> spark.connect.AnalyzePlanResponse.IsStreaming + 35, // 22: spark.connect.AnalyzePlanResponse.input_files:type_name -> spark.connect.AnalyzePlanResponse.InputFiles + 36, // 23: spark.connect.AnalyzePlanResponse.spark_version:type_name -> spark.connect.AnalyzePlanResponse.SparkVersion + 37, // 24: spark.connect.AnalyzePlanResponse.ddl_parse:type_name -> spark.connect.AnalyzePlanResponse.DDLParse + 38, // 25: spark.connect.AnalyzePlanResponse.same_semantics:type_name -> spark.connect.AnalyzePlanResponse.SameSemantics + 39, // 26: spark.connect.AnalyzePlanResponse.semantic_hash:type_name -> spark.connect.AnalyzePlanResponse.SemanticHash + 40, // 27: spark.connect.AnalyzePlanResponse.persist:type_name -> spark.connect.AnalyzePlanResponse.Persist + 41, // 28: spark.connect.AnalyzePlanResponse.unpersist:type_name -> spark.connect.AnalyzePlanResponse.Unpersist + 42, // 29: spark.connect.AnalyzePlanResponse.get_storage_level:type_name -> spark.connect.AnalyzePlanResponse.GetStorageLevel + 3, // 30: spark.connect.ExecutePlanRequest.user_context:type_name -> spark.connect.UserContext + 2, // 31: spark.connect.ExecutePlanRequest.plan:type_name -> spark.connect.Plan + 43, // 32: spark.connect.ExecutePlanRequest.request_options:type_name -> spark.connect.ExecutePlanRequest.RequestOption + 45, // 33: spark.connect.ExecutePlanResponse.arrow_batch:type_name -> spark.connect.ExecutePlanResponse.ArrowBatch + 44, // 34: spark.connect.ExecutePlanResponse.sql_command_result:type_name -> spark.connect.ExecutePlanResponse.SqlCommandResult + 69, // 35: spark.connect.ExecutePlanResponse.write_stream_operation_start_result:type_name -> spark.connect.WriteStreamOperationStartResult + 70, // 36: spark.connect.ExecutePlanResponse.streaming_query_command_result:type_name -> spark.connect.StreamingQueryCommandResult + 71, // 37: spark.connect.ExecutePlanResponse.get_resources_command_result:type_name -> spark.connect.GetResourcesCommandResult + 72, // 38: spark.connect.ExecutePlanResponse.streaming_query_manager_command_result:type_name -> spark.connect.StreamingQueryManagerCommandResult + 68, // 39: spark.connect.ExecutePlanResponse.extension:type_name -> google.protobuf.Any + 46, // 40: spark.connect.ExecutePlanResponse.metrics:type_name -> spark.connect.ExecutePlanResponse.Metrics + 47, // 41: spark.connect.ExecutePlanResponse.observed_metrics:type_name -> spark.connect.ExecutePlanResponse.ObservedMetrics + 73, // 42: spark.connect.ExecutePlanResponse.schema:type_name -> spark.connect.DataType + 3, // 43: spark.connect.ConfigRequest.user_context:type_name -> spark.connect.UserContext + 51, // 44: spark.connect.ConfigRequest.operation:type_name -> spark.connect.ConfigRequest.Operation + 8, // 45: spark.connect.ConfigResponse.pairs:type_name -> spark.connect.KeyValue + 3, // 46: spark.connect.AddArtifactsRequest.user_context:type_name -> spark.connect.UserContext + 61, // 47: spark.connect.AddArtifactsRequest.batch:type_name -> spark.connect.AddArtifactsRequest.Batch + 62, // 48: spark.connect.AddArtifactsRequest.begin_chunk:type_name -> spark.connect.AddArtifactsRequest.BeginChunkedArtifact + 59, // 49: spark.connect.AddArtifactsRequest.chunk:type_name -> spark.connect.AddArtifactsRequest.ArtifactChunk + 63, // 50: spark.connect.AddArtifactsResponse.artifacts:type_name -> spark.connect.AddArtifactsResponse.ArtifactSummary + 3, // 51: spark.connect.ArtifactStatusesRequest.user_context:type_name -> spark.connect.UserContext + 65, // 52: spark.connect.ArtifactStatusesResponse.statuses:type_name -> spark.connect.ArtifactStatusesResponse.StatusesEntry + 3, // 53: spark.connect.InterruptRequest.user_context:type_name -> spark.connect.UserContext + 1, // 54: spark.connect.InterruptRequest.interrupt_type:type_name -> spark.connect.InterruptRequest.InterruptType + 2, // 55: spark.connect.AnalyzePlanRequest.Schema.plan:type_name -> spark.connect.Plan + 2, // 56: spark.connect.AnalyzePlanRequest.Explain.plan:type_name -> spark.connect.Plan + 0, // 57: spark.connect.AnalyzePlanRequest.Explain.explain_mode:type_name -> spark.connect.AnalyzePlanRequest.Explain.ExplainMode + 2, // 58: spark.connect.AnalyzePlanRequest.TreeString.plan:type_name -> spark.connect.Plan + 2, // 59: spark.connect.AnalyzePlanRequest.IsLocal.plan:type_name -> spark.connect.Plan + 2, // 60: spark.connect.AnalyzePlanRequest.IsStreaming.plan:type_name -> spark.connect.Plan + 2, // 61: spark.connect.AnalyzePlanRequest.InputFiles.plan:type_name -> spark.connect.Plan + 2, // 62: spark.connect.AnalyzePlanRequest.SameSemantics.target_plan:type_name -> spark.connect.Plan + 2, // 63: spark.connect.AnalyzePlanRequest.SameSemantics.other_plan:type_name -> spark.connect.Plan + 2, // 64: spark.connect.AnalyzePlanRequest.SemanticHash.plan:type_name -> spark.connect.Plan + 66, // 65: spark.connect.AnalyzePlanRequest.Persist.relation:type_name -> spark.connect.Relation + 74, // 66: spark.connect.AnalyzePlanRequest.Persist.storage_level:type_name -> spark.connect.StorageLevel + 66, // 67: spark.connect.AnalyzePlanRequest.Unpersist.relation:type_name -> spark.connect.Relation + 66, // 68: spark.connect.AnalyzePlanRequest.GetStorageLevel.relation:type_name -> spark.connect.Relation + 73, // 69: spark.connect.AnalyzePlanResponse.Schema.schema:type_name -> spark.connect.DataType + 73, // 70: spark.connect.AnalyzePlanResponse.DDLParse.parsed:type_name -> spark.connect.DataType + 74, // 71: spark.connect.AnalyzePlanResponse.GetStorageLevel.storage_level:type_name -> spark.connect.StorageLevel + 68, // 72: spark.connect.ExecutePlanRequest.RequestOption.extension:type_name -> google.protobuf.Any + 66, // 73: spark.connect.ExecutePlanResponse.SqlCommandResult.relation:type_name -> spark.connect.Relation + 48, // 74: spark.connect.ExecutePlanResponse.Metrics.metrics:type_name -> spark.connect.ExecutePlanResponse.Metrics.MetricObject + 75, // 75: spark.connect.ExecutePlanResponse.ObservedMetrics.values:type_name -> spark.connect.Expression.Literal + 50, // 76: spark.connect.ExecutePlanResponse.Metrics.MetricObject.execution_metrics:type_name -> spark.connect.ExecutePlanResponse.Metrics.MetricObject.ExecutionMetricsEntry + 49, // 77: spark.connect.ExecutePlanResponse.Metrics.MetricObject.ExecutionMetricsEntry.value:type_name -> spark.connect.ExecutePlanResponse.Metrics.MetricValue + 52, // 78: spark.connect.ConfigRequest.Operation.set:type_name -> spark.connect.ConfigRequest.Set + 53, // 79: spark.connect.ConfigRequest.Operation.get:type_name -> spark.connect.ConfigRequest.Get + 54, // 80: spark.connect.ConfigRequest.Operation.get_with_default:type_name -> spark.connect.ConfigRequest.GetWithDefault + 55, // 81: spark.connect.ConfigRequest.Operation.get_option:type_name -> spark.connect.ConfigRequest.GetOption + 56, // 82: spark.connect.ConfigRequest.Operation.get_all:type_name -> spark.connect.ConfigRequest.GetAll + 57, // 83: spark.connect.ConfigRequest.Operation.unset:type_name -> spark.connect.ConfigRequest.Unset + 58, // 84: spark.connect.ConfigRequest.Operation.is_modifiable:type_name -> spark.connect.ConfigRequest.IsModifiable + 8, // 85: spark.connect.ConfigRequest.Set.pairs:type_name -> spark.connect.KeyValue + 8, // 86: spark.connect.ConfigRequest.GetWithDefault.pairs:type_name -> spark.connect.KeyValue + 59, // 87: spark.connect.AddArtifactsRequest.SingleChunkArtifact.data:type_name -> spark.connect.AddArtifactsRequest.ArtifactChunk + 60, // 88: spark.connect.AddArtifactsRequest.Batch.artifacts:type_name -> spark.connect.AddArtifactsRequest.SingleChunkArtifact + 59, // 89: spark.connect.AddArtifactsRequest.BeginChunkedArtifact.initial_chunk:type_name -> spark.connect.AddArtifactsRequest.ArtifactChunk + 64, // 90: spark.connect.ArtifactStatusesResponse.StatusesEntry.value:type_name -> spark.connect.ArtifactStatusesResponse.ArtifactStatus + 6, // 91: spark.connect.SparkConnectService.ExecutePlan:input_type -> spark.connect.ExecutePlanRequest + 4, // 92: spark.connect.SparkConnectService.AnalyzePlan:input_type -> spark.connect.AnalyzePlanRequest + 9, // 93: spark.connect.SparkConnectService.Config:input_type -> spark.connect.ConfigRequest + 11, // 94: spark.connect.SparkConnectService.AddArtifacts:input_type -> spark.connect.AddArtifactsRequest + 13, // 95: spark.connect.SparkConnectService.ArtifactStatus:input_type -> spark.connect.ArtifactStatusesRequest + 15, // 96: spark.connect.SparkConnectService.Interrupt:input_type -> spark.connect.InterruptRequest + 7, // 97: spark.connect.SparkConnectService.ExecutePlan:output_type -> spark.connect.ExecutePlanResponse + 5, // 98: spark.connect.SparkConnectService.AnalyzePlan:output_type -> spark.connect.AnalyzePlanResponse + 10, // 99: spark.connect.SparkConnectService.Config:output_type -> spark.connect.ConfigResponse + 12, // 100: spark.connect.SparkConnectService.AddArtifacts:output_type -> spark.connect.AddArtifactsResponse + 14, // 101: spark.connect.SparkConnectService.ArtifactStatus:output_type -> spark.connect.ArtifactStatusesResponse + 16, // 102: spark.connect.SparkConnectService.Interrupt:output_type -> spark.connect.InterruptResponse + 97, // [97:103] is the sub-list for method output_type + 91, // [91:97] is the sub-list for method input_type + 91, // [91:91] is the sub-list for extension type_name + 91, // [91:91] is the sub-list for extension extendee + 0, // [0:91] is the sub-list for field type_name +} + +func init() { file_spark_connect_base_proto_init() } +func file_spark_connect_base_proto_init() { + if File_spark_connect_base_proto != nil { + return + } + file_spark_connect_commands_proto_init() + file_spark_connect_common_proto_init() + file_spark_connect_expressions_proto_init() + file_spark_connect_relations_proto_init() + file_spark_connect_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_spark_connect_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Plan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KeyValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtifactStatusesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtifactStatusesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterruptRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterruptResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_Schema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_Explain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_TreeString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_IsLocal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_IsStreaming); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_InputFiles); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_SparkVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_DDLParse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_SameSemantics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_SemanticHash); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_Persist); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_Unpersist); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanRequest_GetStorageLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_Schema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_Explain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_TreeString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_IsLocal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_IsStreaming); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_InputFiles); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_SparkVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_DDLParse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_SameSemantics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_SemanticHash); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_Persist); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_Unpersist); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalyzePlanResponse_GetStorageLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanRequest_RequestOption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse_SqlCommandResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse_ArrowBatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse_Metrics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse_ObservedMetrics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse_Metrics_MetricObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePlanResponse_Metrics_MetricValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_Operation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_Set); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_Get); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_GetWithDefault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_GetOption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_GetAll); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_Unset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigRequest_IsModifiable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsRequest_ArtifactChunk); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsRequest_SingleChunkArtifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsRequest_Batch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsRequest_BeginChunkedArtifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddArtifactsResponse_ArtifactSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_base_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtifactStatusesResponse_ArtifactStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_spark_connect_base_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Plan_Root)(nil), + (*Plan_Command)(nil), + } + file_spark_connect_base_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*AnalyzePlanRequest_Schema_)(nil), + (*AnalyzePlanRequest_Explain_)(nil), + (*AnalyzePlanRequest_TreeString_)(nil), + (*AnalyzePlanRequest_IsLocal_)(nil), + (*AnalyzePlanRequest_IsStreaming_)(nil), + (*AnalyzePlanRequest_InputFiles_)(nil), + (*AnalyzePlanRequest_SparkVersion_)(nil), + (*AnalyzePlanRequest_DdlParse)(nil), + (*AnalyzePlanRequest_SameSemantics_)(nil), + (*AnalyzePlanRequest_SemanticHash_)(nil), + (*AnalyzePlanRequest_Persist_)(nil), + (*AnalyzePlanRequest_Unpersist_)(nil), + (*AnalyzePlanRequest_GetStorageLevel_)(nil), + } + file_spark_connect_base_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*AnalyzePlanResponse_Schema_)(nil), + (*AnalyzePlanResponse_Explain_)(nil), + (*AnalyzePlanResponse_TreeString_)(nil), + (*AnalyzePlanResponse_IsLocal_)(nil), + (*AnalyzePlanResponse_IsStreaming_)(nil), + (*AnalyzePlanResponse_InputFiles_)(nil), + (*AnalyzePlanResponse_SparkVersion_)(nil), + (*AnalyzePlanResponse_DdlParse)(nil), + (*AnalyzePlanResponse_SameSemantics_)(nil), + (*AnalyzePlanResponse_SemanticHash_)(nil), + (*AnalyzePlanResponse_Persist_)(nil), + (*AnalyzePlanResponse_Unpersist_)(nil), + (*AnalyzePlanResponse_GetStorageLevel_)(nil), + } + file_spark_connect_base_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*ExecutePlanResponse_ArrowBatch_)(nil), + (*ExecutePlanResponse_SqlCommandResult_)(nil), + (*ExecutePlanResponse_WriteStreamOperationStartResult)(nil), + (*ExecutePlanResponse_StreamingQueryCommandResult)(nil), + (*ExecutePlanResponse_GetResourcesCommandResult)(nil), + (*ExecutePlanResponse_StreamingQueryManagerCommandResult)(nil), + (*ExecutePlanResponse_Extension)(nil), + } + file_spark_connect_base_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*AddArtifactsRequest_Batch_)(nil), + (*AddArtifactsRequest_BeginChunk)(nil), + (*AddArtifactsRequest_Chunk)(nil), + } + file_spark_connect_base_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[25].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[26].OneofWrappers = []interface{}{} + file_spark_connect_base_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*ExecutePlanRequest_RequestOption_Extension)(nil), + } + file_spark_connect_base_proto_msgTypes[49].OneofWrappers = []interface{}{ + (*ConfigRequest_Operation_Set)(nil), + (*ConfigRequest_Operation_Get)(nil), + (*ConfigRequest_Operation_GetWithDefault)(nil), + (*ConfigRequest_Operation_GetOption)(nil), + (*ConfigRequest_Operation_GetAll)(nil), + (*ConfigRequest_Operation_Unset)(nil), + (*ConfigRequest_Operation_IsModifiable)(nil), + } + file_spark_connect_base_proto_msgTypes[54].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_base_proto_rawDesc, + NumEnums: 2, + NumMessages: 64, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_spark_connect_base_proto_goTypes, + DependencyIndexes: file_spark_connect_base_proto_depIdxs, + EnumInfos: file_spark_connect_base_proto_enumTypes, + MessageInfos: file_spark_connect_base_proto_msgTypes, + }.Build() + File_spark_connect_base_proto = out.File + file_spark_connect_base_proto_rawDesc = nil + file_spark_connect_base_proto_goTypes = nil + file_spark_connect_base_proto_depIdxs = nil +} diff --git a/internal/generated/base_grpc.pb.go b/internal/generated/base_grpc.pb.go new file mode 100644 index 0000000..28abf35 --- /dev/null +++ b/internal/generated/base_grpc.pb.go @@ -0,0 +1,390 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: spark/connect/base.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + SparkConnectService_ExecutePlan_FullMethodName = "/spark.connect.SparkConnectService/ExecutePlan" + SparkConnectService_AnalyzePlan_FullMethodName = "/spark.connect.SparkConnectService/AnalyzePlan" + SparkConnectService_Config_FullMethodName = "/spark.connect.SparkConnectService/Config" + SparkConnectService_AddArtifacts_FullMethodName = "/spark.connect.SparkConnectService/AddArtifacts" + SparkConnectService_ArtifactStatus_FullMethodName = "/spark.connect.SparkConnectService/ArtifactStatus" + SparkConnectService_Interrupt_FullMethodName = "/spark.connect.SparkConnectService/Interrupt" +) + +// SparkConnectServiceClient is the client API for SparkConnectService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SparkConnectServiceClient interface { + // Executes a request that contains the query and returns a stream of [[Response]]. + // + // It is guaranteed that there is at least one ARROW batch returned even if the result set is empty. + ExecutePlan(ctx context.Context, in *ExecutePlanRequest, opts ...grpc.CallOption) (SparkConnectService_ExecutePlanClient, error) + // Analyzes a query and returns a [[AnalyzeResponse]] containing metadata about the query. + AnalyzePlan(ctx context.Context, in *AnalyzePlanRequest, opts ...grpc.CallOption) (*AnalyzePlanResponse, error) + // Update or fetch the configurations and returns a [[ConfigResponse]] containing the result. + Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigResponse, error) + // Add artifacts to the session and returns a [[AddArtifactsResponse]] containing metadata about + // the added artifacts. + AddArtifacts(ctx context.Context, opts ...grpc.CallOption) (SparkConnectService_AddArtifactsClient, error) + // Check statuses of artifacts in the session and returns them in a [[ArtifactStatusesResponse]] + ArtifactStatus(ctx context.Context, in *ArtifactStatusesRequest, opts ...grpc.CallOption) (*ArtifactStatusesResponse, error) + // Interrupts running executions + Interrupt(ctx context.Context, in *InterruptRequest, opts ...grpc.CallOption) (*InterruptResponse, error) +} + +type sparkConnectServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSparkConnectServiceClient(cc grpc.ClientConnInterface) SparkConnectServiceClient { + return &sparkConnectServiceClient{cc} +} + +func (c *sparkConnectServiceClient) ExecutePlan(ctx context.Context, in *ExecutePlanRequest, opts ...grpc.CallOption) (SparkConnectService_ExecutePlanClient, error) { + stream, err := c.cc.NewStream(ctx, &SparkConnectService_ServiceDesc.Streams[0], SparkConnectService_ExecutePlan_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &sparkConnectServiceExecutePlanClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type SparkConnectService_ExecutePlanClient interface { + Recv() (*ExecutePlanResponse, error) + grpc.ClientStream +} + +type sparkConnectServiceExecutePlanClient struct { + grpc.ClientStream +} + +func (x *sparkConnectServiceExecutePlanClient) Recv() (*ExecutePlanResponse, error) { + m := new(ExecutePlanResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *sparkConnectServiceClient) AnalyzePlan(ctx context.Context, in *AnalyzePlanRequest, opts ...grpc.CallOption) (*AnalyzePlanResponse, error) { + out := new(AnalyzePlanResponse) + err := c.cc.Invoke(ctx, SparkConnectService_AnalyzePlan_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sparkConnectServiceClient) Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigResponse, error) { + out := new(ConfigResponse) + err := c.cc.Invoke(ctx, SparkConnectService_Config_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sparkConnectServiceClient) AddArtifacts(ctx context.Context, opts ...grpc.CallOption) (SparkConnectService_AddArtifactsClient, error) { + stream, err := c.cc.NewStream(ctx, &SparkConnectService_ServiceDesc.Streams[1], SparkConnectService_AddArtifacts_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &sparkConnectServiceAddArtifactsClient{stream} + return x, nil +} + +type SparkConnectService_AddArtifactsClient interface { + Send(*AddArtifactsRequest) error + CloseAndRecv() (*AddArtifactsResponse, error) + grpc.ClientStream +} + +type sparkConnectServiceAddArtifactsClient struct { + grpc.ClientStream +} + +func (x *sparkConnectServiceAddArtifactsClient) Send(m *AddArtifactsRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *sparkConnectServiceAddArtifactsClient) CloseAndRecv() (*AddArtifactsResponse, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(AddArtifactsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *sparkConnectServiceClient) ArtifactStatus(ctx context.Context, in *ArtifactStatusesRequest, opts ...grpc.CallOption) (*ArtifactStatusesResponse, error) { + out := new(ArtifactStatusesResponse) + err := c.cc.Invoke(ctx, SparkConnectService_ArtifactStatus_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sparkConnectServiceClient) Interrupt(ctx context.Context, in *InterruptRequest, opts ...grpc.CallOption) (*InterruptResponse, error) { + out := new(InterruptResponse) + err := c.cc.Invoke(ctx, SparkConnectService_Interrupt_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SparkConnectServiceServer is the server API for SparkConnectService service. +// All implementations must embed UnimplementedSparkConnectServiceServer +// for forward compatibility +type SparkConnectServiceServer interface { + // Executes a request that contains the query and returns a stream of [[Response]]. + // + // It is guaranteed that there is at least one ARROW batch returned even if the result set is empty. + ExecutePlan(*ExecutePlanRequest, SparkConnectService_ExecutePlanServer) error + // Analyzes a query and returns a [[AnalyzeResponse]] containing metadata about the query. + AnalyzePlan(context.Context, *AnalyzePlanRequest) (*AnalyzePlanResponse, error) + // Update or fetch the configurations and returns a [[ConfigResponse]] containing the result. + Config(context.Context, *ConfigRequest) (*ConfigResponse, error) + // Add artifacts to the session and returns a [[AddArtifactsResponse]] containing metadata about + // the added artifacts. + AddArtifacts(SparkConnectService_AddArtifactsServer) error + // Check statuses of artifacts in the session and returns them in a [[ArtifactStatusesResponse]] + ArtifactStatus(context.Context, *ArtifactStatusesRequest) (*ArtifactStatusesResponse, error) + // Interrupts running executions + Interrupt(context.Context, *InterruptRequest) (*InterruptResponse, error) + mustEmbedUnimplementedSparkConnectServiceServer() +} + +// UnimplementedSparkConnectServiceServer must be embedded to have forward compatible implementations. +type UnimplementedSparkConnectServiceServer struct { +} + +func (UnimplementedSparkConnectServiceServer) ExecutePlan(*ExecutePlanRequest, SparkConnectService_ExecutePlanServer) error { + return status.Errorf(codes.Unimplemented, "method ExecutePlan not implemented") +} +func (UnimplementedSparkConnectServiceServer) AnalyzePlan(context.Context, *AnalyzePlanRequest) (*AnalyzePlanResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AnalyzePlan not implemented") +} +func (UnimplementedSparkConnectServiceServer) Config(context.Context, *ConfigRequest) (*ConfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Config not implemented") +} +func (UnimplementedSparkConnectServiceServer) AddArtifacts(SparkConnectService_AddArtifactsServer) error { + return status.Errorf(codes.Unimplemented, "method AddArtifacts not implemented") +} +func (UnimplementedSparkConnectServiceServer) ArtifactStatus(context.Context, *ArtifactStatusesRequest) (*ArtifactStatusesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ArtifactStatus not implemented") +} +func (UnimplementedSparkConnectServiceServer) Interrupt(context.Context, *InterruptRequest) (*InterruptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Interrupt not implemented") +} +func (UnimplementedSparkConnectServiceServer) mustEmbedUnimplementedSparkConnectServiceServer() {} + +// UnsafeSparkConnectServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SparkConnectServiceServer will +// result in compilation errors. +type UnsafeSparkConnectServiceServer interface { + mustEmbedUnimplementedSparkConnectServiceServer() +} + +func RegisterSparkConnectServiceServer(s grpc.ServiceRegistrar, srv SparkConnectServiceServer) { + s.RegisterService(&SparkConnectService_ServiceDesc, srv) +} + +func _SparkConnectService_ExecutePlan_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ExecutePlanRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(SparkConnectServiceServer).ExecutePlan(m, &sparkConnectServiceExecutePlanServer{stream}) +} + +type SparkConnectService_ExecutePlanServer interface { + Send(*ExecutePlanResponse) error + grpc.ServerStream +} + +type sparkConnectServiceExecutePlanServer struct { + grpc.ServerStream +} + +func (x *sparkConnectServiceExecutePlanServer) Send(m *ExecutePlanResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _SparkConnectService_AnalyzePlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AnalyzePlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SparkConnectServiceServer).AnalyzePlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SparkConnectService_AnalyzePlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SparkConnectServiceServer).AnalyzePlan(ctx, req.(*AnalyzePlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SparkConnectService_Config_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SparkConnectServiceServer).Config(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SparkConnectService_Config_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SparkConnectServiceServer).Config(ctx, req.(*ConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SparkConnectService_AddArtifacts_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SparkConnectServiceServer).AddArtifacts(&sparkConnectServiceAddArtifactsServer{stream}) +} + +type SparkConnectService_AddArtifactsServer interface { + SendAndClose(*AddArtifactsResponse) error + Recv() (*AddArtifactsRequest, error) + grpc.ServerStream +} + +type sparkConnectServiceAddArtifactsServer struct { + grpc.ServerStream +} + +func (x *sparkConnectServiceAddArtifactsServer) SendAndClose(m *AddArtifactsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *sparkConnectServiceAddArtifactsServer) Recv() (*AddArtifactsRequest, error) { + m := new(AddArtifactsRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _SparkConnectService_ArtifactStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtifactStatusesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SparkConnectServiceServer).ArtifactStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SparkConnectService_ArtifactStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SparkConnectServiceServer).ArtifactStatus(ctx, req.(*ArtifactStatusesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SparkConnectService_Interrupt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InterruptRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SparkConnectServiceServer).Interrupt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SparkConnectService_Interrupt_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SparkConnectServiceServer).Interrupt(ctx, req.(*InterruptRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// SparkConnectService_ServiceDesc is the grpc.ServiceDesc for SparkConnectService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SparkConnectService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "spark.connect.SparkConnectService", + HandlerType: (*SparkConnectServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AnalyzePlan", + Handler: _SparkConnectService_AnalyzePlan_Handler, + }, + { + MethodName: "Config", + Handler: _SparkConnectService_Config_Handler, + }, + { + MethodName: "ArtifactStatus", + Handler: _SparkConnectService_ArtifactStatus_Handler, + }, + { + MethodName: "Interrupt", + Handler: _SparkConnectService_Interrupt_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "ExecutePlan", + Handler: _SparkConnectService_ExecutePlan_Handler, + ServerStreams: true, + }, + { + StreamName: "AddArtifacts", + Handler: _SparkConnectService_AddArtifacts_Handler, + ClientStreams: true, + }, + }, + Metadata: "spark/connect/base.proto", +} diff --git a/internal/generated/catalog.pb.go b/internal/generated/catalog.pb.go new file mode 100644 index 0000000..3f3ea4c --- /dev/null +++ b/internal/generated/catalog.pb.go @@ -0,0 +1,2562 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/catalog.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Catalog messages are marked as unstable. +type Catalog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to CatType: + // + // *Catalog_CurrentDatabase + // *Catalog_SetCurrentDatabase + // *Catalog_ListDatabases + // *Catalog_ListTables + // *Catalog_ListFunctions + // *Catalog_ListColumns + // *Catalog_GetDatabase + // *Catalog_GetTable + // *Catalog_GetFunction + // *Catalog_DatabaseExists + // *Catalog_TableExists + // *Catalog_FunctionExists + // *Catalog_CreateExternalTable + // *Catalog_CreateTable + // *Catalog_DropTempView + // *Catalog_DropGlobalTempView + // *Catalog_RecoverPartitions + // *Catalog_IsCached + // *Catalog_CacheTable + // *Catalog_UncacheTable + // *Catalog_ClearCache + // *Catalog_RefreshTable + // *Catalog_RefreshByPath + // *Catalog_CurrentCatalog + // *Catalog_SetCurrentCatalog + // *Catalog_ListCatalogs + CatType isCatalog_CatType `protobuf_oneof:"cat_type"` +} + +func (x *Catalog) Reset() { + *x = Catalog{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Catalog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Catalog) ProtoMessage() {} + +func (x *Catalog) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Catalog.ProtoReflect.Descriptor instead. +func (*Catalog) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{0} +} + +func (m *Catalog) GetCatType() isCatalog_CatType { + if m != nil { + return m.CatType + } + return nil +} + +func (x *Catalog) GetCurrentDatabase() *CurrentDatabase { + if x, ok := x.GetCatType().(*Catalog_CurrentDatabase); ok { + return x.CurrentDatabase + } + return nil +} + +func (x *Catalog) GetSetCurrentDatabase() *SetCurrentDatabase { + if x, ok := x.GetCatType().(*Catalog_SetCurrentDatabase); ok { + return x.SetCurrentDatabase + } + return nil +} + +func (x *Catalog) GetListDatabases() *ListDatabases { + if x, ok := x.GetCatType().(*Catalog_ListDatabases); ok { + return x.ListDatabases + } + return nil +} + +func (x *Catalog) GetListTables() *ListTables { + if x, ok := x.GetCatType().(*Catalog_ListTables); ok { + return x.ListTables + } + return nil +} + +func (x *Catalog) GetListFunctions() *ListFunctions { + if x, ok := x.GetCatType().(*Catalog_ListFunctions); ok { + return x.ListFunctions + } + return nil +} + +func (x *Catalog) GetListColumns() *ListColumns { + if x, ok := x.GetCatType().(*Catalog_ListColumns); ok { + return x.ListColumns + } + return nil +} + +func (x *Catalog) GetGetDatabase() *GetDatabase { + if x, ok := x.GetCatType().(*Catalog_GetDatabase); ok { + return x.GetDatabase + } + return nil +} + +func (x *Catalog) GetGetTable() *GetTable { + if x, ok := x.GetCatType().(*Catalog_GetTable); ok { + return x.GetTable + } + return nil +} + +func (x *Catalog) GetGetFunction() *GetFunction { + if x, ok := x.GetCatType().(*Catalog_GetFunction); ok { + return x.GetFunction + } + return nil +} + +func (x *Catalog) GetDatabaseExists() *DatabaseExists { + if x, ok := x.GetCatType().(*Catalog_DatabaseExists); ok { + return x.DatabaseExists + } + return nil +} + +func (x *Catalog) GetTableExists() *TableExists { + if x, ok := x.GetCatType().(*Catalog_TableExists); ok { + return x.TableExists + } + return nil +} + +func (x *Catalog) GetFunctionExists() *FunctionExists { + if x, ok := x.GetCatType().(*Catalog_FunctionExists); ok { + return x.FunctionExists + } + return nil +} + +func (x *Catalog) GetCreateExternalTable() *CreateExternalTable { + if x, ok := x.GetCatType().(*Catalog_CreateExternalTable); ok { + return x.CreateExternalTable + } + return nil +} + +func (x *Catalog) GetCreateTable() *CreateTable { + if x, ok := x.GetCatType().(*Catalog_CreateTable); ok { + return x.CreateTable + } + return nil +} + +func (x *Catalog) GetDropTempView() *DropTempView { + if x, ok := x.GetCatType().(*Catalog_DropTempView); ok { + return x.DropTempView + } + return nil +} + +func (x *Catalog) GetDropGlobalTempView() *DropGlobalTempView { + if x, ok := x.GetCatType().(*Catalog_DropGlobalTempView); ok { + return x.DropGlobalTempView + } + return nil +} + +func (x *Catalog) GetRecoverPartitions() *RecoverPartitions { + if x, ok := x.GetCatType().(*Catalog_RecoverPartitions); ok { + return x.RecoverPartitions + } + return nil +} + +func (x *Catalog) GetIsCached() *IsCached { + if x, ok := x.GetCatType().(*Catalog_IsCached); ok { + return x.IsCached + } + return nil +} + +func (x *Catalog) GetCacheTable() *CacheTable { + if x, ok := x.GetCatType().(*Catalog_CacheTable); ok { + return x.CacheTable + } + return nil +} + +func (x *Catalog) GetUncacheTable() *UncacheTable { + if x, ok := x.GetCatType().(*Catalog_UncacheTable); ok { + return x.UncacheTable + } + return nil +} + +func (x *Catalog) GetClearCache() *ClearCache { + if x, ok := x.GetCatType().(*Catalog_ClearCache); ok { + return x.ClearCache + } + return nil +} + +func (x *Catalog) GetRefreshTable() *RefreshTable { + if x, ok := x.GetCatType().(*Catalog_RefreshTable); ok { + return x.RefreshTable + } + return nil +} + +func (x *Catalog) GetRefreshByPath() *RefreshByPath { + if x, ok := x.GetCatType().(*Catalog_RefreshByPath); ok { + return x.RefreshByPath + } + return nil +} + +func (x *Catalog) GetCurrentCatalog() *CurrentCatalog { + if x, ok := x.GetCatType().(*Catalog_CurrentCatalog); ok { + return x.CurrentCatalog + } + return nil +} + +func (x *Catalog) GetSetCurrentCatalog() *SetCurrentCatalog { + if x, ok := x.GetCatType().(*Catalog_SetCurrentCatalog); ok { + return x.SetCurrentCatalog + } + return nil +} + +func (x *Catalog) GetListCatalogs() *ListCatalogs { + if x, ok := x.GetCatType().(*Catalog_ListCatalogs); ok { + return x.ListCatalogs + } + return nil +} + +type isCatalog_CatType interface { + isCatalog_CatType() +} + +type Catalog_CurrentDatabase struct { + CurrentDatabase *CurrentDatabase `protobuf:"bytes,1,opt,name=current_database,json=currentDatabase,proto3,oneof"` +} + +type Catalog_SetCurrentDatabase struct { + SetCurrentDatabase *SetCurrentDatabase `protobuf:"bytes,2,opt,name=set_current_database,json=setCurrentDatabase,proto3,oneof"` +} + +type Catalog_ListDatabases struct { + ListDatabases *ListDatabases `protobuf:"bytes,3,opt,name=list_databases,json=listDatabases,proto3,oneof"` +} + +type Catalog_ListTables struct { + ListTables *ListTables `protobuf:"bytes,4,opt,name=list_tables,json=listTables,proto3,oneof"` +} + +type Catalog_ListFunctions struct { + ListFunctions *ListFunctions `protobuf:"bytes,5,opt,name=list_functions,json=listFunctions,proto3,oneof"` +} + +type Catalog_ListColumns struct { + ListColumns *ListColumns `protobuf:"bytes,6,opt,name=list_columns,json=listColumns,proto3,oneof"` +} + +type Catalog_GetDatabase struct { + GetDatabase *GetDatabase `protobuf:"bytes,7,opt,name=get_database,json=getDatabase,proto3,oneof"` +} + +type Catalog_GetTable struct { + GetTable *GetTable `protobuf:"bytes,8,opt,name=get_table,json=getTable,proto3,oneof"` +} + +type Catalog_GetFunction struct { + GetFunction *GetFunction `protobuf:"bytes,9,opt,name=get_function,json=getFunction,proto3,oneof"` +} + +type Catalog_DatabaseExists struct { + DatabaseExists *DatabaseExists `protobuf:"bytes,10,opt,name=database_exists,json=databaseExists,proto3,oneof"` +} + +type Catalog_TableExists struct { + TableExists *TableExists `protobuf:"bytes,11,opt,name=table_exists,json=tableExists,proto3,oneof"` +} + +type Catalog_FunctionExists struct { + FunctionExists *FunctionExists `protobuf:"bytes,12,opt,name=function_exists,json=functionExists,proto3,oneof"` +} + +type Catalog_CreateExternalTable struct { + CreateExternalTable *CreateExternalTable `protobuf:"bytes,13,opt,name=create_external_table,json=createExternalTable,proto3,oneof"` +} + +type Catalog_CreateTable struct { + CreateTable *CreateTable `protobuf:"bytes,14,opt,name=create_table,json=createTable,proto3,oneof"` +} + +type Catalog_DropTempView struct { + DropTempView *DropTempView `protobuf:"bytes,15,opt,name=drop_temp_view,json=dropTempView,proto3,oneof"` +} + +type Catalog_DropGlobalTempView struct { + DropGlobalTempView *DropGlobalTempView `protobuf:"bytes,16,opt,name=drop_global_temp_view,json=dropGlobalTempView,proto3,oneof"` +} + +type Catalog_RecoverPartitions struct { + RecoverPartitions *RecoverPartitions `protobuf:"bytes,17,opt,name=recover_partitions,json=recoverPartitions,proto3,oneof"` +} + +type Catalog_IsCached struct { + IsCached *IsCached `protobuf:"bytes,18,opt,name=is_cached,json=isCached,proto3,oneof"` +} + +type Catalog_CacheTable struct { + CacheTable *CacheTable `protobuf:"bytes,19,opt,name=cache_table,json=cacheTable,proto3,oneof"` +} + +type Catalog_UncacheTable struct { + UncacheTable *UncacheTable `protobuf:"bytes,20,opt,name=uncache_table,json=uncacheTable,proto3,oneof"` +} + +type Catalog_ClearCache struct { + ClearCache *ClearCache `protobuf:"bytes,21,opt,name=clear_cache,json=clearCache,proto3,oneof"` +} + +type Catalog_RefreshTable struct { + RefreshTable *RefreshTable `protobuf:"bytes,22,opt,name=refresh_table,json=refreshTable,proto3,oneof"` +} + +type Catalog_RefreshByPath struct { + RefreshByPath *RefreshByPath `protobuf:"bytes,23,opt,name=refresh_by_path,json=refreshByPath,proto3,oneof"` +} + +type Catalog_CurrentCatalog struct { + CurrentCatalog *CurrentCatalog `protobuf:"bytes,24,opt,name=current_catalog,json=currentCatalog,proto3,oneof"` +} + +type Catalog_SetCurrentCatalog struct { + SetCurrentCatalog *SetCurrentCatalog `protobuf:"bytes,25,opt,name=set_current_catalog,json=setCurrentCatalog,proto3,oneof"` +} + +type Catalog_ListCatalogs struct { + ListCatalogs *ListCatalogs `protobuf:"bytes,26,opt,name=list_catalogs,json=listCatalogs,proto3,oneof"` +} + +func (*Catalog_CurrentDatabase) isCatalog_CatType() {} + +func (*Catalog_SetCurrentDatabase) isCatalog_CatType() {} + +func (*Catalog_ListDatabases) isCatalog_CatType() {} + +func (*Catalog_ListTables) isCatalog_CatType() {} + +func (*Catalog_ListFunctions) isCatalog_CatType() {} + +func (*Catalog_ListColumns) isCatalog_CatType() {} + +func (*Catalog_GetDatabase) isCatalog_CatType() {} + +func (*Catalog_GetTable) isCatalog_CatType() {} + +func (*Catalog_GetFunction) isCatalog_CatType() {} + +func (*Catalog_DatabaseExists) isCatalog_CatType() {} + +func (*Catalog_TableExists) isCatalog_CatType() {} + +func (*Catalog_FunctionExists) isCatalog_CatType() {} + +func (*Catalog_CreateExternalTable) isCatalog_CatType() {} + +func (*Catalog_CreateTable) isCatalog_CatType() {} + +func (*Catalog_DropTempView) isCatalog_CatType() {} + +func (*Catalog_DropGlobalTempView) isCatalog_CatType() {} + +func (*Catalog_RecoverPartitions) isCatalog_CatType() {} + +func (*Catalog_IsCached) isCatalog_CatType() {} + +func (*Catalog_CacheTable) isCatalog_CatType() {} + +func (*Catalog_UncacheTable) isCatalog_CatType() {} + +func (*Catalog_ClearCache) isCatalog_CatType() {} + +func (*Catalog_RefreshTable) isCatalog_CatType() {} + +func (*Catalog_RefreshByPath) isCatalog_CatType() {} + +func (*Catalog_CurrentCatalog) isCatalog_CatType() {} + +func (*Catalog_SetCurrentCatalog) isCatalog_CatType() {} + +func (*Catalog_ListCatalogs) isCatalog_CatType() {} + +// See `spark.catalog.currentDatabase` +type CurrentDatabase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CurrentDatabase) Reset() { + *x = CurrentDatabase{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CurrentDatabase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CurrentDatabase) ProtoMessage() {} + +func (x *CurrentDatabase) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CurrentDatabase.ProtoReflect.Descriptor instead. +func (*CurrentDatabase) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{1} +} + +// See `spark.catalog.setCurrentDatabase` +type SetCurrentDatabase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + DbName string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` +} + +func (x *SetCurrentDatabase) Reset() { + *x = SetCurrentDatabase{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetCurrentDatabase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetCurrentDatabase) ProtoMessage() {} + +func (x *SetCurrentDatabase) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetCurrentDatabase.ProtoReflect.Descriptor instead. +func (*SetCurrentDatabase) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{2} +} + +func (x *SetCurrentDatabase) GetDbName() string { + if x != nil { + return x.DbName + } + return "" +} + +// See `spark.catalog.listDatabases` +type ListDatabases struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListDatabases) Reset() { + *x = ListDatabases{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDatabases) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDatabases) ProtoMessage() {} + +func (x *ListDatabases) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDatabases.ProtoReflect.Descriptor instead. +func (*ListDatabases) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{3} +} + +// See `spark.catalog.listTables` +type ListTables struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) + DbName *string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *ListTables) Reset() { + *x = ListTables{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTables) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTables) ProtoMessage() {} + +func (x *ListTables) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTables.ProtoReflect.Descriptor instead. +func (*ListTables) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{4} +} + +func (x *ListTables) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.listFunctions` +type ListFunctions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) + DbName *string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *ListFunctions) Reset() { + *x = ListFunctions{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFunctions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFunctions) ProtoMessage() {} + +func (x *ListFunctions) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListFunctions.ProtoReflect.Descriptor instead. +func (*ListFunctions) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{5} +} + +func (x *ListFunctions) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.listColumns` +type ListColumns struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) + DbName *string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *ListColumns) Reset() { + *x = ListColumns{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListColumns) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListColumns) ProtoMessage() {} + +func (x *ListColumns) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListColumns.ProtoReflect.Descriptor instead. +func (*ListColumns) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{6} +} + +func (x *ListColumns) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *ListColumns) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.getDatabase` +type GetDatabase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + DbName string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` +} + +func (x *GetDatabase) Reset() { + *x = GetDatabase{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDatabase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDatabase) ProtoMessage() {} + +func (x *GetDatabase) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDatabase.ProtoReflect.Descriptor instead. +func (*GetDatabase) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{7} +} + +func (x *GetDatabase) GetDbName() string { + if x != nil { + return x.DbName + } + return "" +} + +// See `spark.catalog.getTable` +type GetTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) + DbName *string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *GetTable) Reset() { + *x = GetTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTable) ProtoMessage() {} + +func (x *GetTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTable.ProtoReflect.Descriptor instead. +func (*GetTable) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{8} +} + +func (x *GetTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *GetTable) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.getFunction` +type GetFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + FunctionName string `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` + // (Optional) + DbName *string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *GetFunction) Reset() { + *x = GetFunction{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFunction) ProtoMessage() {} + +func (x *GetFunction) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetFunction.ProtoReflect.Descriptor instead. +func (*GetFunction) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{9} +} + +func (x *GetFunction) GetFunctionName() string { + if x != nil { + return x.FunctionName + } + return "" +} + +func (x *GetFunction) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.databaseExists` +type DatabaseExists struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + DbName string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` +} + +func (x *DatabaseExists) Reset() { + *x = DatabaseExists{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatabaseExists) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatabaseExists) ProtoMessage() {} + +func (x *DatabaseExists) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatabaseExists.ProtoReflect.Descriptor instead. +func (*DatabaseExists) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{10} +} + +func (x *DatabaseExists) GetDbName() string { + if x != nil { + return x.DbName + } + return "" +} + +// See `spark.catalog.tableExists` +type TableExists struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) + DbName *string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *TableExists) Reset() { + *x = TableExists{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TableExists) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TableExists) ProtoMessage() {} + +func (x *TableExists) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TableExists.ProtoReflect.Descriptor instead. +func (*TableExists) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{11} +} + +func (x *TableExists) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *TableExists) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.functionExists` +type FunctionExists struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + FunctionName string `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` + // (Optional) + DbName *string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3,oneof" json:"db_name,omitempty"` +} + +func (x *FunctionExists) Reset() { + *x = FunctionExists{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunctionExists) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunctionExists) ProtoMessage() {} + +func (x *FunctionExists) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FunctionExists.ProtoReflect.Descriptor instead. +func (*FunctionExists) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{12} +} + +func (x *FunctionExists) GetFunctionName() string { + if x != nil { + return x.FunctionName + } + return "" +} + +func (x *FunctionExists) GetDbName() string { + if x != nil && x.DbName != nil { + return *x.DbName + } + return "" +} + +// See `spark.catalog.createExternalTable` +type CreateExternalTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) + Path *string `protobuf:"bytes,2,opt,name=path,proto3,oneof" json:"path,omitempty"` + // (Optional) + Source *string `protobuf:"bytes,3,opt,name=source,proto3,oneof" json:"source,omitempty"` + // (Optional) + Schema *DataType `protobuf:"bytes,4,opt,name=schema,proto3,oneof" json:"schema,omitempty"` + // Options could be empty for valid data source format. + // The map key is case insensitive. + Options map[string]string `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *CreateExternalTable) Reset() { + *x = CreateExternalTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateExternalTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateExternalTable) ProtoMessage() {} + +func (x *CreateExternalTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateExternalTable.ProtoReflect.Descriptor instead. +func (*CreateExternalTable) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateExternalTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *CreateExternalTable) GetPath() string { + if x != nil && x.Path != nil { + return *x.Path + } + return "" +} + +func (x *CreateExternalTable) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source + } + return "" +} + +func (x *CreateExternalTable) GetSchema() *DataType { + if x != nil { + return x.Schema + } + return nil +} + +func (x *CreateExternalTable) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +// See `spark.catalog.createTable` +type CreateTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) + Path *string `protobuf:"bytes,2,opt,name=path,proto3,oneof" json:"path,omitempty"` + // (Optional) + Source *string `protobuf:"bytes,3,opt,name=source,proto3,oneof" json:"source,omitempty"` + // (Optional) + Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"` + // (Optional) + Schema *DataType `protobuf:"bytes,5,opt,name=schema,proto3,oneof" json:"schema,omitempty"` + // Options could be empty for valid data source format. + // The map key is case insensitive. + Options map[string]string `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *CreateTable) Reset() { + *x = CreateTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTable) ProtoMessage() {} + +func (x *CreateTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateTable.ProtoReflect.Descriptor instead. +func (*CreateTable) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *CreateTable) GetPath() string { + if x != nil && x.Path != nil { + return *x.Path + } + return "" +} + +func (x *CreateTable) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source + } + return "" +} + +func (x *CreateTable) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *CreateTable) GetSchema() *DataType { + if x != nil { + return x.Schema + } + return nil +} + +func (x *CreateTable) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +// See `spark.catalog.dropTempView` +type DropTempView struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + ViewName string `protobuf:"bytes,1,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` +} + +func (x *DropTempView) Reset() { + *x = DropTempView{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropTempView) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropTempView) ProtoMessage() {} + +func (x *DropTempView) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropTempView.ProtoReflect.Descriptor instead. +func (*DropTempView) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{15} +} + +func (x *DropTempView) GetViewName() string { + if x != nil { + return x.ViewName + } + return "" +} + +// See `spark.catalog.dropGlobalTempView` +type DropGlobalTempView struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + ViewName string `protobuf:"bytes,1,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` +} + +func (x *DropGlobalTempView) Reset() { + *x = DropGlobalTempView{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropGlobalTempView) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropGlobalTempView) ProtoMessage() {} + +func (x *DropGlobalTempView) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropGlobalTempView.ProtoReflect.Descriptor instead. +func (*DropGlobalTempView) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{16} +} + +func (x *DropGlobalTempView) GetViewName() string { + if x != nil { + return x.ViewName + } + return "" +} + +// See `spark.catalog.recoverPartitions` +type RecoverPartitions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` +} + +func (x *RecoverPartitions) Reset() { + *x = RecoverPartitions{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RecoverPartitions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecoverPartitions) ProtoMessage() {} + +func (x *RecoverPartitions) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecoverPartitions.ProtoReflect.Descriptor instead. +func (*RecoverPartitions) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{17} +} + +func (x *RecoverPartitions) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +// See `spark.catalog.isCached` +type IsCached struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` +} + +func (x *IsCached) Reset() { + *x = IsCached{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsCached) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsCached) ProtoMessage() {} + +func (x *IsCached) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsCached.ProtoReflect.Descriptor instead. +func (*IsCached) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{18} +} + +func (x *IsCached) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +// See `spark.catalog.cacheTable` +type CacheTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) + StorageLevel *StorageLevel `protobuf:"bytes,2,opt,name=storage_level,json=storageLevel,proto3,oneof" json:"storage_level,omitempty"` +} + +func (x *CacheTable) Reset() { + *x = CacheTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CacheTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CacheTable) ProtoMessage() {} + +func (x *CacheTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CacheTable.ProtoReflect.Descriptor instead. +func (*CacheTable) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{19} +} + +func (x *CacheTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *CacheTable) GetStorageLevel() *StorageLevel { + if x != nil { + return x.StorageLevel + } + return nil +} + +// See `spark.catalog.uncacheTable` +type UncacheTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` +} + +func (x *UncacheTable) Reset() { + *x = UncacheTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UncacheTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UncacheTable) ProtoMessage() {} + +func (x *UncacheTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UncacheTable.ProtoReflect.Descriptor instead. +func (*UncacheTable) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{20} +} + +func (x *UncacheTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +// See `spark.catalog.clearCache` +type ClearCache struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ClearCache) Reset() { + *x = ClearCache{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClearCache) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearCache) ProtoMessage() {} + +func (x *ClearCache) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClearCache.ProtoReflect.Descriptor instead. +func (*ClearCache) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{21} +} + +// See `spark.catalog.refreshTable` +type RefreshTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` +} + +func (x *RefreshTable) Reset() { + *x = RefreshTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RefreshTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshTable) ProtoMessage() {} + +func (x *RefreshTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshTable.ProtoReflect.Descriptor instead. +func (*RefreshTable) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{22} +} + +func (x *RefreshTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +// See `spark.catalog.refreshByPath` +type RefreshByPath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *RefreshByPath) Reset() { + *x = RefreshByPath{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RefreshByPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshByPath) ProtoMessage() {} + +func (x *RefreshByPath) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshByPath.ProtoReflect.Descriptor instead. +func (*RefreshByPath) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{23} +} + +func (x *RefreshByPath) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +// See `spark.catalog.currentCatalog` +type CurrentCatalog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CurrentCatalog) Reset() { + *x = CurrentCatalog{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CurrentCatalog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CurrentCatalog) ProtoMessage() {} + +func (x *CurrentCatalog) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CurrentCatalog.ProtoReflect.Descriptor instead. +func (*CurrentCatalog) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{24} +} + +// See `spark.catalog.setCurrentCatalog` +type SetCurrentCatalog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) + CatalogName string `protobuf:"bytes,1,opt,name=catalog_name,json=catalogName,proto3" json:"catalog_name,omitempty"` +} + +func (x *SetCurrentCatalog) Reset() { + *x = SetCurrentCatalog{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetCurrentCatalog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetCurrentCatalog) ProtoMessage() {} + +func (x *SetCurrentCatalog) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetCurrentCatalog.ProtoReflect.Descriptor instead. +func (*SetCurrentCatalog) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{25} +} + +func (x *SetCurrentCatalog) GetCatalogName() string { + if x != nil { + return x.CatalogName + } + return "" +} + +// See `spark.catalog.listCatalogs` +type ListCatalogs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) The pattern that the catalog name needs to match + Pattern *string `protobuf:"bytes,1,opt,name=pattern,proto3,oneof" json:"pattern,omitempty"` +} + +func (x *ListCatalogs) Reset() { + *x = ListCatalogs{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_catalog_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogs) ProtoMessage() {} + +func (x *ListCatalogs) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_catalog_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogs.ProtoReflect.Descriptor instead. +func (*ListCatalogs) Descriptor() ([]byte, []int) { + return file_spark_connect_catalog_proto_rawDescGZIP(), []int{26} +} + +func (x *ListCatalogs) GetPattern() string { + if x != nil && x.Pattern != nil { + return *x.Pattern + } + return "" +} + +var File_spark_connect_catalog_proto protoreflect.FileDescriptor + +var file_spark_connect_catalog_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x1a, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x0e, 0x0a, 0x07, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, + 0x4b, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x14, + 0x73, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, + 0x12, 0x73, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x69, + 0x73, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, + 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3f, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x12, 0x3f, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x12, 0x36, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, + 0x08, 0x67, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x67, 0x65, 0x74, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x67, + 0x65, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x48, 0x00, 0x52, + 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, + 0x58, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x48, 0x00, 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x64, 0x72, + 0x6f, 0x70, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x56, 0x69, 0x65, 0x77, 0x48, + 0x00, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, + 0x56, 0x0a, 0x15, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, + 0x72, 0x6f, 0x70, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x56, 0x69, 0x65, + 0x77, 0x48, 0x00, 0x52, 0x12, 0x64, 0x72, 0x6f, 0x70, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, + 0x65, 0x6d, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x51, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x73, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x73, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x42, 0x0a, 0x0d, 0x75, 0x6e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x6e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x6e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x5f, 0x62, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x79, 0x50, 0x61, 0x74, 0x68, 0x48, 0x00, 0x52, + 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x48, + 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x52, 0x0a, 0x13, 0x73, 0x65, 0x74, 0x5f, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x74, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x42, 0x0a, 0x0d, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x1a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x42, 0x0a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x11, 0x0a, 0x0f, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, + 0x2d, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x0f, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x22, + 0x36, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x0a, + 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x62, 0x4e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x62, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x0b, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x64, + 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x62, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0x56, 0x0a, 0x0b, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, + 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x0e, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc6, 0x02, 0x0a, 0x13, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x48, + 0x02, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x22, 0xed, 0x02, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x34, + 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x48, 0x03, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x22, 0x2b, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x56, 0x69, + 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x31, 0x0a, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x65, 0x6d, + 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x08, 0x49, 0x73, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x84, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x45, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x2d, 0x0a, 0x0c, 0x55, 0x6e, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x6c, 0x65, 0x61, 0x72, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x22, 0x2d, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x0d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, + 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x36, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, + 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x36, + 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_catalog_proto_rawDescOnce sync.Once + file_spark_connect_catalog_proto_rawDescData = file_spark_connect_catalog_proto_rawDesc +) + +func file_spark_connect_catalog_proto_rawDescGZIP() []byte { + file_spark_connect_catalog_proto_rawDescOnce.Do(func() { + file_spark_connect_catalog_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_catalog_proto_rawDescData) + }) + return file_spark_connect_catalog_proto_rawDescData +} + +var file_spark_connect_catalog_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_spark_connect_catalog_proto_goTypes = []interface{}{ + (*Catalog)(nil), // 0: spark.connect.Catalog + (*CurrentDatabase)(nil), // 1: spark.connect.CurrentDatabase + (*SetCurrentDatabase)(nil), // 2: spark.connect.SetCurrentDatabase + (*ListDatabases)(nil), // 3: spark.connect.ListDatabases + (*ListTables)(nil), // 4: spark.connect.ListTables + (*ListFunctions)(nil), // 5: spark.connect.ListFunctions + (*ListColumns)(nil), // 6: spark.connect.ListColumns + (*GetDatabase)(nil), // 7: spark.connect.GetDatabase + (*GetTable)(nil), // 8: spark.connect.GetTable + (*GetFunction)(nil), // 9: spark.connect.GetFunction + (*DatabaseExists)(nil), // 10: spark.connect.DatabaseExists + (*TableExists)(nil), // 11: spark.connect.TableExists + (*FunctionExists)(nil), // 12: spark.connect.FunctionExists + (*CreateExternalTable)(nil), // 13: spark.connect.CreateExternalTable + (*CreateTable)(nil), // 14: spark.connect.CreateTable + (*DropTempView)(nil), // 15: spark.connect.DropTempView + (*DropGlobalTempView)(nil), // 16: spark.connect.DropGlobalTempView + (*RecoverPartitions)(nil), // 17: spark.connect.RecoverPartitions + (*IsCached)(nil), // 18: spark.connect.IsCached + (*CacheTable)(nil), // 19: spark.connect.CacheTable + (*UncacheTable)(nil), // 20: spark.connect.UncacheTable + (*ClearCache)(nil), // 21: spark.connect.ClearCache + (*RefreshTable)(nil), // 22: spark.connect.RefreshTable + (*RefreshByPath)(nil), // 23: spark.connect.RefreshByPath + (*CurrentCatalog)(nil), // 24: spark.connect.CurrentCatalog + (*SetCurrentCatalog)(nil), // 25: spark.connect.SetCurrentCatalog + (*ListCatalogs)(nil), // 26: spark.connect.ListCatalogs + nil, // 27: spark.connect.CreateExternalTable.OptionsEntry + nil, // 28: spark.connect.CreateTable.OptionsEntry + (*DataType)(nil), // 29: spark.connect.DataType + (*StorageLevel)(nil), // 30: spark.connect.StorageLevel +} +var file_spark_connect_catalog_proto_depIdxs = []int32{ + 1, // 0: spark.connect.Catalog.current_database:type_name -> spark.connect.CurrentDatabase + 2, // 1: spark.connect.Catalog.set_current_database:type_name -> spark.connect.SetCurrentDatabase + 3, // 2: spark.connect.Catalog.list_databases:type_name -> spark.connect.ListDatabases + 4, // 3: spark.connect.Catalog.list_tables:type_name -> spark.connect.ListTables + 5, // 4: spark.connect.Catalog.list_functions:type_name -> spark.connect.ListFunctions + 6, // 5: spark.connect.Catalog.list_columns:type_name -> spark.connect.ListColumns + 7, // 6: spark.connect.Catalog.get_database:type_name -> spark.connect.GetDatabase + 8, // 7: spark.connect.Catalog.get_table:type_name -> spark.connect.GetTable + 9, // 8: spark.connect.Catalog.get_function:type_name -> spark.connect.GetFunction + 10, // 9: spark.connect.Catalog.database_exists:type_name -> spark.connect.DatabaseExists + 11, // 10: spark.connect.Catalog.table_exists:type_name -> spark.connect.TableExists + 12, // 11: spark.connect.Catalog.function_exists:type_name -> spark.connect.FunctionExists + 13, // 12: spark.connect.Catalog.create_external_table:type_name -> spark.connect.CreateExternalTable + 14, // 13: spark.connect.Catalog.create_table:type_name -> spark.connect.CreateTable + 15, // 14: spark.connect.Catalog.drop_temp_view:type_name -> spark.connect.DropTempView + 16, // 15: spark.connect.Catalog.drop_global_temp_view:type_name -> spark.connect.DropGlobalTempView + 17, // 16: spark.connect.Catalog.recover_partitions:type_name -> spark.connect.RecoverPartitions + 18, // 17: spark.connect.Catalog.is_cached:type_name -> spark.connect.IsCached + 19, // 18: spark.connect.Catalog.cache_table:type_name -> spark.connect.CacheTable + 20, // 19: spark.connect.Catalog.uncache_table:type_name -> spark.connect.UncacheTable + 21, // 20: spark.connect.Catalog.clear_cache:type_name -> spark.connect.ClearCache + 22, // 21: spark.connect.Catalog.refresh_table:type_name -> spark.connect.RefreshTable + 23, // 22: spark.connect.Catalog.refresh_by_path:type_name -> spark.connect.RefreshByPath + 24, // 23: spark.connect.Catalog.current_catalog:type_name -> spark.connect.CurrentCatalog + 25, // 24: spark.connect.Catalog.set_current_catalog:type_name -> spark.connect.SetCurrentCatalog + 26, // 25: spark.connect.Catalog.list_catalogs:type_name -> spark.connect.ListCatalogs + 29, // 26: spark.connect.CreateExternalTable.schema:type_name -> spark.connect.DataType + 27, // 27: spark.connect.CreateExternalTable.options:type_name -> spark.connect.CreateExternalTable.OptionsEntry + 29, // 28: spark.connect.CreateTable.schema:type_name -> spark.connect.DataType + 28, // 29: spark.connect.CreateTable.options:type_name -> spark.connect.CreateTable.OptionsEntry + 30, // 30: spark.connect.CacheTable.storage_level:type_name -> spark.connect.StorageLevel + 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_spark_connect_catalog_proto_init() } +func file_spark_connect_catalog_proto_init() { + if File_spark_connect_catalog_proto != nil { + return + } + file_spark_connect_common_proto_init() + file_spark_connect_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_spark_connect_catalog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Catalog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CurrentDatabase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetCurrentDatabase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDatabases); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTables); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFunctions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListColumns); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDatabase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFunction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatabaseExists); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TableExists); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionExists); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateExternalTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropTempView); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropGlobalTempView); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverPartitions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IsCached); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CacheTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UncacheTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClearCache); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshByPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CurrentCatalog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetCurrentCatalog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_catalog_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_spark_connect_catalog_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Catalog_CurrentDatabase)(nil), + (*Catalog_SetCurrentDatabase)(nil), + (*Catalog_ListDatabases)(nil), + (*Catalog_ListTables)(nil), + (*Catalog_ListFunctions)(nil), + (*Catalog_ListColumns)(nil), + (*Catalog_GetDatabase)(nil), + (*Catalog_GetTable)(nil), + (*Catalog_GetFunction)(nil), + (*Catalog_DatabaseExists)(nil), + (*Catalog_TableExists)(nil), + (*Catalog_FunctionExists)(nil), + (*Catalog_CreateExternalTable)(nil), + (*Catalog_CreateTable)(nil), + (*Catalog_DropTempView)(nil), + (*Catalog_DropGlobalTempView)(nil), + (*Catalog_RecoverPartitions)(nil), + (*Catalog_IsCached)(nil), + (*Catalog_CacheTable)(nil), + (*Catalog_UncacheTable)(nil), + (*Catalog_ClearCache)(nil), + (*Catalog_RefreshTable)(nil), + (*Catalog_RefreshByPath)(nil), + (*Catalog_CurrentCatalog)(nil), + (*Catalog_SetCurrentCatalog)(nil), + (*Catalog_ListCatalogs)(nil), + } + file_spark_connect_catalog_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_spark_connect_catalog_proto_msgTypes[26].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_catalog_proto_rawDesc, + NumEnums: 0, + NumMessages: 29, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_catalog_proto_goTypes, + DependencyIndexes: file_spark_connect_catalog_proto_depIdxs, + MessageInfos: file_spark_connect_catalog_proto_msgTypes, + }.Build() + File_spark_connect_catalog_proto = out.File + file_spark_connect_catalog_proto_rawDesc = nil + file_spark_connect_catalog_proto_goTypes = nil + file_spark_connect_catalog_proto_depIdxs = nil +} diff --git a/internal/generated/commands.pb.go b/internal/generated/commands.pb.go new file mode 100644 index 0000000..4f162b3 --- /dev/null +++ b/internal/generated/commands.pb.go @@ -0,0 +1,3546 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/commands.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type WriteOperation_SaveMode int32 + +const ( + WriteOperation_SAVE_MODE_UNSPECIFIED WriteOperation_SaveMode = 0 + WriteOperation_SAVE_MODE_APPEND WriteOperation_SaveMode = 1 + WriteOperation_SAVE_MODE_OVERWRITE WriteOperation_SaveMode = 2 + WriteOperation_SAVE_MODE_ERROR_IF_EXISTS WriteOperation_SaveMode = 3 + WriteOperation_SAVE_MODE_IGNORE WriteOperation_SaveMode = 4 +) + +// Enum value maps for WriteOperation_SaveMode. +var ( + WriteOperation_SaveMode_name = map[int32]string{ + 0: "SAVE_MODE_UNSPECIFIED", + 1: "SAVE_MODE_APPEND", + 2: "SAVE_MODE_OVERWRITE", + 3: "SAVE_MODE_ERROR_IF_EXISTS", + 4: "SAVE_MODE_IGNORE", + } + WriteOperation_SaveMode_value = map[string]int32{ + "SAVE_MODE_UNSPECIFIED": 0, + "SAVE_MODE_APPEND": 1, + "SAVE_MODE_OVERWRITE": 2, + "SAVE_MODE_ERROR_IF_EXISTS": 3, + "SAVE_MODE_IGNORE": 4, + } +) + +func (x WriteOperation_SaveMode) Enum() *WriteOperation_SaveMode { + p := new(WriteOperation_SaveMode) + *p = x + return p +} + +func (x WriteOperation_SaveMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WriteOperation_SaveMode) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_commands_proto_enumTypes[0].Descriptor() +} + +func (WriteOperation_SaveMode) Type() protoreflect.EnumType { + return &file_spark_connect_commands_proto_enumTypes[0] +} + +func (x WriteOperation_SaveMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WriteOperation_SaveMode.Descriptor instead. +func (WriteOperation_SaveMode) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{3, 0} +} + +type WriteOperation_SaveTable_TableSaveMethod int32 + +const ( + WriteOperation_SaveTable_TABLE_SAVE_METHOD_UNSPECIFIED WriteOperation_SaveTable_TableSaveMethod = 0 + WriteOperation_SaveTable_TABLE_SAVE_METHOD_SAVE_AS_TABLE WriteOperation_SaveTable_TableSaveMethod = 1 + WriteOperation_SaveTable_TABLE_SAVE_METHOD_INSERT_INTO WriteOperation_SaveTable_TableSaveMethod = 2 +) + +// Enum value maps for WriteOperation_SaveTable_TableSaveMethod. +var ( + WriteOperation_SaveTable_TableSaveMethod_name = map[int32]string{ + 0: "TABLE_SAVE_METHOD_UNSPECIFIED", + 1: "TABLE_SAVE_METHOD_SAVE_AS_TABLE", + 2: "TABLE_SAVE_METHOD_INSERT_INTO", + } + WriteOperation_SaveTable_TableSaveMethod_value = map[string]int32{ + "TABLE_SAVE_METHOD_UNSPECIFIED": 0, + "TABLE_SAVE_METHOD_SAVE_AS_TABLE": 1, + "TABLE_SAVE_METHOD_INSERT_INTO": 2, + } +) + +func (x WriteOperation_SaveTable_TableSaveMethod) Enum() *WriteOperation_SaveTable_TableSaveMethod { + p := new(WriteOperation_SaveTable_TableSaveMethod) + *p = x + return p +} + +func (x WriteOperation_SaveTable_TableSaveMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WriteOperation_SaveTable_TableSaveMethod) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_commands_proto_enumTypes[1].Descriptor() +} + +func (WriteOperation_SaveTable_TableSaveMethod) Type() protoreflect.EnumType { + return &file_spark_connect_commands_proto_enumTypes[1] +} + +func (x WriteOperation_SaveTable_TableSaveMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WriteOperation_SaveTable_TableSaveMethod.Descriptor instead. +func (WriteOperation_SaveTable_TableSaveMethod) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{3, 1, 0} +} + +type WriteOperationV2_Mode int32 + +const ( + WriteOperationV2_MODE_UNSPECIFIED WriteOperationV2_Mode = 0 + WriteOperationV2_MODE_CREATE WriteOperationV2_Mode = 1 + WriteOperationV2_MODE_OVERWRITE WriteOperationV2_Mode = 2 + WriteOperationV2_MODE_OVERWRITE_PARTITIONS WriteOperationV2_Mode = 3 + WriteOperationV2_MODE_APPEND WriteOperationV2_Mode = 4 + WriteOperationV2_MODE_REPLACE WriteOperationV2_Mode = 5 + WriteOperationV2_MODE_CREATE_OR_REPLACE WriteOperationV2_Mode = 6 +) + +// Enum value maps for WriteOperationV2_Mode. +var ( + WriteOperationV2_Mode_name = map[int32]string{ + 0: "MODE_UNSPECIFIED", + 1: "MODE_CREATE", + 2: "MODE_OVERWRITE", + 3: "MODE_OVERWRITE_PARTITIONS", + 4: "MODE_APPEND", + 5: "MODE_REPLACE", + 6: "MODE_CREATE_OR_REPLACE", + } + WriteOperationV2_Mode_value = map[string]int32{ + "MODE_UNSPECIFIED": 0, + "MODE_CREATE": 1, + "MODE_OVERWRITE": 2, + "MODE_OVERWRITE_PARTITIONS": 3, + "MODE_APPEND": 4, + "MODE_REPLACE": 5, + "MODE_CREATE_OR_REPLACE": 6, + } +) + +func (x WriteOperationV2_Mode) Enum() *WriteOperationV2_Mode { + p := new(WriteOperationV2_Mode) + *p = x + return p +} + +func (x WriteOperationV2_Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WriteOperationV2_Mode) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_commands_proto_enumTypes[2].Descriptor() +} + +func (WriteOperationV2_Mode) Type() protoreflect.EnumType { + return &file_spark_connect_commands_proto_enumTypes[2] +} + +func (x WriteOperationV2_Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WriteOperationV2_Mode.Descriptor instead. +func (WriteOperationV2_Mode) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{4, 0} +} + +// A [[Command]] is an operation that is executed by the server that does not directly consume or +// produce a relational result. +type Command struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to CommandType: + // + // *Command_RegisterFunction + // *Command_WriteOperation + // *Command_CreateDataframeView + // *Command_WriteOperationV2 + // *Command_SqlCommand + // *Command_WriteStreamOperationStart + // *Command_StreamingQueryCommand + // *Command_GetResourcesCommand + // *Command_StreamingQueryManagerCommand + // *Command_Extension + CommandType isCommand_CommandType `protobuf_oneof:"command_type"` +} + +func (x *Command) Reset() { + *x = Command{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Command) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Command) ProtoMessage() {} + +func (x *Command) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Command.ProtoReflect.Descriptor instead. +func (*Command) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{0} +} + +func (m *Command) GetCommandType() isCommand_CommandType { + if m != nil { + return m.CommandType + } + return nil +} + +func (x *Command) GetRegisterFunction() *CommonInlineUserDefinedFunction { + if x, ok := x.GetCommandType().(*Command_RegisterFunction); ok { + return x.RegisterFunction + } + return nil +} + +func (x *Command) GetWriteOperation() *WriteOperation { + if x, ok := x.GetCommandType().(*Command_WriteOperation); ok { + return x.WriteOperation + } + return nil +} + +func (x *Command) GetCreateDataframeView() *CreateDataFrameViewCommand { + if x, ok := x.GetCommandType().(*Command_CreateDataframeView); ok { + return x.CreateDataframeView + } + return nil +} + +func (x *Command) GetWriteOperationV2() *WriteOperationV2 { + if x, ok := x.GetCommandType().(*Command_WriteOperationV2); ok { + return x.WriteOperationV2 + } + return nil +} + +func (x *Command) GetSqlCommand() *SqlCommand { + if x, ok := x.GetCommandType().(*Command_SqlCommand); ok { + return x.SqlCommand + } + return nil +} + +func (x *Command) GetWriteStreamOperationStart() *WriteStreamOperationStart { + if x, ok := x.GetCommandType().(*Command_WriteStreamOperationStart); ok { + return x.WriteStreamOperationStart + } + return nil +} + +func (x *Command) GetStreamingQueryCommand() *StreamingQueryCommand { + if x, ok := x.GetCommandType().(*Command_StreamingQueryCommand); ok { + return x.StreamingQueryCommand + } + return nil +} + +func (x *Command) GetGetResourcesCommand() *GetResourcesCommand { + if x, ok := x.GetCommandType().(*Command_GetResourcesCommand); ok { + return x.GetResourcesCommand + } + return nil +} + +func (x *Command) GetStreamingQueryManagerCommand() *StreamingQueryManagerCommand { + if x, ok := x.GetCommandType().(*Command_StreamingQueryManagerCommand); ok { + return x.StreamingQueryManagerCommand + } + return nil +} + +func (x *Command) GetExtension() *anypb.Any { + if x, ok := x.GetCommandType().(*Command_Extension); ok { + return x.Extension + } + return nil +} + +type isCommand_CommandType interface { + isCommand_CommandType() +} + +type Command_RegisterFunction struct { + RegisterFunction *CommonInlineUserDefinedFunction `protobuf:"bytes,1,opt,name=register_function,json=registerFunction,proto3,oneof"` +} + +type Command_WriteOperation struct { + WriteOperation *WriteOperation `protobuf:"bytes,2,opt,name=write_operation,json=writeOperation,proto3,oneof"` +} + +type Command_CreateDataframeView struct { + CreateDataframeView *CreateDataFrameViewCommand `protobuf:"bytes,3,opt,name=create_dataframe_view,json=createDataframeView,proto3,oneof"` +} + +type Command_WriteOperationV2 struct { + WriteOperationV2 *WriteOperationV2 `protobuf:"bytes,4,opt,name=write_operation_v2,json=writeOperationV2,proto3,oneof"` +} + +type Command_SqlCommand struct { + SqlCommand *SqlCommand `protobuf:"bytes,5,opt,name=sql_command,json=sqlCommand,proto3,oneof"` +} + +type Command_WriteStreamOperationStart struct { + WriteStreamOperationStart *WriteStreamOperationStart `protobuf:"bytes,6,opt,name=write_stream_operation_start,json=writeStreamOperationStart,proto3,oneof"` +} + +type Command_StreamingQueryCommand struct { + StreamingQueryCommand *StreamingQueryCommand `protobuf:"bytes,7,opt,name=streaming_query_command,json=streamingQueryCommand,proto3,oneof"` +} + +type Command_GetResourcesCommand struct { + GetResourcesCommand *GetResourcesCommand `protobuf:"bytes,8,opt,name=get_resources_command,json=getResourcesCommand,proto3,oneof"` +} + +type Command_StreamingQueryManagerCommand struct { + StreamingQueryManagerCommand *StreamingQueryManagerCommand `protobuf:"bytes,9,opt,name=streaming_query_manager_command,json=streamingQueryManagerCommand,proto3,oneof"` +} + +type Command_Extension struct { + // This field is used to mark extensions to the protocol. When plugins generate arbitrary + // Commands they can add them here. During the planning the correct resolution is done. + Extension *anypb.Any `protobuf:"bytes,999,opt,name=extension,proto3,oneof"` +} + +func (*Command_RegisterFunction) isCommand_CommandType() {} + +func (*Command_WriteOperation) isCommand_CommandType() {} + +func (*Command_CreateDataframeView) isCommand_CommandType() {} + +func (*Command_WriteOperationV2) isCommand_CommandType() {} + +func (*Command_SqlCommand) isCommand_CommandType() {} + +func (*Command_WriteStreamOperationStart) isCommand_CommandType() {} + +func (*Command_StreamingQueryCommand) isCommand_CommandType() {} + +func (*Command_GetResourcesCommand) isCommand_CommandType() {} + +func (*Command_StreamingQueryManagerCommand) isCommand_CommandType() {} + +func (*Command_Extension) isCommand_CommandType() {} + +// A SQL Command is used to trigger the eager evaluation of SQL commands in Spark. +// +// When the SQL provide as part of the message is a command it will be immediately evaluated +// and the result will be collected and returned as part of a LocalRelation. If the result is +// not a command, the operation will simply return a SQL Relation. This allows the client to be +// almost oblivious to the server-side behavior. +type SqlCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) SQL Query. + Sql string `protobuf:"bytes,1,opt,name=sql,proto3" json:"sql,omitempty"` + // (Optional) A map of parameter names to literal expressions. + Args map[string]*Expression_Literal `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SqlCommand) Reset() { + *x = SqlCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SqlCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SqlCommand) ProtoMessage() {} + +func (x *SqlCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SqlCommand.ProtoReflect.Descriptor instead. +func (*SqlCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{1} +} + +func (x *SqlCommand) GetSql() string { + if x != nil { + return x.Sql + } + return "" +} + +func (x *SqlCommand) GetArgs() map[string]*Expression_Literal { + if x != nil { + return x.Args + } + return nil +} + +// A command that can create DataFrame global temp view or local temp view. +type CreateDataFrameViewCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The relation that this view will be built on. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) View name. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // (Required) Whether this is global temp view or local temp view. + IsGlobal bool `protobuf:"varint,3,opt,name=is_global,json=isGlobal,proto3" json:"is_global,omitempty"` + // (Required) + // + // If true, and if the view already exists, updates it; if false, and if the view + // already exists, throws exception. + Replace bool `protobuf:"varint,4,opt,name=replace,proto3" json:"replace,omitempty"` +} + +func (x *CreateDataFrameViewCommand) Reset() { + *x = CreateDataFrameViewCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDataFrameViewCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDataFrameViewCommand) ProtoMessage() {} + +func (x *CreateDataFrameViewCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDataFrameViewCommand.ProtoReflect.Descriptor instead. +func (*CreateDataFrameViewCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateDataFrameViewCommand) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *CreateDataFrameViewCommand) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateDataFrameViewCommand) GetIsGlobal() bool { + if x != nil { + return x.IsGlobal + } + return false +} + +func (x *CreateDataFrameViewCommand) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +// As writes are not directly handled during analysis and planning, they are modeled as commands. +type WriteOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The output of the `input` relation will be persisted according to the options. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) Format value according to the Spark documentation. Examples are: text, parquet, delta. + Source *string `protobuf:"bytes,2,opt,name=source,proto3,oneof" json:"source,omitempty"` + // (Optional) + // + // The destination of the write operation can be either a path or a table. + // If the destination is neither a path nor a table, such as jdbc and noop, + // the `save_type` should not be set. + // + // Types that are assignable to SaveType: + // + // *WriteOperation_Path + // *WriteOperation_Table + SaveType isWriteOperation_SaveType `protobuf_oneof:"save_type"` + // (Required) the save mode. + Mode WriteOperation_SaveMode `protobuf:"varint,5,opt,name=mode,proto3,enum=spark.connect.WriteOperation_SaveMode" json:"mode,omitempty"` + // (Optional) List of columns to sort the output by. + SortColumnNames []string `protobuf:"bytes,6,rep,name=sort_column_names,json=sortColumnNames,proto3" json:"sort_column_names,omitempty"` + // (Optional) List of columns for partitioning. + PartitioningColumns []string `protobuf:"bytes,7,rep,name=partitioning_columns,json=partitioningColumns,proto3" json:"partitioning_columns,omitempty"` + // (Optional) Bucketing specification. Bucketing must set the number of buckets and the columns + // to bucket by. + BucketBy *WriteOperation_BucketBy `protobuf:"bytes,8,opt,name=bucket_by,json=bucketBy,proto3" json:"bucket_by,omitempty"` + // (Optional) A list of configuration options. + Options map[string]string `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *WriteOperation) Reset() { + *x = WriteOperation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOperation) ProtoMessage() {} + +func (x *WriteOperation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOperation.ProtoReflect.Descriptor instead. +func (*WriteOperation) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{3} +} + +func (x *WriteOperation) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *WriteOperation) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source + } + return "" +} + +func (m *WriteOperation) GetSaveType() isWriteOperation_SaveType { + if m != nil { + return m.SaveType + } + return nil +} + +func (x *WriteOperation) GetPath() string { + if x, ok := x.GetSaveType().(*WriteOperation_Path); ok { + return x.Path + } + return "" +} + +func (x *WriteOperation) GetTable() *WriteOperation_SaveTable { + if x, ok := x.GetSaveType().(*WriteOperation_Table); ok { + return x.Table + } + return nil +} + +func (x *WriteOperation) GetMode() WriteOperation_SaveMode { + if x != nil { + return x.Mode + } + return WriteOperation_SAVE_MODE_UNSPECIFIED +} + +func (x *WriteOperation) GetSortColumnNames() []string { + if x != nil { + return x.SortColumnNames + } + return nil +} + +func (x *WriteOperation) GetPartitioningColumns() []string { + if x != nil { + return x.PartitioningColumns + } + return nil +} + +func (x *WriteOperation) GetBucketBy() *WriteOperation_BucketBy { + if x != nil { + return x.BucketBy + } + return nil +} + +func (x *WriteOperation) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +type isWriteOperation_SaveType interface { + isWriteOperation_SaveType() +} + +type WriteOperation_Path struct { + Path string `protobuf:"bytes,3,opt,name=path,proto3,oneof"` +} + +type WriteOperation_Table struct { + Table *WriteOperation_SaveTable `protobuf:"bytes,4,opt,name=table,proto3,oneof"` +} + +func (*WriteOperation_Path) isWriteOperation_SaveType() {} + +func (*WriteOperation_Table) isWriteOperation_SaveType() {} + +// As writes are not directly handled during analysis and planning, they are modeled as commands. +type WriteOperationV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The output of the `input` relation will be persisted according to the options. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The destination of the write operation must be either a path or a table. + TableName string `protobuf:"bytes,2,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Optional) A provider for the underlying output data source. Spark's default catalog supports + // "parquet", "json", etc. + Provider *string `protobuf:"bytes,3,opt,name=provider,proto3,oneof" json:"provider,omitempty"` + // (Optional) List of columns for partitioning for output table created by `create`, + // `createOrReplace`, or `replace` + PartitioningColumns []*Expression `protobuf:"bytes,4,rep,name=partitioning_columns,json=partitioningColumns,proto3" json:"partitioning_columns,omitempty"` + // (Optional) A list of configuration options. + Options map[string]string `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // (Optional) A list of table properties. + TableProperties map[string]string `protobuf:"bytes,6,rep,name=table_properties,json=tableProperties,proto3" json:"table_properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // (Required) Write mode. + Mode WriteOperationV2_Mode `protobuf:"varint,7,opt,name=mode,proto3,enum=spark.connect.WriteOperationV2_Mode" json:"mode,omitempty"` + // (Optional) A condition for overwrite saving mode + OverwriteCondition *Expression `protobuf:"bytes,8,opt,name=overwrite_condition,json=overwriteCondition,proto3" json:"overwrite_condition,omitempty"` +} + +func (x *WriteOperationV2) Reset() { + *x = WriteOperationV2{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOperationV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOperationV2) ProtoMessage() {} + +func (x *WriteOperationV2) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOperationV2.ProtoReflect.Descriptor instead. +func (*WriteOperationV2) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{4} +} + +func (x *WriteOperationV2) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *WriteOperationV2) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *WriteOperationV2) GetProvider() string { + if x != nil && x.Provider != nil { + return *x.Provider + } + return "" +} + +func (x *WriteOperationV2) GetPartitioningColumns() []*Expression { + if x != nil { + return x.PartitioningColumns + } + return nil +} + +func (x *WriteOperationV2) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +func (x *WriteOperationV2) GetTableProperties() map[string]string { + if x != nil { + return x.TableProperties + } + return nil +} + +func (x *WriteOperationV2) GetMode() WriteOperationV2_Mode { + if x != nil { + return x.Mode + } + return WriteOperationV2_MODE_UNSPECIFIED +} + +func (x *WriteOperationV2) GetOverwriteCondition() *Expression { + if x != nil { + return x.OverwriteCondition + } + return nil +} + +// Starts write stream operation as streaming query. Query ID and Run ID of the streaming +// query are returned. +type WriteStreamOperationStart struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The output of the `input` streaming relation will be written. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` + Options map[string]string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + PartitioningColumnNames []string `protobuf:"bytes,4,rep,name=partitioning_column_names,json=partitioningColumnNames,proto3" json:"partitioning_column_names,omitempty"` + // Types that are assignable to Trigger: + // + // *WriteStreamOperationStart_ProcessingTimeInterval + // *WriteStreamOperationStart_AvailableNow + // *WriteStreamOperationStart_Once + // *WriteStreamOperationStart_ContinuousCheckpointInterval + Trigger isWriteStreamOperationStart_Trigger `protobuf_oneof:"trigger"` + OutputMode string `protobuf:"bytes,9,opt,name=output_mode,json=outputMode,proto3" json:"output_mode,omitempty"` + QueryName string `protobuf:"bytes,10,opt,name=query_name,json=queryName,proto3" json:"query_name,omitempty"` + // The destination is optional. When set, it can be a path or a table name. + // + // Types that are assignable to SinkDestination: + // + // *WriteStreamOperationStart_Path + // *WriteStreamOperationStart_TableName + SinkDestination isWriteStreamOperationStart_SinkDestination `protobuf_oneof:"sink_destination"` + ForeachWriter *StreamingForeachWriter `protobuf:"bytes,13,opt,name=foreach_writer,json=foreachWriter,proto3" json:"foreach_writer,omitempty"` +} + +func (x *WriteStreamOperationStart) Reset() { + *x = WriteStreamOperationStart{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteStreamOperationStart) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStreamOperationStart) ProtoMessage() {} + +func (x *WriteStreamOperationStart) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStreamOperationStart.ProtoReflect.Descriptor instead. +func (*WriteStreamOperationStart) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{5} +} + +func (x *WriteStreamOperationStart) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *WriteStreamOperationStart) GetFormat() string { + if x != nil { + return x.Format + } + return "" +} + +func (x *WriteStreamOperationStart) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +func (x *WriteStreamOperationStart) GetPartitioningColumnNames() []string { + if x != nil { + return x.PartitioningColumnNames + } + return nil +} + +func (m *WriteStreamOperationStart) GetTrigger() isWriteStreamOperationStart_Trigger { + if m != nil { + return m.Trigger + } + return nil +} + +func (x *WriteStreamOperationStart) GetProcessingTimeInterval() string { + if x, ok := x.GetTrigger().(*WriteStreamOperationStart_ProcessingTimeInterval); ok { + return x.ProcessingTimeInterval + } + return "" +} + +func (x *WriteStreamOperationStart) GetAvailableNow() bool { + if x, ok := x.GetTrigger().(*WriteStreamOperationStart_AvailableNow); ok { + return x.AvailableNow + } + return false +} + +func (x *WriteStreamOperationStart) GetOnce() bool { + if x, ok := x.GetTrigger().(*WriteStreamOperationStart_Once); ok { + return x.Once + } + return false +} + +func (x *WriteStreamOperationStart) GetContinuousCheckpointInterval() string { + if x, ok := x.GetTrigger().(*WriteStreamOperationStart_ContinuousCheckpointInterval); ok { + return x.ContinuousCheckpointInterval + } + return "" +} + +func (x *WriteStreamOperationStart) GetOutputMode() string { + if x != nil { + return x.OutputMode + } + return "" +} + +func (x *WriteStreamOperationStart) GetQueryName() string { + if x != nil { + return x.QueryName + } + return "" +} + +func (m *WriteStreamOperationStart) GetSinkDestination() isWriteStreamOperationStart_SinkDestination { + if m != nil { + return m.SinkDestination + } + return nil +} + +func (x *WriteStreamOperationStart) GetPath() string { + if x, ok := x.GetSinkDestination().(*WriteStreamOperationStart_Path); ok { + return x.Path + } + return "" +} + +func (x *WriteStreamOperationStart) GetTableName() string { + if x, ok := x.GetSinkDestination().(*WriteStreamOperationStart_TableName); ok { + return x.TableName + } + return "" +} + +func (x *WriteStreamOperationStart) GetForeachWriter() *StreamingForeachWriter { + if x != nil { + return x.ForeachWriter + } + return nil +} + +type isWriteStreamOperationStart_Trigger interface { + isWriteStreamOperationStart_Trigger() +} + +type WriteStreamOperationStart_ProcessingTimeInterval struct { + ProcessingTimeInterval string `protobuf:"bytes,5,opt,name=processing_time_interval,json=processingTimeInterval,proto3,oneof"` +} + +type WriteStreamOperationStart_AvailableNow struct { + AvailableNow bool `protobuf:"varint,6,opt,name=available_now,json=availableNow,proto3,oneof"` +} + +type WriteStreamOperationStart_Once struct { + Once bool `protobuf:"varint,7,opt,name=once,proto3,oneof"` +} + +type WriteStreamOperationStart_ContinuousCheckpointInterval struct { + ContinuousCheckpointInterval string `protobuf:"bytes,8,opt,name=continuous_checkpoint_interval,json=continuousCheckpointInterval,proto3,oneof"` +} + +func (*WriteStreamOperationStart_ProcessingTimeInterval) isWriteStreamOperationStart_Trigger() {} + +func (*WriteStreamOperationStart_AvailableNow) isWriteStreamOperationStart_Trigger() {} + +func (*WriteStreamOperationStart_Once) isWriteStreamOperationStart_Trigger() {} + +func (*WriteStreamOperationStart_ContinuousCheckpointInterval) isWriteStreamOperationStart_Trigger() { +} + +type isWriteStreamOperationStart_SinkDestination interface { + isWriteStreamOperationStart_SinkDestination() +} + +type WriteStreamOperationStart_Path struct { + Path string `protobuf:"bytes,11,opt,name=path,proto3,oneof"` +} + +type WriteStreamOperationStart_TableName struct { + TableName string `protobuf:"bytes,12,opt,name=table_name,json=tableName,proto3,oneof"` +} + +func (*WriteStreamOperationStart_Path) isWriteStreamOperationStart_SinkDestination() {} + +func (*WriteStreamOperationStart_TableName) isWriteStreamOperationStart_SinkDestination() {} + +type StreamingForeachWriter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Writer: + // + // *StreamingForeachWriter_PythonWriter + Writer isStreamingForeachWriter_Writer `protobuf_oneof:"writer"` +} + +func (x *StreamingForeachWriter) Reset() { + *x = StreamingForeachWriter{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingForeachWriter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingForeachWriter) ProtoMessage() {} + +func (x *StreamingForeachWriter) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingForeachWriter.ProtoReflect.Descriptor instead. +func (*StreamingForeachWriter) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{6} +} + +func (m *StreamingForeachWriter) GetWriter() isStreamingForeachWriter_Writer { + if m != nil { + return m.Writer + } + return nil +} + +func (x *StreamingForeachWriter) GetPythonWriter() *PythonUDF { + if x, ok := x.GetWriter().(*StreamingForeachWriter_PythonWriter); ok { + return x.PythonWriter + } + return nil +} + +type isStreamingForeachWriter_Writer interface { + isStreamingForeachWriter_Writer() +} + +type StreamingForeachWriter_PythonWriter struct { + PythonWriter *PythonUDF `protobuf:"bytes,1,opt,name=python_writer,json=pythonWriter,proto3,oneof"` +} + +func (*StreamingForeachWriter_PythonWriter) isStreamingForeachWriter_Writer() {} + +type WriteStreamOperationStartResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Query instance. See `StreamingQueryInstanceId`. + QueryId *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"` + // An optional query name. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *WriteStreamOperationStartResult) Reset() { + *x = WriteStreamOperationStartResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteStreamOperationStartResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStreamOperationStartResult) ProtoMessage() {} + +func (x *WriteStreamOperationStartResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStreamOperationStartResult.ProtoReflect.Descriptor instead. +func (*WriteStreamOperationStartResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{7} +} + +func (x *WriteStreamOperationStartResult) GetQueryId() *StreamingQueryInstanceId { + if x != nil { + return x.QueryId + } + return nil +} + +func (x *WriteStreamOperationStartResult) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A tuple that uniquely identifies an instance of streaming query run. It consists of `id` that +// persists across the streaming runs and `run_id` that changes between each run of the +// streaming query that resumes from the checkpoint. +type StreamingQueryInstanceId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The unique id of this query that persists across restarts from checkpoint data. + // That is, this id is generated when a query is started for the first time, and + // will be the same every time it is restarted from checkpoint data. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // (Required) The unique id of this run of the query. That is, every start/restart of a query + // will generate a unique run_id. Therefore, every time a query is restarted from + // checkpoint, it will have the same `id` but different `run_id`s. + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` +} + +func (x *StreamingQueryInstanceId) Reset() { + *x = StreamingQueryInstanceId{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryInstanceId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryInstanceId) ProtoMessage() {} + +func (x *StreamingQueryInstanceId) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryInstanceId.ProtoReflect.Descriptor instead. +func (*StreamingQueryInstanceId) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{8} +} + +func (x *StreamingQueryInstanceId) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *StreamingQueryInstanceId) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +// Commands for a streaming query. +type StreamingQueryCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Query instance. See `StreamingQueryInstanceId`. + QueryId *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"` + // See documentation for the corresponding API method in StreamingQuery. + // + // Types that are assignable to Command: + // + // *StreamingQueryCommand_Status + // *StreamingQueryCommand_LastProgress + // *StreamingQueryCommand_RecentProgress + // *StreamingQueryCommand_Stop + // *StreamingQueryCommand_ProcessAllAvailable + // *StreamingQueryCommand_Explain + // *StreamingQueryCommand_Exception + // *StreamingQueryCommand_AwaitTermination + Command isStreamingQueryCommand_Command `protobuf_oneof:"command"` +} + +func (x *StreamingQueryCommand) Reset() { + *x = StreamingQueryCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommand) ProtoMessage() {} + +func (x *StreamingQueryCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommand.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{9} +} + +func (x *StreamingQueryCommand) GetQueryId() *StreamingQueryInstanceId { + if x != nil { + return x.QueryId + } + return nil +} + +func (m *StreamingQueryCommand) GetCommand() isStreamingQueryCommand_Command { + if m != nil { + return m.Command + } + return nil +} + +func (x *StreamingQueryCommand) GetStatus() bool { + if x, ok := x.GetCommand().(*StreamingQueryCommand_Status); ok { + return x.Status + } + return false +} + +func (x *StreamingQueryCommand) GetLastProgress() bool { + if x, ok := x.GetCommand().(*StreamingQueryCommand_LastProgress); ok { + return x.LastProgress + } + return false +} + +func (x *StreamingQueryCommand) GetRecentProgress() bool { + if x, ok := x.GetCommand().(*StreamingQueryCommand_RecentProgress); ok { + return x.RecentProgress + } + return false +} + +func (x *StreamingQueryCommand) GetStop() bool { + if x, ok := x.GetCommand().(*StreamingQueryCommand_Stop); ok { + return x.Stop + } + return false +} + +func (x *StreamingQueryCommand) GetProcessAllAvailable() bool { + if x, ok := x.GetCommand().(*StreamingQueryCommand_ProcessAllAvailable); ok { + return x.ProcessAllAvailable + } + return false +} + +func (x *StreamingQueryCommand) GetExplain() *StreamingQueryCommand_ExplainCommand { + if x, ok := x.GetCommand().(*StreamingQueryCommand_Explain); ok { + return x.Explain + } + return nil +} + +func (x *StreamingQueryCommand) GetException() bool { + if x, ok := x.GetCommand().(*StreamingQueryCommand_Exception); ok { + return x.Exception + } + return false +} + +func (x *StreamingQueryCommand) GetAwaitTermination() *StreamingQueryCommand_AwaitTerminationCommand { + if x, ok := x.GetCommand().(*StreamingQueryCommand_AwaitTermination); ok { + return x.AwaitTermination + } + return nil +} + +type isStreamingQueryCommand_Command interface { + isStreamingQueryCommand_Command() +} + +type StreamingQueryCommand_Status struct { + // status() API. + Status bool `protobuf:"varint,2,opt,name=status,proto3,oneof"` +} + +type StreamingQueryCommand_LastProgress struct { + // lastProgress() API. + LastProgress bool `protobuf:"varint,3,opt,name=last_progress,json=lastProgress,proto3,oneof"` +} + +type StreamingQueryCommand_RecentProgress struct { + // recentProgress() API. + RecentProgress bool `protobuf:"varint,4,opt,name=recent_progress,json=recentProgress,proto3,oneof"` +} + +type StreamingQueryCommand_Stop struct { + // stop() API. Stops the query. + Stop bool `protobuf:"varint,5,opt,name=stop,proto3,oneof"` +} + +type StreamingQueryCommand_ProcessAllAvailable struct { + // processAllAvailable() API. Waits till all the available data is processed + ProcessAllAvailable bool `protobuf:"varint,6,opt,name=process_all_available,json=processAllAvailable,proto3,oneof"` +} + +type StreamingQueryCommand_Explain struct { + // explain() API. Returns logical and physical plans. + Explain *StreamingQueryCommand_ExplainCommand `protobuf:"bytes,7,opt,name=explain,proto3,oneof"` +} + +type StreamingQueryCommand_Exception struct { + // exception() API. Returns the exception in the query if any. + Exception bool `protobuf:"varint,8,opt,name=exception,proto3,oneof"` +} + +type StreamingQueryCommand_AwaitTermination struct { + // awaitTermination() API. Waits for the termination of the query. + AwaitTermination *StreamingQueryCommand_AwaitTerminationCommand `protobuf:"bytes,9,opt,name=await_termination,json=awaitTermination,proto3,oneof"` +} + +func (*StreamingQueryCommand_Status) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_LastProgress) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_RecentProgress) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_Stop) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_ProcessAllAvailable) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_Explain) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_Exception) isStreamingQueryCommand_Command() {} + +func (*StreamingQueryCommand_AwaitTermination) isStreamingQueryCommand_Command() {} + +// Response for commands on a streaming query. +type StreamingQueryCommandResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Query instance id. See `StreamingQueryInstanceId`. + QueryId *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"` + // Types that are assignable to ResultType: + // + // *StreamingQueryCommandResult_Status + // *StreamingQueryCommandResult_RecentProgress + // *StreamingQueryCommandResult_Explain + // *StreamingQueryCommandResult_Exception + // *StreamingQueryCommandResult_AwaitTermination + ResultType isStreamingQueryCommandResult_ResultType `protobuf_oneof:"result_type"` +} + +func (x *StreamingQueryCommandResult) Reset() { + *x = StreamingQueryCommandResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommandResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommandResult) ProtoMessage() {} + +func (x *StreamingQueryCommandResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommandResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommandResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{10} +} + +func (x *StreamingQueryCommandResult) GetQueryId() *StreamingQueryInstanceId { + if x != nil { + return x.QueryId + } + return nil +} + +func (m *StreamingQueryCommandResult) GetResultType() isStreamingQueryCommandResult_ResultType { + if m != nil { + return m.ResultType + } + return nil +} + +func (x *StreamingQueryCommandResult) GetStatus() *StreamingQueryCommandResult_StatusResult { + if x, ok := x.GetResultType().(*StreamingQueryCommandResult_Status); ok { + return x.Status + } + return nil +} + +func (x *StreamingQueryCommandResult) GetRecentProgress() *StreamingQueryCommandResult_RecentProgressResult { + if x, ok := x.GetResultType().(*StreamingQueryCommandResult_RecentProgress); ok { + return x.RecentProgress + } + return nil +} + +func (x *StreamingQueryCommandResult) GetExplain() *StreamingQueryCommandResult_ExplainResult { + if x, ok := x.GetResultType().(*StreamingQueryCommandResult_Explain); ok { + return x.Explain + } + return nil +} + +func (x *StreamingQueryCommandResult) GetException() *StreamingQueryCommandResult_ExceptionResult { + if x, ok := x.GetResultType().(*StreamingQueryCommandResult_Exception); ok { + return x.Exception + } + return nil +} + +func (x *StreamingQueryCommandResult) GetAwaitTermination() *StreamingQueryCommandResult_AwaitTerminationResult { + if x, ok := x.GetResultType().(*StreamingQueryCommandResult_AwaitTermination); ok { + return x.AwaitTermination + } + return nil +} + +type isStreamingQueryCommandResult_ResultType interface { + isStreamingQueryCommandResult_ResultType() +} + +type StreamingQueryCommandResult_Status struct { + Status *StreamingQueryCommandResult_StatusResult `protobuf:"bytes,2,opt,name=status,proto3,oneof"` +} + +type StreamingQueryCommandResult_RecentProgress struct { + RecentProgress *StreamingQueryCommandResult_RecentProgressResult `protobuf:"bytes,3,opt,name=recent_progress,json=recentProgress,proto3,oneof"` +} + +type StreamingQueryCommandResult_Explain struct { + Explain *StreamingQueryCommandResult_ExplainResult `protobuf:"bytes,4,opt,name=explain,proto3,oneof"` +} + +type StreamingQueryCommandResult_Exception struct { + Exception *StreamingQueryCommandResult_ExceptionResult `protobuf:"bytes,5,opt,name=exception,proto3,oneof"` +} + +type StreamingQueryCommandResult_AwaitTermination struct { + AwaitTermination *StreamingQueryCommandResult_AwaitTerminationResult `protobuf:"bytes,6,opt,name=await_termination,json=awaitTermination,proto3,oneof"` +} + +func (*StreamingQueryCommandResult_Status) isStreamingQueryCommandResult_ResultType() {} + +func (*StreamingQueryCommandResult_RecentProgress) isStreamingQueryCommandResult_ResultType() {} + +func (*StreamingQueryCommandResult_Explain) isStreamingQueryCommandResult_ResultType() {} + +func (*StreamingQueryCommandResult_Exception) isStreamingQueryCommandResult_ResultType() {} + +func (*StreamingQueryCommandResult_AwaitTermination) isStreamingQueryCommandResult_ResultType() {} + +// Commands for the streaming query manager. +type StreamingQueryManagerCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // See documentation for the corresponding API method in StreamingQueryManager. + // + // Types that are assignable to Command: + // + // *StreamingQueryManagerCommand_Active + // *StreamingQueryManagerCommand_GetQuery + // *StreamingQueryManagerCommand_AwaitAnyTermination + // *StreamingQueryManagerCommand_ResetTerminated + Command isStreamingQueryManagerCommand_Command `protobuf_oneof:"command"` +} + +func (x *StreamingQueryManagerCommand) Reset() { + *x = StreamingQueryManagerCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryManagerCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryManagerCommand) ProtoMessage() {} + +func (x *StreamingQueryManagerCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryManagerCommand.ProtoReflect.Descriptor instead. +func (*StreamingQueryManagerCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{11} +} + +func (m *StreamingQueryManagerCommand) GetCommand() isStreamingQueryManagerCommand_Command { + if m != nil { + return m.Command + } + return nil +} + +func (x *StreamingQueryManagerCommand) GetActive() bool { + if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_Active); ok { + return x.Active + } + return false +} + +func (x *StreamingQueryManagerCommand) GetGetQuery() string { + if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_GetQuery); ok { + return x.GetQuery + } + return "" +} + +func (x *StreamingQueryManagerCommand) GetAwaitAnyTermination() *StreamingQueryManagerCommand_AwaitAnyTerminationCommand { + if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_AwaitAnyTermination); ok { + return x.AwaitAnyTermination + } + return nil +} + +func (x *StreamingQueryManagerCommand) GetResetTerminated() bool { + if x, ok := x.GetCommand().(*StreamingQueryManagerCommand_ResetTerminated); ok { + return x.ResetTerminated + } + return false +} + +type isStreamingQueryManagerCommand_Command interface { + isStreamingQueryManagerCommand_Command() +} + +type StreamingQueryManagerCommand_Active struct { + // active() API, returns a list of active queries. + Active bool `protobuf:"varint,1,opt,name=active,proto3,oneof"` +} + +type StreamingQueryManagerCommand_GetQuery struct { + // get() API, returns the StreamingQuery identified by id. + GetQuery string `protobuf:"bytes,2,opt,name=get_query,json=getQuery,proto3,oneof"` +} + +type StreamingQueryManagerCommand_AwaitAnyTermination struct { + // awaitAnyTermination() API, wait until any query terminates or timeout. + AwaitAnyTermination *StreamingQueryManagerCommand_AwaitAnyTerminationCommand `protobuf:"bytes,3,opt,name=await_any_termination,json=awaitAnyTermination,proto3,oneof"` +} + +type StreamingQueryManagerCommand_ResetTerminated struct { + // resetTerminated() API. + ResetTerminated bool `protobuf:"varint,4,opt,name=reset_terminated,json=resetTerminated,proto3,oneof"` +} + +func (*StreamingQueryManagerCommand_Active) isStreamingQueryManagerCommand_Command() {} + +func (*StreamingQueryManagerCommand_GetQuery) isStreamingQueryManagerCommand_Command() {} + +func (*StreamingQueryManagerCommand_AwaitAnyTermination) isStreamingQueryManagerCommand_Command() {} + +func (*StreamingQueryManagerCommand_ResetTerminated) isStreamingQueryManagerCommand_Command() {} + +// Response for commands on the streaming query manager. +type StreamingQueryManagerCommandResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ResultType: + // + // *StreamingQueryManagerCommandResult_Active + // *StreamingQueryManagerCommandResult_Query + // *StreamingQueryManagerCommandResult_AwaitAnyTermination + // *StreamingQueryManagerCommandResult_ResetTerminated + ResultType isStreamingQueryManagerCommandResult_ResultType `protobuf_oneof:"result_type"` +} + +func (x *StreamingQueryManagerCommandResult) Reset() { + *x = StreamingQueryManagerCommandResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryManagerCommandResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryManagerCommandResult) ProtoMessage() {} + +func (x *StreamingQueryManagerCommandResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryManagerCommandResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryManagerCommandResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{12} +} + +func (m *StreamingQueryManagerCommandResult) GetResultType() isStreamingQueryManagerCommandResult_ResultType { + if m != nil { + return m.ResultType + } + return nil +} + +func (x *StreamingQueryManagerCommandResult) GetActive() *StreamingQueryManagerCommandResult_ActiveResult { + if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_Active); ok { + return x.Active + } + return nil +} + +func (x *StreamingQueryManagerCommandResult) GetQuery() *StreamingQueryManagerCommandResult_StreamingQueryInstance { + if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_Query); ok { + return x.Query + } + return nil +} + +func (x *StreamingQueryManagerCommandResult) GetAwaitAnyTermination() *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult { + if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_AwaitAnyTermination); ok { + return x.AwaitAnyTermination + } + return nil +} + +func (x *StreamingQueryManagerCommandResult) GetResetTerminated() bool { + if x, ok := x.GetResultType().(*StreamingQueryManagerCommandResult_ResetTerminated); ok { + return x.ResetTerminated + } + return false +} + +type isStreamingQueryManagerCommandResult_ResultType interface { + isStreamingQueryManagerCommandResult_ResultType() +} + +type StreamingQueryManagerCommandResult_Active struct { + Active *StreamingQueryManagerCommandResult_ActiveResult `protobuf:"bytes,1,opt,name=active,proto3,oneof"` +} + +type StreamingQueryManagerCommandResult_Query struct { + Query *StreamingQueryManagerCommandResult_StreamingQueryInstance `protobuf:"bytes,2,opt,name=query,proto3,oneof"` +} + +type StreamingQueryManagerCommandResult_AwaitAnyTermination struct { + AwaitAnyTermination *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult `protobuf:"bytes,3,opt,name=await_any_termination,json=awaitAnyTermination,proto3,oneof"` +} + +type StreamingQueryManagerCommandResult_ResetTerminated struct { + ResetTerminated bool `protobuf:"varint,4,opt,name=reset_terminated,json=resetTerminated,proto3,oneof"` +} + +func (*StreamingQueryManagerCommandResult_Active) isStreamingQueryManagerCommandResult_ResultType() {} + +func (*StreamingQueryManagerCommandResult_Query) isStreamingQueryManagerCommandResult_ResultType() {} + +func (*StreamingQueryManagerCommandResult_AwaitAnyTermination) isStreamingQueryManagerCommandResult_ResultType() { +} + +func (*StreamingQueryManagerCommandResult_ResetTerminated) isStreamingQueryManagerCommandResult_ResultType() { +} + +// Command to get the output of 'SparkContext.resources' +type GetResourcesCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetResourcesCommand) Reset() { + *x = GetResourcesCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResourcesCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResourcesCommand) ProtoMessage() {} + +func (x *GetResourcesCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetResourcesCommand.ProtoReflect.Descriptor instead. +func (*GetResourcesCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{13} +} + +// Response for command 'GetResourcesCommand'. +type GetResourcesCommandResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resources map[string]*ResourceInformation `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GetResourcesCommandResult) Reset() { + *x = GetResourcesCommandResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResourcesCommandResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResourcesCommandResult) ProtoMessage() {} + +func (x *GetResourcesCommandResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetResourcesCommandResult.ProtoReflect.Descriptor instead. +func (*GetResourcesCommandResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{14} +} + +func (x *GetResourcesCommandResult) GetResources() map[string]*ResourceInformation { + if x != nil { + return x.Resources + } + return nil +} + +type WriteOperation_SaveTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The table name. + TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // (Required) The method to be called to write to the table. + SaveMethod WriteOperation_SaveTable_TableSaveMethod `protobuf:"varint,2,opt,name=save_method,json=saveMethod,proto3,enum=spark.connect.WriteOperation_SaveTable_TableSaveMethod" json:"save_method,omitempty"` +} + +func (x *WriteOperation_SaveTable) Reset() { + *x = WriteOperation_SaveTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOperation_SaveTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOperation_SaveTable) ProtoMessage() {} + +func (x *WriteOperation_SaveTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOperation_SaveTable.ProtoReflect.Descriptor instead. +func (*WriteOperation_SaveTable) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *WriteOperation_SaveTable) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *WriteOperation_SaveTable) GetSaveMethod() WriteOperation_SaveTable_TableSaveMethod { + if x != nil { + return x.SaveMethod + } + return WriteOperation_SaveTable_TABLE_SAVE_METHOD_UNSPECIFIED +} + +type WriteOperation_BucketBy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BucketColumnNames []string `protobuf:"bytes,1,rep,name=bucket_column_names,json=bucketColumnNames,proto3" json:"bucket_column_names,omitempty"` + NumBuckets int32 `protobuf:"varint,2,opt,name=num_buckets,json=numBuckets,proto3" json:"num_buckets,omitempty"` +} + +func (x *WriteOperation_BucketBy) Reset() { + *x = WriteOperation_BucketBy{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOperation_BucketBy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOperation_BucketBy) ProtoMessage() {} + +func (x *WriteOperation_BucketBy) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOperation_BucketBy.ProtoReflect.Descriptor instead. +func (*WriteOperation_BucketBy) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *WriteOperation_BucketBy) GetBucketColumnNames() []string { + if x != nil { + return x.BucketColumnNames + } + return nil +} + +func (x *WriteOperation_BucketBy) GetNumBuckets() int32 { + if x != nil { + return x.NumBuckets + } + return 0 +} + +type StreamingQueryCommand_ExplainCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // TODO: Consider reusing Explain from AnalyzePlanRequest message. + // + // We can not do this right now since it base.proto imports this file. + Extended bool `protobuf:"varint,1,opt,name=extended,proto3" json:"extended,omitempty"` +} + +func (x *StreamingQueryCommand_ExplainCommand) Reset() { + *x = StreamingQueryCommand_ExplainCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommand_ExplainCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommand_ExplainCommand) ProtoMessage() {} + +func (x *StreamingQueryCommand_ExplainCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommand_ExplainCommand.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommand_ExplainCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *StreamingQueryCommand_ExplainCommand) GetExtended() bool { + if x != nil { + return x.Extended + } + return false +} + +type StreamingQueryCommand_AwaitTerminationCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeoutMs *int64 `protobuf:"varint,2,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"` +} + +func (x *StreamingQueryCommand_AwaitTerminationCommand) Reset() { + *x = StreamingQueryCommand_AwaitTerminationCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommand_AwaitTerminationCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommand_AwaitTerminationCommand) ProtoMessage() {} + +func (x *StreamingQueryCommand_AwaitTerminationCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommand_AwaitTerminationCommand.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommand_AwaitTerminationCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{9, 1} +} + +func (x *StreamingQueryCommand_AwaitTerminationCommand) GetTimeoutMs() int64 { + if x != nil && x.TimeoutMs != nil { + return *x.TimeoutMs + } + return 0 +} + +type StreamingQueryCommandResult_StatusResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // See documentation for these Scala 'StreamingQueryStatus' struct + StatusMessage string `protobuf:"bytes,1,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + IsDataAvailable bool `protobuf:"varint,2,opt,name=is_data_available,json=isDataAvailable,proto3" json:"is_data_available,omitempty"` + IsTriggerActive bool `protobuf:"varint,3,opt,name=is_trigger_active,json=isTriggerActive,proto3" json:"is_trigger_active,omitempty"` + IsActive bool `protobuf:"varint,4,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` +} + +func (x *StreamingQueryCommandResult_StatusResult) Reset() { + *x = StreamingQueryCommandResult_StatusResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommandResult_StatusResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommandResult_StatusResult) ProtoMessage() {} + +func (x *StreamingQueryCommandResult_StatusResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommandResult_StatusResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommandResult_StatusResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *StreamingQueryCommandResult_StatusResult) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *StreamingQueryCommandResult_StatusResult) GetIsDataAvailable() bool { + if x != nil { + return x.IsDataAvailable + } + return false +} + +func (x *StreamingQueryCommandResult_StatusResult) GetIsTriggerActive() bool { + if x != nil { + return x.IsTriggerActive + } + return false +} + +func (x *StreamingQueryCommandResult_StatusResult) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +type StreamingQueryCommandResult_RecentProgressResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Progress reports as an array of json strings. + RecentProgressJson []string `protobuf:"bytes,5,rep,name=recent_progress_json,json=recentProgressJson,proto3" json:"recent_progress_json,omitempty"` +} + +func (x *StreamingQueryCommandResult_RecentProgressResult) Reset() { + *x = StreamingQueryCommandResult_RecentProgressResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommandResult_RecentProgressResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommandResult_RecentProgressResult) ProtoMessage() {} + +func (x *StreamingQueryCommandResult_RecentProgressResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommandResult_RecentProgressResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommandResult_RecentProgressResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{10, 1} +} + +func (x *StreamingQueryCommandResult_RecentProgressResult) GetRecentProgressJson() []string { + if x != nil { + return x.RecentProgressJson + } + return nil +} + +type StreamingQueryCommandResult_ExplainResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Logical and physical plans as string + Result string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` +} + +func (x *StreamingQueryCommandResult_ExplainResult) Reset() { + *x = StreamingQueryCommandResult_ExplainResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommandResult_ExplainResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommandResult_ExplainResult) ProtoMessage() {} + +func (x *StreamingQueryCommandResult_ExplainResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommandResult_ExplainResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommandResult_ExplainResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{10, 2} +} + +func (x *StreamingQueryCommandResult_ExplainResult) GetResult() string { + if x != nil { + return x.Result + } + return "" +} + +type StreamingQueryCommandResult_ExceptionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) Exception message as string, maps to the return value of original + // StreamingQueryException's toString method + ExceptionMessage *string `protobuf:"bytes,1,opt,name=exception_message,json=exceptionMessage,proto3,oneof" json:"exception_message,omitempty"` + // (Optional) Exception error class as string + ErrorClass *string `protobuf:"bytes,2,opt,name=error_class,json=errorClass,proto3,oneof" json:"error_class,omitempty"` + // (Optional) Exception stack trace as string + StackTrace *string `protobuf:"bytes,3,opt,name=stack_trace,json=stackTrace,proto3,oneof" json:"stack_trace,omitempty"` +} + +func (x *StreamingQueryCommandResult_ExceptionResult) Reset() { + *x = StreamingQueryCommandResult_ExceptionResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommandResult_ExceptionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommandResult_ExceptionResult) ProtoMessage() {} + +func (x *StreamingQueryCommandResult_ExceptionResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommandResult_ExceptionResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommandResult_ExceptionResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{10, 3} +} + +func (x *StreamingQueryCommandResult_ExceptionResult) GetExceptionMessage() string { + if x != nil && x.ExceptionMessage != nil { + return *x.ExceptionMessage + } + return "" +} + +func (x *StreamingQueryCommandResult_ExceptionResult) GetErrorClass() string { + if x != nil && x.ErrorClass != nil { + return *x.ErrorClass + } + return "" +} + +func (x *StreamingQueryCommandResult_ExceptionResult) GetStackTrace() string { + if x != nil && x.StackTrace != nil { + return *x.StackTrace + } + return "" +} + +type StreamingQueryCommandResult_AwaitTerminationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Terminated bool `protobuf:"varint,1,opt,name=terminated,proto3" json:"terminated,omitempty"` +} + +func (x *StreamingQueryCommandResult_AwaitTerminationResult) Reset() { + *x = StreamingQueryCommandResult_AwaitTerminationResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryCommandResult_AwaitTerminationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryCommandResult_AwaitTerminationResult) ProtoMessage() {} + +func (x *StreamingQueryCommandResult_AwaitTerminationResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryCommandResult_AwaitTerminationResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryCommandResult_AwaitTerminationResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{10, 4} +} + +func (x *StreamingQueryCommandResult_AwaitTerminationResult) GetTerminated() bool { + if x != nil { + return x.Terminated + } + return false +} + +type StreamingQueryManagerCommand_AwaitAnyTerminationCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) The waiting time in milliseconds to wait for any query to terminate. + TimeoutMs *int64 `protobuf:"varint,1,opt,name=timeout_ms,json=timeoutMs,proto3,oneof" json:"timeout_ms,omitempty"` +} + +func (x *StreamingQueryManagerCommand_AwaitAnyTerminationCommand) Reset() { + *x = StreamingQueryManagerCommand_AwaitAnyTerminationCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryManagerCommand_AwaitAnyTerminationCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryManagerCommand_AwaitAnyTerminationCommand) ProtoMessage() {} + +func (x *StreamingQueryManagerCommand_AwaitAnyTerminationCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryManagerCommand_AwaitAnyTerminationCommand.ProtoReflect.Descriptor instead. +func (*StreamingQueryManagerCommand_AwaitAnyTerminationCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{11, 0} +} + +func (x *StreamingQueryManagerCommand_AwaitAnyTerminationCommand) GetTimeoutMs() int64 { + if x != nil && x.TimeoutMs != nil { + return *x.TimeoutMs + } + return 0 +} + +type StreamingQueryManagerCommandResult_ActiveResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveQueries []*StreamingQueryManagerCommandResult_StreamingQueryInstance `protobuf:"bytes,1,rep,name=active_queries,json=activeQueries,proto3" json:"active_queries,omitempty"` +} + +func (x *StreamingQueryManagerCommandResult_ActiveResult) Reset() { + *x = StreamingQueryManagerCommandResult_ActiveResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryManagerCommandResult_ActiveResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryManagerCommandResult_ActiveResult) ProtoMessage() {} + +func (x *StreamingQueryManagerCommandResult_ActiveResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryManagerCommandResult_ActiveResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryManagerCommandResult_ActiveResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *StreamingQueryManagerCommandResult_ActiveResult) GetActiveQueries() []*StreamingQueryManagerCommandResult_StreamingQueryInstance { + if x != nil { + return x.ActiveQueries + } + return nil +} + +type StreamingQueryManagerCommandResult_StreamingQueryInstance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The id and runId of this query. + Id *StreamingQueryInstanceId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // (Optional) The name of this query. + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) Reset() { + *x = StreamingQueryManagerCommandResult_StreamingQueryInstance{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryManagerCommandResult_StreamingQueryInstance) ProtoMessage() {} + +func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryManagerCommandResult_StreamingQueryInstance.ProtoReflect.Descriptor instead. +func (*StreamingQueryManagerCommandResult_StreamingQueryInstance) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{12, 1} +} + +func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) GetId() *StreamingQueryInstanceId { + if x != nil { + return x.Id + } + return nil +} + +func (x *StreamingQueryManagerCommandResult_StreamingQueryInstance) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type StreamingQueryManagerCommandResult_AwaitAnyTerminationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Terminated bool `protobuf:"varint,1,opt,name=terminated,proto3" json:"terminated,omitempty"` +} + +func (x *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) Reset() { + *x = StreamingQueryManagerCommandResult_AwaitAnyTerminationResult{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_commands_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) ProtoMessage() {} + +func (x *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_commands_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamingQueryManagerCommandResult_AwaitAnyTerminationResult.ProtoReflect.Descriptor instead. +func (*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) Descriptor() ([]byte, []int) { + return file_spark_connect_commands_proto_rawDescGZIP(), []int{12, 2} +} + +func (x *StreamingQueryManagerCommandResult_AwaitAnyTerminationResult) GetTerminated() bool { + if x != nil { + return x.Terminated + } + return false +} + +var File_spark_connect_commands_proto protoreflect.FileDescriptor + +var file_spark_connect_commands_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, + 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x07, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x12, 0x5d, 0x0a, 0x11, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x48, 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x15, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x76, 0x69, + 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x4f, 0x0a, 0x12, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x32, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, 0x3c, 0x0a, 0x0b, 0x73, + 0x71, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x73, + 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x6b, 0x0a, 0x1c, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x00, 0x52, 0x19, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x5e, 0x0a, 0x17, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, + 0x15, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x58, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x12, 0x74, 0x0a, 0x1f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, + 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, + 0x0a, 0x0a, 0x53, 0x71, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x71, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x37, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x71, 0x6c, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x5a, 0x0a, 0x09, 0x41, 0x72, 0x67, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x9b, 0x08, 0x0a, + 0x0e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x3f, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x53, 0x61, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x53, 0x61, 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2a, + 0x0a, 0x11, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x43, 0x0a, + 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x42, 0x79, 0x12, 0x44, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x82, 0x02, 0x0a, 0x09, 0x53, 0x61, 0x76, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, + 0x0a, 0x73, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x7c, 0x0a, 0x0f, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, + 0x0a, 0x1d, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x45, 0x54, + 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, + 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x41, 0x53, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x45, + 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x4f, 0x10, 0x02, 0x1a, 0x5b, 0x0a, 0x08, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x11, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x08, 0x53, 0x61, 0x76, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x10, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x45, + 0x4e, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x12, 0x1d, 0x0a, + 0x19, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x49, 0x46, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, + 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, + 0x10, 0x04, 0x42, 0x0b, 0x0a, 0x09, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xad, 0x06, 0x0a, 0x10, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x12, + 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x4c, + 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, + 0x4a, 0x0a, 0x13, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x04, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x12, + 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, + 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x0f, + 0x0a, 0x0b, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x04, 0x12, + 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, + 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x5f, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x06, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xd0, 0x05, 0x0a, 0x19, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x4f, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x17, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x18, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x16, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x0d, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x77, 0x12, + 0x14, 0x0a, 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x04, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, + 0x6f, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x1c, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x5f, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x73, 0x69, 0x6e, + 0x6b, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, + 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, + 0x6e, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, + 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x55, 0x44, 0x46, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x79, 0x74, 0x68, + 0x6f, 0x6e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x22, 0x79, 0x0a, 0x1f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, + 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, + 0x22, 0xf8, 0x04, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x29, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x73, 0x74, + 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, + 0x12, 0x34, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x45, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x07, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x11, 0x61, 0x77, 0x61, 0x69, 0x74, + 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x48, 0x00, 0x52, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2c, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x64, 0x1a, 0x4c, 0x0a, 0x17, 0x41, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, + 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xf5, 0x08, 0x0a, 0x1b, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, + 0x51, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x6a, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, + 0x0a, 0x07, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x5a, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x70, 0x0a, 0x11, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, + 0x52, 0x10, 0x61, 0x77, 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0xaa, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x44, 0x61, 0x74, 0x61, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x69, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x1a, + 0x48, 0x0a, 0x14, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x1a, 0x27, 0x0a, 0x0d, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x1a, 0xc5, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x38, 0x0a, 0x16, 0x41, 0x77, + 0x61, 0x69, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, + 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x08, 0x67, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x7c, 0x0a, + 0x15, 0x61, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, 0x41, + 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, + 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x10, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x54, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x4f, 0x0a, 0x1a, 0x41, 0x77, 0x61, 0x69, + 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xd3, 0x05, 0x0a, 0x22, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x58, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x60, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x15, 0x61, 0x77, 0x61, 0x69, + 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x77, 0x61, 0x69, 0x74, + 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, + 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x10, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x54, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x7f, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6f, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x73, 0x0a, 0x16, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, + 0x0a, 0x19, 0x41, 0x77, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x55, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x60, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x36, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, + 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_commands_proto_rawDescOnce sync.Once + file_spark_connect_commands_proto_rawDescData = file_spark_connect_commands_proto_rawDesc +) + +func file_spark_connect_commands_proto_rawDescGZIP() []byte { + file_spark_connect_commands_proto_rawDescOnce.Do(func() { + file_spark_connect_commands_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_commands_proto_rawDescData) + }) + return file_spark_connect_commands_proto_rawDescData +} + +var file_spark_connect_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_spark_connect_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 34) +var file_spark_connect_commands_proto_goTypes = []interface{}{ + (WriteOperation_SaveMode)(0), // 0: spark.connect.WriteOperation.SaveMode + (WriteOperation_SaveTable_TableSaveMethod)(0), // 1: spark.connect.WriteOperation.SaveTable.TableSaveMethod + (WriteOperationV2_Mode)(0), // 2: spark.connect.WriteOperationV2.Mode + (*Command)(nil), // 3: spark.connect.Command + (*SqlCommand)(nil), // 4: spark.connect.SqlCommand + (*CreateDataFrameViewCommand)(nil), // 5: spark.connect.CreateDataFrameViewCommand + (*WriteOperation)(nil), // 6: spark.connect.WriteOperation + (*WriteOperationV2)(nil), // 7: spark.connect.WriteOperationV2 + (*WriteStreamOperationStart)(nil), // 8: spark.connect.WriteStreamOperationStart + (*StreamingForeachWriter)(nil), // 9: spark.connect.StreamingForeachWriter + (*WriteStreamOperationStartResult)(nil), // 10: spark.connect.WriteStreamOperationStartResult + (*StreamingQueryInstanceId)(nil), // 11: spark.connect.StreamingQueryInstanceId + (*StreamingQueryCommand)(nil), // 12: spark.connect.StreamingQueryCommand + (*StreamingQueryCommandResult)(nil), // 13: spark.connect.StreamingQueryCommandResult + (*StreamingQueryManagerCommand)(nil), // 14: spark.connect.StreamingQueryManagerCommand + (*StreamingQueryManagerCommandResult)(nil), // 15: spark.connect.StreamingQueryManagerCommandResult + (*GetResourcesCommand)(nil), // 16: spark.connect.GetResourcesCommand + (*GetResourcesCommandResult)(nil), // 17: spark.connect.GetResourcesCommandResult + nil, // 18: spark.connect.SqlCommand.ArgsEntry + nil, // 19: spark.connect.WriteOperation.OptionsEntry + (*WriteOperation_SaveTable)(nil), // 20: spark.connect.WriteOperation.SaveTable + (*WriteOperation_BucketBy)(nil), // 21: spark.connect.WriteOperation.BucketBy + nil, // 22: spark.connect.WriteOperationV2.OptionsEntry + nil, // 23: spark.connect.WriteOperationV2.TablePropertiesEntry + nil, // 24: spark.connect.WriteStreamOperationStart.OptionsEntry + (*StreamingQueryCommand_ExplainCommand)(nil), // 25: spark.connect.StreamingQueryCommand.ExplainCommand + (*StreamingQueryCommand_AwaitTerminationCommand)(nil), // 26: spark.connect.StreamingQueryCommand.AwaitTerminationCommand + (*StreamingQueryCommandResult_StatusResult)(nil), // 27: spark.connect.StreamingQueryCommandResult.StatusResult + (*StreamingQueryCommandResult_RecentProgressResult)(nil), // 28: spark.connect.StreamingQueryCommandResult.RecentProgressResult + (*StreamingQueryCommandResult_ExplainResult)(nil), // 29: spark.connect.StreamingQueryCommandResult.ExplainResult + (*StreamingQueryCommandResult_ExceptionResult)(nil), // 30: spark.connect.StreamingQueryCommandResult.ExceptionResult + (*StreamingQueryCommandResult_AwaitTerminationResult)(nil), // 31: spark.connect.StreamingQueryCommandResult.AwaitTerminationResult + (*StreamingQueryManagerCommand_AwaitAnyTerminationCommand)(nil), // 32: spark.connect.StreamingQueryManagerCommand.AwaitAnyTerminationCommand + (*StreamingQueryManagerCommandResult_ActiveResult)(nil), // 33: spark.connect.StreamingQueryManagerCommandResult.ActiveResult + (*StreamingQueryManagerCommandResult_StreamingQueryInstance)(nil), // 34: spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance + (*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult)(nil), // 35: spark.connect.StreamingQueryManagerCommandResult.AwaitAnyTerminationResult + nil, // 36: spark.connect.GetResourcesCommandResult.ResourcesEntry + (*CommonInlineUserDefinedFunction)(nil), // 37: spark.connect.CommonInlineUserDefinedFunction + (*anypb.Any)(nil), // 38: google.protobuf.Any + (*Relation)(nil), // 39: spark.connect.Relation + (*Expression)(nil), // 40: spark.connect.Expression + (*PythonUDF)(nil), // 41: spark.connect.PythonUDF + (*Expression_Literal)(nil), // 42: spark.connect.Expression.Literal + (*ResourceInformation)(nil), // 43: spark.connect.ResourceInformation +} +var file_spark_connect_commands_proto_depIdxs = []int32{ + 37, // 0: spark.connect.Command.register_function:type_name -> spark.connect.CommonInlineUserDefinedFunction + 6, // 1: spark.connect.Command.write_operation:type_name -> spark.connect.WriteOperation + 5, // 2: spark.connect.Command.create_dataframe_view:type_name -> spark.connect.CreateDataFrameViewCommand + 7, // 3: spark.connect.Command.write_operation_v2:type_name -> spark.connect.WriteOperationV2 + 4, // 4: spark.connect.Command.sql_command:type_name -> spark.connect.SqlCommand + 8, // 5: spark.connect.Command.write_stream_operation_start:type_name -> spark.connect.WriteStreamOperationStart + 12, // 6: spark.connect.Command.streaming_query_command:type_name -> spark.connect.StreamingQueryCommand + 16, // 7: spark.connect.Command.get_resources_command:type_name -> spark.connect.GetResourcesCommand + 14, // 8: spark.connect.Command.streaming_query_manager_command:type_name -> spark.connect.StreamingQueryManagerCommand + 38, // 9: spark.connect.Command.extension:type_name -> google.protobuf.Any + 18, // 10: spark.connect.SqlCommand.args:type_name -> spark.connect.SqlCommand.ArgsEntry + 39, // 11: spark.connect.CreateDataFrameViewCommand.input:type_name -> spark.connect.Relation + 39, // 12: spark.connect.WriteOperation.input:type_name -> spark.connect.Relation + 20, // 13: spark.connect.WriteOperation.table:type_name -> spark.connect.WriteOperation.SaveTable + 0, // 14: spark.connect.WriteOperation.mode:type_name -> spark.connect.WriteOperation.SaveMode + 21, // 15: spark.connect.WriteOperation.bucket_by:type_name -> spark.connect.WriteOperation.BucketBy + 19, // 16: spark.connect.WriteOperation.options:type_name -> spark.connect.WriteOperation.OptionsEntry + 39, // 17: spark.connect.WriteOperationV2.input:type_name -> spark.connect.Relation + 40, // 18: spark.connect.WriteOperationV2.partitioning_columns:type_name -> spark.connect.Expression + 22, // 19: spark.connect.WriteOperationV2.options:type_name -> spark.connect.WriteOperationV2.OptionsEntry + 23, // 20: spark.connect.WriteOperationV2.table_properties:type_name -> spark.connect.WriteOperationV2.TablePropertiesEntry + 2, // 21: spark.connect.WriteOperationV2.mode:type_name -> spark.connect.WriteOperationV2.Mode + 40, // 22: spark.connect.WriteOperationV2.overwrite_condition:type_name -> spark.connect.Expression + 39, // 23: spark.connect.WriteStreamOperationStart.input:type_name -> spark.connect.Relation + 24, // 24: spark.connect.WriteStreamOperationStart.options:type_name -> spark.connect.WriteStreamOperationStart.OptionsEntry + 9, // 25: spark.connect.WriteStreamOperationStart.foreach_writer:type_name -> spark.connect.StreamingForeachWriter + 41, // 26: spark.connect.StreamingForeachWriter.python_writer:type_name -> spark.connect.PythonUDF + 11, // 27: spark.connect.WriteStreamOperationStartResult.query_id:type_name -> spark.connect.StreamingQueryInstanceId + 11, // 28: spark.connect.StreamingQueryCommand.query_id:type_name -> spark.connect.StreamingQueryInstanceId + 25, // 29: spark.connect.StreamingQueryCommand.explain:type_name -> spark.connect.StreamingQueryCommand.ExplainCommand + 26, // 30: spark.connect.StreamingQueryCommand.await_termination:type_name -> spark.connect.StreamingQueryCommand.AwaitTerminationCommand + 11, // 31: spark.connect.StreamingQueryCommandResult.query_id:type_name -> spark.connect.StreamingQueryInstanceId + 27, // 32: spark.connect.StreamingQueryCommandResult.status:type_name -> spark.connect.StreamingQueryCommandResult.StatusResult + 28, // 33: spark.connect.StreamingQueryCommandResult.recent_progress:type_name -> spark.connect.StreamingQueryCommandResult.RecentProgressResult + 29, // 34: spark.connect.StreamingQueryCommandResult.explain:type_name -> spark.connect.StreamingQueryCommandResult.ExplainResult + 30, // 35: spark.connect.StreamingQueryCommandResult.exception:type_name -> spark.connect.StreamingQueryCommandResult.ExceptionResult + 31, // 36: spark.connect.StreamingQueryCommandResult.await_termination:type_name -> spark.connect.StreamingQueryCommandResult.AwaitTerminationResult + 32, // 37: spark.connect.StreamingQueryManagerCommand.await_any_termination:type_name -> spark.connect.StreamingQueryManagerCommand.AwaitAnyTerminationCommand + 33, // 38: spark.connect.StreamingQueryManagerCommandResult.active:type_name -> spark.connect.StreamingQueryManagerCommandResult.ActiveResult + 34, // 39: spark.connect.StreamingQueryManagerCommandResult.query:type_name -> spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance + 35, // 40: spark.connect.StreamingQueryManagerCommandResult.await_any_termination:type_name -> spark.connect.StreamingQueryManagerCommandResult.AwaitAnyTerminationResult + 36, // 41: spark.connect.GetResourcesCommandResult.resources:type_name -> spark.connect.GetResourcesCommandResult.ResourcesEntry + 42, // 42: spark.connect.SqlCommand.ArgsEntry.value:type_name -> spark.connect.Expression.Literal + 1, // 43: spark.connect.WriteOperation.SaveTable.save_method:type_name -> spark.connect.WriteOperation.SaveTable.TableSaveMethod + 34, // 44: spark.connect.StreamingQueryManagerCommandResult.ActiveResult.active_queries:type_name -> spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance + 11, // 45: spark.connect.StreamingQueryManagerCommandResult.StreamingQueryInstance.id:type_name -> spark.connect.StreamingQueryInstanceId + 43, // 46: spark.connect.GetResourcesCommandResult.ResourcesEntry.value:type_name -> spark.connect.ResourceInformation + 47, // [47:47] is the sub-list for method output_type + 47, // [47:47] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name +} + +func init() { file_spark_connect_commands_proto_init() } +func file_spark_connect_commands_proto_init() { + if File_spark_connect_commands_proto != nil { + return + } + file_spark_connect_common_proto_init() + file_spark_connect_expressions_proto_init() + file_spark_connect_relations_proto_init() + if !protoimpl.UnsafeEnabled { + file_spark_connect_commands_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Command); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SqlCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDataFrameViewCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOperation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOperationV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteStreamOperationStart); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingForeachWriter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteStreamOperationStartResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryInstanceId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommandResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryManagerCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryManagerCommandResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResourcesCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResourcesCommandResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOperation_SaveTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOperation_BucketBy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommand_ExplainCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommand_AwaitTerminationCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommandResult_StatusResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommandResult_RecentProgressResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommandResult_ExplainResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommandResult_ExceptionResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryCommandResult_AwaitTerminationResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryManagerCommand_AwaitAnyTerminationCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryManagerCommandResult_ActiveResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryManagerCommandResult_StreamingQueryInstance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_commands_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingQueryManagerCommandResult_AwaitAnyTerminationResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_spark_connect_commands_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Command_RegisterFunction)(nil), + (*Command_WriteOperation)(nil), + (*Command_CreateDataframeView)(nil), + (*Command_WriteOperationV2)(nil), + (*Command_SqlCommand)(nil), + (*Command_WriteStreamOperationStart)(nil), + (*Command_StreamingQueryCommand)(nil), + (*Command_GetResourcesCommand)(nil), + (*Command_StreamingQueryManagerCommand)(nil), + (*Command_Extension)(nil), + } + file_spark_connect_commands_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*WriteOperation_Path)(nil), + (*WriteOperation_Table)(nil), + } + file_spark_connect_commands_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_spark_connect_commands_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*WriteStreamOperationStart_ProcessingTimeInterval)(nil), + (*WriteStreamOperationStart_AvailableNow)(nil), + (*WriteStreamOperationStart_Once)(nil), + (*WriteStreamOperationStart_ContinuousCheckpointInterval)(nil), + (*WriteStreamOperationStart_Path)(nil), + (*WriteStreamOperationStart_TableName)(nil), + } + file_spark_connect_commands_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*StreamingForeachWriter_PythonWriter)(nil), + } + file_spark_connect_commands_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*StreamingQueryCommand_Status)(nil), + (*StreamingQueryCommand_LastProgress)(nil), + (*StreamingQueryCommand_RecentProgress)(nil), + (*StreamingQueryCommand_Stop)(nil), + (*StreamingQueryCommand_ProcessAllAvailable)(nil), + (*StreamingQueryCommand_Explain)(nil), + (*StreamingQueryCommand_Exception)(nil), + (*StreamingQueryCommand_AwaitTermination)(nil), + } + file_spark_connect_commands_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*StreamingQueryCommandResult_Status)(nil), + (*StreamingQueryCommandResult_RecentProgress)(nil), + (*StreamingQueryCommandResult_Explain)(nil), + (*StreamingQueryCommandResult_Exception)(nil), + (*StreamingQueryCommandResult_AwaitTermination)(nil), + } + file_spark_connect_commands_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*StreamingQueryManagerCommand_Active)(nil), + (*StreamingQueryManagerCommand_GetQuery)(nil), + (*StreamingQueryManagerCommand_AwaitAnyTermination)(nil), + (*StreamingQueryManagerCommand_ResetTerminated)(nil), + } + file_spark_connect_commands_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*StreamingQueryManagerCommandResult_Active)(nil), + (*StreamingQueryManagerCommandResult_Query)(nil), + (*StreamingQueryManagerCommandResult_AwaitAnyTermination)(nil), + (*StreamingQueryManagerCommandResult_ResetTerminated)(nil), + } + file_spark_connect_commands_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_spark_connect_commands_proto_msgTypes[27].OneofWrappers = []interface{}{} + file_spark_connect_commands_proto_msgTypes[29].OneofWrappers = []interface{}{} + file_spark_connect_commands_proto_msgTypes[31].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_commands_proto_rawDesc, + NumEnums: 3, + NumMessages: 34, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_commands_proto_goTypes, + DependencyIndexes: file_spark_connect_commands_proto_depIdxs, + EnumInfos: file_spark_connect_commands_proto_enumTypes, + MessageInfos: file_spark_connect_commands_proto_msgTypes, + }.Build() + File_spark_connect_commands_proto = out.File + file_spark_connect_commands_proto_rawDesc = nil + file_spark_connect_commands_proto_goTypes = nil + file_spark_connect_commands_proto_depIdxs = nil +} diff --git a/internal/generated/common.pb.go b/internal/generated/common.pb.go new file mode 100644 index 0000000..1979aa7 --- /dev/null +++ b/internal/generated/common.pb.go @@ -0,0 +1,285 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/common.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// StorageLevel for persisting Datasets/Tables. +type StorageLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Whether the cache should use disk or not. + UseDisk bool `protobuf:"varint,1,opt,name=use_disk,json=useDisk,proto3" json:"use_disk,omitempty"` + // (Required) Whether the cache should use memory or not. + UseMemory bool `protobuf:"varint,2,opt,name=use_memory,json=useMemory,proto3" json:"use_memory,omitempty"` + // (Required) Whether the cache should use off-heap or not. + UseOffHeap bool `protobuf:"varint,3,opt,name=use_off_heap,json=useOffHeap,proto3" json:"use_off_heap,omitempty"` + // (Required) Whether the cached data is deserialized or not. + Deserialized bool `protobuf:"varint,4,opt,name=deserialized,proto3" json:"deserialized,omitempty"` + // (Required) The number of replicas. + Replication int32 `protobuf:"varint,5,opt,name=replication,proto3" json:"replication,omitempty"` +} + +func (x *StorageLevel) Reset() { + *x = StorageLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StorageLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageLevel) ProtoMessage() {} + +func (x *StorageLevel) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageLevel.ProtoReflect.Descriptor instead. +func (*StorageLevel) Descriptor() ([]byte, []int) { + return file_spark_connect_common_proto_rawDescGZIP(), []int{0} +} + +func (x *StorageLevel) GetUseDisk() bool { + if x != nil { + return x.UseDisk + } + return false +} + +func (x *StorageLevel) GetUseMemory() bool { + if x != nil { + return x.UseMemory + } + return false +} + +func (x *StorageLevel) GetUseOffHeap() bool { + if x != nil { + return x.UseOffHeap + } + return false +} + +func (x *StorageLevel) GetDeserialized() bool { + if x != nil { + return x.Deserialized + } + return false +} + +func (x *StorageLevel) GetReplication() int32 { + if x != nil { + return x.Replication + } + return 0 +} + +// ResourceInformation to hold information about a type of Resource. +// The corresponding class is 'org.apache.spark.resource.ResourceInformation' +type ResourceInformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The name of the resource + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // (Required) An array of strings describing the addresses of the resource. + Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (x *ResourceInformation) Reset() { + *x = ResourceInformation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceInformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceInformation) ProtoMessage() {} + +func (x *ResourceInformation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceInformation.ProtoReflect.Descriptor instead. +func (*ResourceInformation) Descriptor() ([]byte, []int) { + return file_spark_connect_common_proto_rawDescGZIP(), []int{1} +} + +func (x *ResourceInformation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceInformation) GetAddresses() []string { + if x != nil { + return x.Addresses + } + return nil +} + +var File_spark_connect_common_proto protoreflect.FileDescriptor + +var file_spark_connect_common_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0xb0, 0x01, 0x0a, 0x0c, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, + 0x75, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x75, 0x73, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, + 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x66, + 0x66, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, + 0x65, 0x4f, 0x66, 0x66, 0x48, 0x65, 0x61, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x64, 0x65, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, + 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x36, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x61, + 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_common_proto_rawDescOnce sync.Once + file_spark_connect_common_proto_rawDescData = file_spark_connect_common_proto_rawDesc +) + +func file_spark_connect_common_proto_rawDescGZIP() []byte { + file_spark_connect_common_proto_rawDescOnce.Do(func() { + file_spark_connect_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_common_proto_rawDescData) + }) + return file_spark_connect_common_proto_rawDescData +} + +var file_spark_connect_common_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_spark_connect_common_proto_goTypes = []interface{}{ + (*StorageLevel)(nil), // 0: spark.connect.StorageLevel + (*ResourceInformation)(nil), // 1: spark.connect.ResourceInformation +} +var file_spark_connect_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_spark_connect_common_proto_init() } +func file_spark_connect_common_proto_init() { + if File_spark_connect_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_spark_connect_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StorageLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceInformation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_common_proto_goTypes, + DependencyIndexes: file_spark_connect_common_proto_depIdxs, + MessageInfos: file_spark_connect_common_proto_msgTypes, + }.Build() + File_spark_connect_common_proto = out.File + file_spark_connect_common_proto_rawDesc = nil + file_spark_connect_common_proto_goTypes = nil + file_spark_connect_common_proto_depIdxs = nil +} diff --git a/internal/generated/example_plugins.pb.go b/internal/generated/example_plugins.pb.go new file mode 100644 index 0000000..2cc05e5 --- /dev/null +++ b/internal/generated/example_plugins.pb.go @@ -0,0 +1,323 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/example_plugins.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ExamplePluginRelation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + CustomField string `protobuf:"bytes,2,opt,name=custom_field,json=customField,proto3" json:"custom_field,omitempty"` +} + +func (x *ExamplePluginRelation) Reset() { + *x = ExamplePluginRelation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_example_plugins_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExamplePluginRelation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExamplePluginRelation) ProtoMessage() {} + +func (x *ExamplePluginRelation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_example_plugins_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExamplePluginRelation.ProtoReflect.Descriptor instead. +func (*ExamplePluginRelation) Descriptor() ([]byte, []int) { + return file_spark_connect_example_plugins_proto_rawDescGZIP(), []int{0} +} + +func (x *ExamplePluginRelation) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *ExamplePluginRelation) GetCustomField() string { + if x != nil { + return x.CustomField + } + return "" +} + +type ExamplePluginExpression struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Child *Expression `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` + CustomField string `protobuf:"bytes,2,opt,name=custom_field,json=customField,proto3" json:"custom_field,omitempty"` +} + +func (x *ExamplePluginExpression) Reset() { + *x = ExamplePluginExpression{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_example_plugins_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExamplePluginExpression) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExamplePluginExpression) ProtoMessage() {} + +func (x *ExamplePluginExpression) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_example_plugins_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExamplePluginExpression.ProtoReflect.Descriptor instead. +func (*ExamplePluginExpression) Descriptor() ([]byte, []int) { + return file_spark_connect_example_plugins_proto_rawDescGZIP(), []int{1} +} + +func (x *ExamplePluginExpression) GetChild() *Expression { + if x != nil { + return x.Child + } + return nil +} + +func (x *ExamplePluginExpression) GetCustomField() string { + if x != nil { + return x.CustomField + } + return "" +} + +type ExamplePluginCommand struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CustomField string `protobuf:"bytes,1,opt,name=custom_field,json=customField,proto3" json:"custom_field,omitempty"` +} + +func (x *ExamplePluginCommand) Reset() { + *x = ExamplePluginCommand{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_example_plugins_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExamplePluginCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExamplePluginCommand) ProtoMessage() {} + +func (x *ExamplePluginCommand) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_example_plugins_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExamplePluginCommand.ProtoReflect.Descriptor instead. +func (*ExamplePluginCommand) Descriptor() ([]byte, []int) { + return file_spark_connect_example_plugins_proto_rawDescGZIP(), []int{2} +} + +func (x *ExamplePluginCommand) GetCustomField() string { + if x != nil { + return x.CustomField + } + return "" +} + +var File_spark_connect_example_plugins_proto protoreflect.FileDescriptor + +var file_spark_connect_example_plugins_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x1d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x15, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, + 0x6d, 0x0a, 0x17, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x39, + 0x0a, 0x14, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x36, 0x0a, 0x1e, 0x6f, 0x72, 0x67, + 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x12, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_example_plugins_proto_rawDescOnce sync.Once + file_spark_connect_example_plugins_proto_rawDescData = file_spark_connect_example_plugins_proto_rawDesc +) + +func file_spark_connect_example_plugins_proto_rawDescGZIP() []byte { + file_spark_connect_example_plugins_proto_rawDescOnce.Do(func() { + file_spark_connect_example_plugins_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_example_plugins_proto_rawDescData) + }) + return file_spark_connect_example_plugins_proto_rawDescData +} + +var file_spark_connect_example_plugins_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_spark_connect_example_plugins_proto_goTypes = []interface{}{ + (*ExamplePluginRelation)(nil), // 0: spark.connect.ExamplePluginRelation + (*ExamplePluginExpression)(nil), // 1: spark.connect.ExamplePluginExpression + (*ExamplePluginCommand)(nil), // 2: spark.connect.ExamplePluginCommand + (*Relation)(nil), // 3: spark.connect.Relation + (*Expression)(nil), // 4: spark.connect.Expression +} +var file_spark_connect_example_plugins_proto_depIdxs = []int32{ + 3, // 0: spark.connect.ExamplePluginRelation.input:type_name -> spark.connect.Relation + 4, // 1: spark.connect.ExamplePluginExpression.child:type_name -> spark.connect.Expression + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_spark_connect_example_plugins_proto_init() } +func file_spark_connect_example_plugins_proto_init() { + if File_spark_connect_example_plugins_proto != nil { + return + } + file_spark_connect_relations_proto_init() + file_spark_connect_expressions_proto_init() + if !protoimpl.UnsafeEnabled { + file_spark_connect_example_plugins_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExamplePluginRelation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_example_plugins_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExamplePluginExpression); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_example_plugins_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExamplePluginCommand); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_example_plugins_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_example_plugins_proto_goTypes, + DependencyIndexes: file_spark_connect_example_plugins_proto_depIdxs, + MessageInfos: file_spark_connect_example_plugins_proto_msgTypes, + }.Build() + File_spark_connect_example_plugins_proto = out.File + file_spark_connect_example_plugins_proto_rawDesc = nil + file_spark_connect_example_plugins_proto_goTypes = nil + file_spark_connect_example_plugins_proto_depIdxs = nil +} diff --git a/internal/generated/expressions.pb.go b/internal/generated/expressions.pb.go new file mode 100644 index 0000000..71570d3 --- /dev/null +++ b/internal/generated/expressions.pb.go @@ -0,0 +1,3400 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/expressions.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Expression_Window_WindowFrame_FrameType int32 + +const ( + Expression_Window_WindowFrame_FRAME_TYPE_UNDEFINED Expression_Window_WindowFrame_FrameType = 0 + // RowFrame treats rows in a partition individually. + Expression_Window_WindowFrame_FRAME_TYPE_ROW Expression_Window_WindowFrame_FrameType = 1 + // RangeFrame treats rows in a partition as groups of peers. + // All rows having the same 'ORDER BY' ordering are considered as peers. + Expression_Window_WindowFrame_FRAME_TYPE_RANGE Expression_Window_WindowFrame_FrameType = 2 +) + +// Enum value maps for Expression_Window_WindowFrame_FrameType. +var ( + Expression_Window_WindowFrame_FrameType_name = map[int32]string{ + 0: "FRAME_TYPE_UNDEFINED", + 1: "FRAME_TYPE_ROW", + 2: "FRAME_TYPE_RANGE", + } + Expression_Window_WindowFrame_FrameType_value = map[string]int32{ + "FRAME_TYPE_UNDEFINED": 0, + "FRAME_TYPE_ROW": 1, + "FRAME_TYPE_RANGE": 2, + } +) + +func (x Expression_Window_WindowFrame_FrameType) Enum() *Expression_Window_WindowFrame_FrameType { + p := new(Expression_Window_WindowFrame_FrameType) + *p = x + return p +} + +func (x Expression_Window_WindowFrame_FrameType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Expression_Window_WindowFrame_FrameType) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_expressions_proto_enumTypes[0].Descriptor() +} + +func (Expression_Window_WindowFrame_FrameType) Type() protoreflect.EnumType { + return &file_spark_connect_expressions_proto_enumTypes[0] +} + +func (x Expression_Window_WindowFrame_FrameType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Expression_Window_WindowFrame_FrameType.Descriptor instead. +func (Expression_Window_WindowFrame_FrameType) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +type Expression_SortOrder_SortDirection int32 + +const ( + Expression_SortOrder_SORT_DIRECTION_UNSPECIFIED Expression_SortOrder_SortDirection = 0 + Expression_SortOrder_SORT_DIRECTION_ASCENDING Expression_SortOrder_SortDirection = 1 + Expression_SortOrder_SORT_DIRECTION_DESCENDING Expression_SortOrder_SortDirection = 2 +) + +// Enum value maps for Expression_SortOrder_SortDirection. +var ( + Expression_SortOrder_SortDirection_name = map[int32]string{ + 0: "SORT_DIRECTION_UNSPECIFIED", + 1: "SORT_DIRECTION_ASCENDING", + 2: "SORT_DIRECTION_DESCENDING", + } + Expression_SortOrder_SortDirection_value = map[string]int32{ + "SORT_DIRECTION_UNSPECIFIED": 0, + "SORT_DIRECTION_ASCENDING": 1, + "SORT_DIRECTION_DESCENDING": 2, + } +) + +func (x Expression_SortOrder_SortDirection) Enum() *Expression_SortOrder_SortDirection { + p := new(Expression_SortOrder_SortDirection) + *p = x + return p +} + +func (x Expression_SortOrder_SortDirection) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Expression_SortOrder_SortDirection) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_expressions_proto_enumTypes[1].Descriptor() +} + +func (Expression_SortOrder_SortDirection) Type() protoreflect.EnumType { + return &file_spark_connect_expressions_proto_enumTypes[1] +} + +func (x Expression_SortOrder_SortDirection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Expression_SortOrder_SortDirection.Descriptor instead. +func (Expression_SortOrder_SortDirection) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 1, 0} +} + +type Expression_SortOrder_NullOrdering int32 + +const ( + Expression_SortOrder_SORT_NULLS_UNSPECIFIED Expression_SortOrder_NullOrdering = 0 + Expression_SortOrder_SORT_NULLS_FIRST Expression_SortOrder_NullOrdering = 1 + Expression_SortOrder_SORT_NULLS_LAST Expression_SortOrder_NullOrdering = 2 +) + +// Enum value maps for Expression_SortOrder_NullOrdering. +var ( + Expression_SortOrder_NullOrdering_name = map[int32]string{ + 0: "SORT_NULLS_UNSPECIFIED", + 1: "SORT_NULLS_FIRST", + 2: "SORT_NULLS_LAST", + } + Expression_SortOrder_NullOrdering_value = map[string]int32{ + "SORT_NULLS_UNSPECIFIED": 0, + "SORT_NULLS_FIRST": 1, + "SORT_NULLS_LAST": 2, + } +) + +func (x Expression_SortOrder_NullOrdering) Enum() *Expression_SortOrder_NullOrdering { + p := new(Expression_SortOrder_NullOrdering) + *p = x + return p +} + +func (x Expression_SortOrder_NullOrdering) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Expression_SortOrder_NullOrdering) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_expressions_proto_enumTypes[2].Descriptor() +} + +func (Expression_SortOrder_NullOrdering) Type() protoreflect.EnumType { + return &file_spark_connect_expressions_proto_enumTypes[2] +} + +func (x Expression_SortOrder_NullOrdering) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Expression_SortOrder_NullOrdering.Descriptor instead. +func (Expression_SortOrder_NullOrdering) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 1, 1} +} + +// Expression used to refer to fields, functions and similar. This can be used everywhere +// expressions in SQL appear. +type Expression struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ExprType: + // + // *Expression_Literal_ + // *Expression_UnresolvedAttribute_ + // *Expression_UnresolvedFunction_ + // *Expression_ExpressionString_ + // *Expression_UnresolvedStar_ + // *Expression_Alias_ + // *Expression_Cast_ + // *Expression_UnresolvedRegex_ + // *Expression_SortOrder_ + // *Expression_LambdaFunction_ + // *Expression_Window_ + // *Expression_UnresolvedExtractValue_ + // *Expression_UpdateFields_ + // *Expression_UnresolvedNamedLambdaVariable_ + // *Expression_CommonInlineUserDefinedFunction + // *Expression_Extension + ExprType isExpression_ExprType `protobuf_oneof:"expr_type"` +} + +func (x *Expression) Reset() { + *x = Expression{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression) ProtoMessage() {} + +func (x *Expression) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression.ProtoReflect.Descriptor instead. +func (*Expression) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0} +} + +func (m *Expression) GetExprType() isExpression_ExprType { + if m != nil { + return m.ExprType + } + return nil +} + +func (x *Expression) GetLiteral() *Expression_Literal { + if x, ok := x.GetExprType().(*Expression_Literal_); ok { + return x.Literal + } + return nil +} + +func (x *Expression) GetUnresolvedAttribute() *Expression_UnresolvedAttribute { + if x, ok := x.GetExprType().(*Expression_UnresolvedAttribute_); ok { + return x.UnresolvedAttribute + } + return nil +} + +func (x *Expression) GetUnresolvedFunction() *Expression_UnresolvedFunction { + if x, ok := x.GetExprType().(*Expression_UnresolvedFunction_); ok { + return x.UnresolvedFunction + } + return nil +} + +func (x *Expression) GetExpressionString() *Expression_ExpressionString { + if x, ok := x.GetExprType().(*Expression_ExpressionString_); ok { + return x.ExpressionString + } + return nil +} + +func (x *Expression) GetUnresolvedStar() *Expression_UnresolvedStar { + if x, ok := x.GetExprType().(*Expression_UnresolvedStar_); ok { + return x.UnresolvedStar + } + return nil +} + +func (x *Expression) GetAlias() *Expression_Alias { + if x, ok := x.GetExprType().(*Expression_Alias_); ok { + return x.Alias + } + return nil +} + +func (x *Expression) GetCast() *Expression_Cast { + if x, ok := x.GetExprType().(*Expression_Cast_); ok { + return x.Cast + } + return nil +} + +func (x *Expression) GetUnresolvedRegex() *Expression_UnresolvedRegex { + if x, ok := x.GetExprType().(*Expression_UnresolvedRegex_); ok { + return x.UnresolvedRegex + } + return nil +} + +func (x *Expression) GetSortOrder() *Expression_SortOrder { + if x, ok := x.GetExprType().(*Expression_SortOrder_); ok { + return x.SortOrder + } + return nil +} + +func (x *Expression) GetLambdaFunction() *Expression_LambdaFunction { + if x, ok := x.GetExprType().(*Expression_LambdaFunction_); ok { + return x.LambdaFunction + } + return nil +} + +func (x *Expression) GetWindow() *Expression_Window { + if x, ok := x.GetExprType().(*Expression_Window_); ok { + return x.Window + } + return nil +} + +func (x *Expression) GetUnresolvedExtractValue() *Expression_UnresolvedExtractValue { + if x, ok := x.GetExprType().(*Expression_UnresolvedExtractValue_); ok { + return x.UnresolvedExtractValue + } + return nil +} + +func (x *Expression) GetUpdateFields() *Expression_UpdateFields { + if x, ok := x.GetExprType().(*Expression_UpdateFields_); ok { + return x.UpdateFields + } + return nil +} + +func (x *Expression) GetUnresolvedNamedLambdaVariable() *Expression_UnresolvedNamedLambdaVariable { + if x, ok := x.GetExprType().(*Expression_UnresolvedNamedLambdaVariable_); ok { + return x.UnresolvedNamedLambdaVariable + } + return nil +} + +func (x *Expression) GetCommonInlineUserDefinedFunction() *CommonInlineUserDefinedFunction { + if x, ok := x.GetExprType().(*Expression_CommonInlineUserDefinedFunction); ok { + return x.CommonInlineUserDefinedFunction + } + return nil +} + +func (x *Expression) GetExtension() *anypb.Any { + if x, ok := x.GetExprType().(*Expression_Extension); ok { + return x.Extension + } + return nil +} + +type isExpression_ExprType interface { + isExpression_ExprType() +} + +type Expression_Literal_ struct { + Literal *Expression_Literal `protobuf:"bytes,1,opt,name=literal,proto3,oneof"` +} + +type Expression_UnresolvedAttribute_ struct { + UnresolvedAttribute *Expression_UnresolvedAttribute `protobuf:"bytes,2,opt,name=unresolved_attribute,json=unresolvedAttribute,proto3,oneof"` +} + +type Expression_UnresolvedFunction_ struct { + UnresolvedFunction *Expression_UnresolvedFunction `protobuf:"bytes,3,opt,name=unresolved_function,json=unresolvedFunction,proto3,oneof"` +} + +type Expression_ExpressionString_ struct { + ExpressionString *Expression_ExpressionString `protobuf:"bytes,4,opt,name=expression_string,json=expressionString,proto3,oneof"` +} + +type Expression_UnresolvedStar_ struct { + UnresolvedStar *Expression_UnresolvedStar `protobuf:"bytes,5,opt,name=unresolved_star,json=unresolvedStar,proto3,oneof"` +} + +type Expression_Alias_ struct { + Alias *Expression_Alias `protobuf:"bytes,6,opt,name=alias,proto3,oneof"` +} + +type Expression_Cast_ struct { + Cast *Expression_Cast `protobuf:"bytes,7,opt,name=cast,proto3,oneof"` +} + +type Expression_UnresolvedRegex_ struct { + UnresolvedRegex *Expression_UnresolvedRegex `protobuf:"bytes,8,opt,name=unresolved_regex,json=unresolvedRegex,proto3,oneof"` +} + +type Expression_SortOrder_ struct { + SortOrder *Expression_SortOrder `protobuf:"bytes,9,opt,name=sort_order,json=sortOrder,proto3,oneof"` +} + +type Expression_LambdaFunction_ struct { + LambdaFunction *Expression_LambdaFunction `protobuf:"bytes,10,opt,name=lambda_function,json=lambdaFunction,proto3,oneof"` +} + +type Expression_Window_ struct { + Window *Expression_Window `protobuf:"bytes,11,opt,name=window,proto3,oneof"` +} + +type Expression_UnresolvedExtractValue_ struct { + UnresolvedExtractValue *Expression_UnresolvedExtractValue `protobuf:"bytes,12,opt,name=unresolved_extract_value,json=unresolvedExtractValue,proto3,oneof"` +} + +type Expression_UpdateFields_ struct { + UpdateFields *Expression_UpdateFields `protobuf:"bytes,13,opt,name=update_fields,json=updateFields,proto3,oneof"` +} + +type Expression_UnresolvedNamedLambdaVariable_ struct { + UnresolvedNamedLambdaVariable *Expression_UnresolvedNamedLambdaVariable `protobuf:"bytes,14,opt,name=unresolved_named_lambda_variable,json=unresolvedNamedLambdaVariable,proto3,oneof"` +} + +type Expression_CommonInlineUserDefinedFunction struct { + CommonInlineUserDefinedFunction *CommonInlineUserDefinedFunction `protobuf:"bytes,15,opt,name=common_inline_user_defined_function,json=commonInlineUserDefinedFunction,proto3,oneof"` +} + +type Expression_Extension struct { + // This field is used to mark extensions to the protocol. When plugins generate arbitrary + // relations they can add them here. During the planning the correct resolution is done. + Extension *anypb.Any `protobuf:"bytes,999,opt,name=extension,proto3,oneof"` +} + +func (*Expression_Literal_) isExpression_ExprType() {} + +func (*Expression_UnresolvedAttribute_) isExpression_ExprType() {} + +func (*Expression_UnresolvedFunction_) isExpression_ExprType() {} + +func (*Expression_ExpressionString_) isExpression_ExprType() {} + +func (*Expression_UnresolvedStar_) isExpression_ExprType() {} + +func (*Expression_Alias_) isExpression_ExprType() {} + +func (*Expression_Cast_) isExpression_ExprType() {} + +func (*Expression_UnresolvedRegex_) isExpression_ExprType() {} + +func (*Expression_SortOrder_) isExpression_ExprType() {} + +func (*Expression_LambdaFunction_) isExpression_ExprType() {} + +func (*Expression_Window_) isExpression_ExprType() {} + +func (*Expression_UnresolvedExtractValue_) isExpression_ExprType() {} + +func (*Expression_UpdateFields_) isExpression_ExprType() {} + +func (*Expression_UnresolvedNamedLambdaVariable_) isExpression_ExprType() {} + +func (*Expression_CommonInlineUserDefinedFunction) isExpression_ExprType() {} + +func (*Expression_Extension) isExpression_ExprType() {} + +type CommonInlineUserDefinedFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Name of the user-defined function. + FunctionName string `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` + // (Optional) Indicate if the user-defined function is deterministic. + Deterministic bool `protobuf:"varint,2,opt,name=deterministic,proto3" json:"deterministic,omitempty"` + // (Optional) Function arguments. Empty arguments are allowed. + Arguments []*Expression `protobuf:"bytes,3,rep,name=arguments,proto3" json:"arguments,omitempty"` + // (Required) Indicate the function type of the user-defined function. + // + // Types that are assignable to Function: + // + // *CommonInlineUserDefinedFunction_PythonUdf + // *CommonInlineUserDefinedFunction_ScalarScalaUdf + // *CommonInlineUserDefinedFunction_JavaUdf + Function isCommonInlineUserDefinedFunction_Function `protobuf_oneof:"function"` +} + +func (x *CommonInlineUserDefinedFunction) Reset() { + *x = CommonInlineUserDefinedFunction{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonInlineUserDefinedFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonInlineUserDefinedFunction) ProtoMessage() {} + +func (x *CommonInlineUserDefinedFunction) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonInlineUserDefinedFunction.ProtoReflect.Descriptor instead. +func (*CommonInlineUserDefinedFunction) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{1} +} + +func (x *CommonInlineUserDefinedFunction) GetFunctionName() string { + if x != nil { + return x.FunctionName + } + return "" +} + +func (x *CommonInlineUserDefinedFunction) GetDeterministic() bool { + if x != nil { + return x.Deterministic + } + return false +} + +func (x *CommonInlineUserDefinedFunction) GetArguments() []*Expression { + if x != nil { + return x.Arguments + } + return nil +} + +func (m *CommonInlineUserDefinedFunction) GetFunction() isCommonInlineUserDefinedFunction_Function { + if m != nil { + return m.Function + } + return nil +} + +func (x *CommonInlineUserDefinedFunction) GetPythonUdf() *PythonUDF { + if x, ok := x.GetFunction().(*CommonInlineUserDefinedFunction_PythonUdf); ok { + return x.PythonUdf + } + return nil +} + +func (x *CommonInlineUserDefinedFunction) GetScalarScalaUdf() *ScalarScalaUDF { + if x, ok := x.GetFunction().(*CommonInlineUserDefinedFunction_ScalarScalaUdf); ok { + return x.ScalarScalaUdf + } + return nil +} + +func (x *CommonInlineUserDefinedFunction) GetJavaUdf() *JavaUDF { + if x, ok := x.GetFunction().(*CommonInlineUserDefinedFunction_JavaUdf); ok { + return x.JavaUdf + } + return nil +} + +type isCommonInlineUserDefinedFunction_Function interface { + isCommonInlineUserDefinedFunction_Function() +} + +type CommonInlineUserDefinedFunction_PythonUdf struct { + PythonUdf *PythonUDF `protobuf:"bytes,4,opt,name=python_udf,json=pythonUdf,proto3,oneof"` +} + +type CommonInlineUserDefinedFunction_ScalarScalaUdf struct { + ScalarScalaUdf *ScalarScalaUDF `protobuf:"bytes,5,opt,name=scalar_scala_udf,json=scalarScalaUdf,proto3,oneof"` +} + +type CommonInlineUserDefinedFunction_JavaUdf struct { + JavaUdf *JavaUDF `protobuf:"bytes,6,opt,name=java_udf,json=javaUdf,proto3,oneof"` +} + +func (*CommonInlineUserDefinedFunction_PythonUdf) isCommonInlineUserDefinedFunction_Function() {} + +func (*CommonInlineUserDefinedFunction_ScalarScalaUdf) isCommonInlineUserDefinedFunction_Function() {} + +func (*CommonInlineUserDefinedFunction_JavaUdf) isCommonInlineUserDefinedFunction_Function() {} + +type PythonUDF struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Output type of the Python UDF + OutputType *DataType `protobuf:"bytes,1,opt,name=output_type,json=outputType,proto3" json:"output_type,omitempty"` + // (Required) EvalType of the Python UDF + EvalType int32 `protobuf:"varint,2,opt,name=eval_type,json=evalType,proto3" json:"eval_type,omitempty"` + // (Required) The encoded commands of the Python UDF + Command []byte `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"` + // (Required) Python version being used in the client. + PythonVer string `protobuf:"bytes,4,opt,name=python_ver,json=pythonVer,proto3" json:"python_ver,omitempty"` +} + +func (x *PythonUDF) Reset() { + *x = PythonUDF{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PythonUDF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PythonUDF) ProtoMessage() {} + +func (x *PythonUDF) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PythonUDF.ProtoReflect.Descriptor instead. +func (*PythonUDF) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{2} +} + +func (x *PythonUDF) GetOutputType() *DataType { + if x != nil { + return x.OutputType + } + return nil +} + +func (x *PythonUDF) GetEvalType() int32 { + if x != nil { + return x.EvalType + } + return 0 +} + +func (x *PythonUDF) GetCommand() []byte { + if x != nil { + return x.Command + } + return nil +} + +func (x *PythonUDF) GetPythonVer() string { + if x != nil { + return x.PythonVer + } + return "" +} + +type ScalarScalaUDF struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Serialized JVM object containing UDF definition, input encoders and output encoder + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + // (Optional) Input type(s) of the UDF + InputTypes []*DataType `protobuf:"bytes,2,rep,name=inputTypes,proto3" json:"inputTypes,omitempty"` + // (Required) Output type of the UDF + OutputType *DataType `protobuf:"bytes,3,opt,name=outputType,proto3" json:"outputType,omitempty"` + // (Required) True if the UDF can return null value + Nullable bool `protobuf:"varint,4,opt,name=nullable,proto3" json:"nullable,omitempty"` +} + +func (x *ScalarScalaUDF) Reset() { + *x = ScalarScalaUDF{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ScalarScalaUDF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScalarScalaUDF) ProtoMessage() {} + +func (x *ScalarScalaUDF) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScalarScalaUDF.ProtoReflect.Descriptor instead. +func (*ScalarScalaUDF) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{3} +} + +func (x *ScalarScalaUDF) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (x *ScalarScalaUDF) GetInputTypes() []*DataType { + if x != nil { + return x.InputTypes + } + return nil +} + +func (x *ScalarScalaUDF) GetOutputType() *DataType { + if x != nil { + return x.OutputType + } + return nil +} + +func (x *ScalarScalaUDF) GetNullable() bool { + if x != nil { + return x.Nullable + } + return false +} + +type JavaUDF struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Fully qualified name of Java class + ClassName string `protobuf:"bytes,1,opt,name=class_name,json=className,proto3" json:"class_name,omitempty"` + // (Optional) Output type of the Java UDF + OutputType *DataType `protobuf:"bytes,2,opt,name=output_type,json=outputType,proto3,oneof" json:"output_type,omitempty"` + // (Required) Indicate if the Java user-defined function is an aggregate function + Aggregate bool `protobuf:"varint,3,opt,name=aggregate,proto3" json:"aggregate,omitempty"` +} + +func (x *JavaUDF) Reset() { + *x = JavaUDF{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JavaUDF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JavaUDF) ProtoMessage() {} + +func (x *JavaUDF) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JavaUDF.ProtoReflect.Descriptor instead. +func (*JavaUDF) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{4} +} + +func (x *JavaUDF) GetClassName() string { + if x != nil { + return x.ClassName + } + return "" +} + +func (x *JavaUDF) GetOutputType() *DataType { + if x != nil { + return x.OutputType + } + return nil +} + +func (x *JavaUDF) GetAggregate() bool { + if x != nil { + return x.Aggregate + } + return false +} + +// Expression for the OVER clause or WINDOW clause. +type Expression_Window struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The window function. + WindowFunction *Expression `protobuf:"bytes,1,opt,name=window_function,json=windowFunction,proto3" json:"window_function,omitempty"` + // (Optional) The way that input rows are partitioned. + PartitionSpec []*Expression `protobuf:"bytes,2,rep,name=partition_spec,json=partitionSpec,proto3" json:"partition_spec,omitempty"` + // (Optional) Ordering of rows in a partition. + OrderSpec []*Expression_SortOrder `protobuf:"bytes,3,rep,name=order_spec,json=orderSpec,proto3" json:"order_spec,omitempty"` + // (Optional) Window frame in a partition. + // + // If not set, it will be treated as 'UnspecifiedFrame'. + FrameSpec *Expression_Window_WindowFrame `protobuf:"bytes,4,opt,name=frame_spec,json=frameSpec,proto3" json:"frame_spec,omitempty"` +} + +func (x *Expression_Window) Reset() { + *x = Expression_Window{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Window) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Window) ProtoMessage() {} + +func (x *Expression_Window) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Window.ProtoReflect.Descriptor instead. +func (*Expression_Window) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Expression_Window) GetWindowFunction() *Expression { + if x != nil { + return x.WindowFunction + } + return nil +} + +func (x *Expression_Window) GetPartitionSpec() []*Expression { + if x != nil { + return x.PartitionSpec + } + return nil +} + +func (x *Expression_Window) GetOrderSpec() []*Expression_SortOrder { + if x != nil { + return x.OrderSpec + } + return nil +} + +func (x *Expression_Window) GetFrameSpec() *Expression_Window_WindowFrame { + if x != nil { + return x.FrameSpec + } + return nil +} + +// SortOrder is used to specify the data ordering, it is normally used in Sort and Window. +// It is an unevaluable expression and cannot be evaluated, so can not be used in Projection. +type Expression_SortOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The expression to be sorted. + Child *Expression `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` + // (Required) The sort direction, should be ASCENDING or DESCENDING. + Direction Expression_SortOrder_SortDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=spark.connect.Expression_SortOrder_SortDirection" json:"direction,omitempty"` + // (Required) How to deal with NULLs, should be NULLS_FIRST or NULLS_LAST. + NullOrdering Expression_SortOrder_NullOrdering `protobuf:"varint,3,opt,name=null_ordering,json=nullOrdering,proto3,enum=spark.connect.Expression_SortOrder_NullOrdering" json:"null_ordering,omitempty"` +} + +func (x *Expression_SortOrder) Reset() { + *x = Expression_SortOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_SortOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_SortOrder) ProtoMessage() {} + +func (x *Expression_SortOrder) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_SortOrder.ProtoReflect.Descriptor instead. +func (*Expression_SortOrder) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Expression_SortOrder) GetChild() *Expression { + if x != nil { + return x.Child + } + return nil +} + +func (x *Expression_SortOrder) GetDirection() Expression_SortOrder_SortDirection { + if x != nil { + return x.Direction + } + return Expression_SortOrder_SORT_DIRECTION_UNSPECIFIED +} + +func (x *Expression_SortOrder) GetNullOrdering() Expression_SortOrder_NullOrdering { + if x != nil { + return x.NullOrdering + } + return Expression_SortOrder_SORT_NULLS_UNSPECIFIED +} + +type Expression_Cast struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) the expression to be casted. + Expr *Expression `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + // (Required) the data type that the expr to be casted to. + // + // Types that are assignable to CastToType: + // + // *Expression_Cast_Type + // *Expression_Cast_TypeStr + CastToType isExpression_Cast_CastToType `protobuf_oneof:"cast_to_type"` +} + +func (x *Expression_Cast) Reset() { + *x = Expression_Cast{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Cast) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Cast) ProtoMessage() {} + +func (x *Expression_Cast) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Cast.ProtoReflect.Descriptor instead. +func (*Expression_Cast) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *Expression_Cast) GetExpr() *Expression { + if x != nil { + return x.Expr + } + return nil +} + +func (m *Expression_Cast) GetCastToType() isExpression_Cast_CastToType { + if m != nil { + return m.CastToType + } + return nil +} + +func (x *Expression_Cast) GetType() *DataType { + if x, ok := x.GetCastToType().(*Expression_Cast_Type); ok { + return x.Type + } + return nil +} + +func (x *Expression_Cast) GetTypeStr() string { + if x, ok := x.GetCastToType().(*Expression_Cast_TypeStr); ok { + return x.TypeStr + } + return "" +} + +type isExpression_Cast_CastToType interface { + isExpression_Cast_CastToType() +} + +type Expression_Cast_Type struct { + Type *DataType `protobuf:"bytes,2,opt,name=type,proto3,oneof"` +} + +type Expression_Cast_TypeStr struct { + // If this is set, Server will use Catalyst parser to parse this string to DataType. + TypeStr string `protobuf:"bytes,3,opt,name=type_str,json=typeStr,proto3,oneof"` +} + +func (*Expression_Cast_Type) isExpression_Cast_CastToType() {} + +func (*Expression_Cast_TypeStr) isExpression_Cast_CastToType() {} + +type Expression_Literal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to LiteralType: + // + // *Expression_Literal_Null + // *Expression_Literal_Binary + // *Expression_Literal_Boolean + // *Expression_Literal_Byte + // *Expression_Literal_Short + // *Expression_Literal_Integer + // *Expression_Literal_Long + // *Expression_Literal_Float + // *Expression_Literal_Double + // *Expression_Literal_Decimal_ + // *Expression_Literal_String_ + // *Expression_Literal_Date + // *Expression_Literal_Timestamp + // *Expression_Literal_TimestampNtz + // *Expression_Literal_CalendarInterval_ + // *Expression_Literal_YearMonthInterval + // *Expression_Literal_DayTimeInterval + // *Expression_Literal_Array_ + // *Expression_Literal_Map_ + // *Expression_Literal_Struct_ + LiteralType isExpression_Literal_LiteralType `protobuf_oneof:"literal_type"` +} + +func (x *Expression_Literal) Reset() { + *x = Expression_Literal{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Literal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Literal) ProtoMessage() {} + +func (x *Expression_Literal) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Literal.ProtoReflect.Descriptor instead. +func (*Expression_Literal) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3} +} + +func (m *Expression_Literal) GetLiteralType() isExpression_Literal_LiteralType { + if m != nil { + return m.LiteralType + } + return nil +} + +func (x *Expression_Literal) GetNull() *DataType { + if x, ok := x.GetLiteralType().(*Expression_Literal_Null); ok { + return x.Null + } + return nil +} + +func (x *Expression_Literal) GetBinary() []byte { + if x, ok := x.GetLiteralType().(*Expression_Literal_Binary); ok { + return x.Binary + } + return nil +} + +func (x *Expression_Literal) GetBoolean() bool { + if x, ok := x.GetLiteralType().(*Expression_Literal_Boolean); ok { + return x.Boolean + } + return false +} + +func (x *Expression_Literal) GetByte() int32 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Byte); ok { + return x.Byte + } + return 0 +} + +func (x *Expression_Literal) GetShort() int32 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Short); ok { + return x.Short + } + return 0 +} + +func (x *Expression_Literal) GetInteger() int32 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Integer); ok { + return x.Integer + } + return 0 +} + +func (x *Expression_Literal) GetLong() int64 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Long); ok { + return x.Long + } + return 0 +} + +func (x *Expression_Literal) GetFloat() float32 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Float); ok { + return x.Float + } + return 0 +} + +func (x *Expression_Literal) GetDouble() float64 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Double); ok { + return x.Double + } + return 0 +} + +func (x *Expression_Literal) GetDecimal() *Expression_Literal_Decimal { + if x, ok := x.GetLiteralType().(*Expression_Literal_Decimal_); ok { + return x.Decimal + } + return nil +} + +func (x *Expression_Literal) GetString_() string { + if x, ok := x.GetLiteralType().(*Expression_Literal_String_); ok { + return x.String_ + } + return "" +} + +func (x *Expression_Literal) GetDate() int32 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Date); ok { + return x.Date + } + return 0 +} + +func (x *Expression_Literal) GetTimestamp() int64 { + if x, ok := x.GetLiteralType().(*Expression_Literal_Timestamp); ok { + return x.Timestamp + } + return 0 +} + +func (x *Expression_Literal) GetTimestampNtz() int64 { + if x, ok := x.GetLiteralType().(*Expression_Literal_TimestampNtz); ok { + return x.TimestampNtz + } + return 0 +} + +func (x *Expression_Literal) GetCalendarInterval() *Expression_Literal_CalendarInterval { + if x, ok := x.GetLiteralType().(*Expression_Literal_CalendarInterval_); ok { + return x.CalendarInterval + } + return nil +} + +func (x *Expression_Literal) GetYearMonthInterval() int32 { + if x, ok := x.GetLiteralType().(*Expression_Literal_YearMonthInterval); ok { + return x.YearMonthInterval + } + return 0 +} + +func (x *Expression_Literal) GetDayTimeInterval() int64 { + if x, ok := x.GetLiteralType().(*Expression_Literal_DayTimeInterval); ok { + return x.DayTimeInterval + } + return 0 +} + +func (x *Expression_Literal) GetArray() *Expression_Literal_Array { + if x, ok := x.GetLiteralType().(*Expression_Literal_Array_); ok { + return x.Array + } + return nil +} + +func (x *Expression_Literal) GetMap() *Expression_Literal_Map { + if x, ok := x.GetLiteralType().(*Expression_Literal_Map_); ok { + return x.Map + } + return nil +} + +func (x *Expression_Literal) GetStruct() *Expression_Literal_Struct { + if x, ok := x.GetLiteralType().(*Expression_Literal_Struct_); ok { + return x.Struct + } + return nil +} + +type isExpression_Literal_LiteralType interface { + isExpression_Literal_LiteralType() +} + +type Expression_Literal_Null struct { + Null *DataType `protobuf:"bytes,1,opt,name=null,proto3,oneof"` +} + +type Expression_Literal_Binary struct { + Binary []byte `protobuf:"bytes,2,opt,name=binary,proto3,oneof"` +} + +type Expression_Literal_Boolean struct { + Boolean bool `protobuf:"varint,3,opt,name=boolean,proto3,oneof"` +} + +type Expression_Literal_Byte struct { + Byte int32 `protobuf:"varint,4,opt,name=byte,proto3,oneof"` +} + +type Expression_Literal_Short struct { + Short int32 `protobuf:"varint,5,opt,name=short,proto3,oneof"` +} + +type Expression_Literal_Integer struct { + Integer int32 `protobuf:"varint,6,opt,name=integer,proto3,oneof"` +} + +type Expression_Literal_Long struct { + Long int64 `protobuf:"varint,7,opt,name=long,proto3,oneof"` +} + +type Expression_Literal_Float struct { + Float float32 `protobuf:"fixed32,10,opt,name=float,proto3,oneof"` +} + +type Expression_Literal_Double struct { + Double float64 `protobuf:"fixed64,11,opt,name=double,proto3,oneof"` +} + +type Expression_Literal_Decimal_ struct { + Decimal *Expression_Literal_Decimal `protobuf:"bytes,12,opt,name=decimal,proto3,oneof"` +} + +type Expression_Literal_String_ struct { + String_ string `protobuf:"bytes,13,opt,name=string,proto3,oneof"` +} + +type Expression_Literal_Date struct { + // Date in units of days since the UNIX epoch. + Date int32 `protobuf:"varint,16,opt,name=date,proto3,oneof"` +} + +type Expression_Literal_Timestamp struct { + // Timestamp in units of microseconds since the UNIX epoch. + Timestamp int64 `protobuf:"varint,17,opt,name=timestamp,proto3,oneof"` +} + +type Expression_Literal_TimestampNtz struct { + // Timestamp in units of microseconds since the UNIX epoch (without timezone information). + TimestampNtz int64 `protobuf:"varint,18,opt,name=timestamp_ntz,json=timestampNtz,proto3,oneof"` +} + +type Expression_Literal_CalendarInterval_ struct { + CalendarInterval *Expression_Literal_CalendarInterval `protobuf:"bytes,19,opt,name=calendar_interval,json=calendarInterval,proto3,oneof"` +} + +type Expression_Literal_YearMonthInterval struct { + YearMonthInterval int32 `protobuf:"varint,20,opt,name=year_month_interval,json=yearMonthInterval,proto3,oneof"` +} + +type Expression_Literal_DayTimeInterval struct { + DayTimeInterval int64 `protobuf:"varint,21,opt,name=day_time_interval,json=dayTimeInterval,proto3,oneof"` +} + +type Expression_Literal_Array_ struct { + Array *Expression_Literal_Array `protobuf:"bytes,22,opt,name=array,proto3,oneof"` +} + +type Expression_Literal_Map_ struct { + Map *Expression_Literal_Map `protobuf:"bytes,23,opt,name=map,proto3,oneof"` +} + +type Expression_Literal_Struct_ struct { + Struct *Expression_Literal_Struct `protobuf:"bytes,24,opt,name=struct,proto3,oneof"` +} + +func (*Expression_Literal_Null) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Binary) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Boolean) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Byte) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Short) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Integer) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Long) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Float) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Double) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Decimal_) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_String_) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Date) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Timestamp) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_TimestampNtz) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_CalendarInterval_) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_YearMonthInterval) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_DayTimeInterval) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Array_) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Map_) isExpression_Literal_LiteralType() {} + +func (*Expression_Literal_Struct_) isExpression_Literal_LiteralType() {} + +// An unresolved attribute that is not explicitly bound to a specific column, but the column +// is resolved during analysis by name. +type Expression_UnresolvedAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) An identifier that will be parsed by Catalyst parser. This should follow the + // Spark SQL identifier syntax. + UnparsedIdentifier string `protobuf:"bytes,1,opt,name=unparsed_identifier,json=unparsedIdentifier,proto3" json:"unparsed_identifier,omitempty"` + // (Optional) The id of corresponding connect plan. + PlanId *int64 `protobuf:"varint,2,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` +} + +func (x *Expression_UnresolvedAttribute) Reset() { + *x = Expression_UnresolvedAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UnresolvedAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UnresolvedAttribute) ProtoMessage() {} + +func (x *Expression_UnresolvedAttribute) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UnresolvedAttribute.ProtoReflect.Descriptor instead. +func (*Expression_UnresolvedAttribute) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *Expression_UnresolvedAttribute) GetUnparsedIdentifier() string { + if x != nil { + return x.UnparsedIdentifier + } + return "" +} + +func (x *Expression_UnresolvedAttribute) GetPlanId() int64 { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return 0 +} + +// An unresolved function is not explicitly bound to one explicit function, but the function +// is resolved during analysis following Sparks name resolution rules. +type Expression_UnresolvedFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) name (or unparsed name for user defined function) for the unresolved function. + FunctionName string `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` + // (Optional) Function arguments. Empty arguments are allowed. + Arguments []*Expression `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` + // (Required) Indicate if this function should be applied on distinct values. + IsDistinct bool `protobuf:"varint,3,opt,name=is_distinct,json=isDistinct,proto3" json:"is_distinct,omitempty"` + // (Required) Indicate if this is a user defined function. + // + // When it is not a user defined function, Connect will use the function name directly. + // When it is a user defined function, Connect will parse the function name first. + IsUserDefinedFunction bool `protobuf:"varint,4,opt,name=is_user_defined_function,json=isUserDefinedFunction,proto3" json:"is_user_defined_function,omitempty"` +} + +func (x *Expression_UnresolvedFunction) Reset() { + *x = Expression_UnresolvedFunction{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UnresolvedFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UnresolvedFunction) ProtoMessage() {} + +func (x *Expression_UnresolvedFunction) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UnresolvedFunction.ProtoReflect.Descriptor instead. +func (*Expression_UnresolvedFunction) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *Expression_UnresolvedFunction) GetFunctionName() string { + if x != nil { + return x.FunctionName + } + return "" +} + +func (x *Expression_UnresolvedFunction) GetArguments() []*Expression { + if x != nil { + return x.Arguments + } + return nil +} + +func (x *Expression_UnresolvedFunction) GetIsDistinct() bool { + if x != nil { + return x.IsDistinct + } + return false +} + +func (x *Expression_UnresolvedFunction) GetIsUserDefinedFunction() bool { + if x != nil { + return x.IsUserDefinedFunction + } + return false +} + +// Expression as string. +type Expression_ExpressionString struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) A SQL expression that will be parsed by Catalyst parser. + Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` +} + +func (x *Expression_ExpressionString) Reset() { + *x = Expression_ExpressionString{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_ExpressionString) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_ExpressionString) ProtoMessage() {} + +func (x *Expression_ExpressionString) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_ExpressionString.ProtoReflect.Descriptor instead. +func (*Expression_ExpressionString) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *Expression_ExpressionString) GetExpression() string { + if x != nil { + return x.Expression + } + return "" +} + +// UnresolvedStar is used to expand all the fields of a relation or struct. +type Expression_UnresolvedStar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) The target of the expansion. + // + // If set, it should end with '.*' and will be parsed by 'parseAttributeName' + // in the server side. + UnparsedTarget *string `protobuf:"bytes,1,opt,name=unparsed_target,json=unparsedTarget,proto3,oneof" json:"unparsed_target,omitempty"` +} + +func (x *Expression_UnresolvedStar) Reset() { + *x = Expression_UnresolvedStar{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UnresolvedStar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UnresolvedStar) ProtoMessage() {} + +func (x *Expression_UnresolvedStar) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UnresolvedStar.ProtoReflect.Descriptor instead. +func (*Expression_UnresolvedStar) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *Expression_UnresolvedStar) GetUnparsedTarget() string { + if x != nil && x.UnparsedTarget != nil { + return *x.UnparsedTarget + } + return "" +} + +// Represents all of the input attributes to a given relational operator, for example in +// "SELECT `(id)?+.+` FROM ...". +type Expression_UnresolvedRegex struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The column name used to extract column with regex. + ColName string `protobuf:"bytes,1,opt,name=col_name,json=colName,proto3" json:"col_name,omitempty"` + // (Optional) The id of corresponding connect plan. + PlanId *int64 `protobuf:"varint,2,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` +} + +func (x *Expression_UnresolvedRegex) Reset() { + *x = Expression_UnresolvedRegex{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UnresolvedRegex) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UnresolvedRegex) ProtoMessage() {} + +func (x *Expression_UnresolvedRegex) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UnresolvedRegex.ProtoReflect.Descriptor instead. +func (*Expression_UnresolvedRegex) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 8} +} + +func (x *Expression_UnresolvedRegex) GetColName() string { + if x != nil { + return x.ColName + } + return "" +} + +func (x *Expression_UnresolvedRegex) GetPlanId() int64 { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return 0 +} + +// Extracts a value or values from an Expression +type Expression_UnresolvedExtractValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The expression to extract value from, can be + // Map, Array, Struct or array of Structs. + Child *Expression `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"` + // (Required) The expression to describe the extraction, can be + // key of Map, index of Array, field name of Struct. + Extraction *Expression `protobuf:"bytes,2,opt,name=extraction,proto3" json:"extraction,omitempty"` +} + +func (x *Expression_UnresolvedExtractValue) Reset() { + *x = Expression_UnresolvedExtractValue{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UnresolvedExtractValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UnresolvedExtractValue) ProtoMessage() {} + +func (x *Expression_UnresolvedExtractValue) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UnresolvedExtractValue.ProtoReflect.Descriptor instead. +func (*Expression_UnresolvedExtractValue) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 9} +} + +func (x *Expression_UnresolvedExtractValue) GetChild() *Expression { + if x != nil { + return x.Child + } + return nil +} + +func (x *Expression_UnresolvedExtractValue) GetExtraction() *Expression { + if x != nil { + return x.Extraction + } + return nil +} + +// Add, replace or drop a field of `StructType` expression by name. +type Expression_UpdateFields struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The struct expression. + StructExpression *Expression `protobuf:"bytes,1,opt,name=struct_expression,json=structExpression,proto3" json:"struct_expression,omitempty"` + // (Required) The field name. + FieldName string `protobuf:"bytes,2,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` + // (Optional) The expression to add or replace. + // + // When not set, it means this field will be dropped. + ValueExpression *Expression `protobuf:"bytes,3,opt,name=value_expression,json=valueExpression,proto3" json:"value_expression,omitempty"` +} + +func (x *Expression_UpdateFields) Reset() { + *x = Expression_UpdateFields{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UpdateFields) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UpdateFields) ProtoMessage() {} + +func (x *Expression_UpdateFields) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UpdateFields.ProtoReflect.Descriptor instead. +func (*Expression_UpdateFields) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 10} +} + +func (x *Expression_UpdateFields) GetStructExpression() *Expression { + if x != nil { + return x.StructExpression + } + return nil +} + +func (x *Expression_UpdateFields) GetFieldName() string { + if x != nil { + return x.FieldName + } + return "" +} + +func (x *Expression_UpdateFields) GetValueExpression() *Expression { + if x != nil { + return x.ValueExpression + } + return nil +} + +type Expression_Alias struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The expression that alias will be added on. + Expr *Expression `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + // (Required) a list of name parts for the alias. + // + // Scalar columns only has one name that presents. + Name []string `protobuf:"bytes,2,rep,name=name,proto3" json:"name,omitempty"` + // (Optional) Alias metadata expressed as a JSON map. + Metadata *string `protobuf:"bytes,3,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` +} + +func (x *Expression_Alias) Reset() { + *x = Expression_Alias{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Alias) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Alias) ProtoMessage() {} + +func (x *Expression_Alias) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Alias.ProtoReflect.Descriptor instead. +func (*Expression_Alias) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 11} +} + +func (x *Expression_Alias) GetExpr() *Expression { + if x != nil { + return x.Expr + } + return nil +} + +func (x *Expression_Alias) GetName() []string { + if x != nil { + return x.Name + } + return nil +} + +func (x *Expression_Alias) GetMetadata() string { + if x != nil && x.Metadata != nil { + return *x.Metadata + } + return "" +} + +type Expression_LambdaFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The lambda function. + // + // The function body should use 'UnresolvedAttribute' as arguments, the sever side will + // replace 'UnresolvedAttribute' with 'UnresolvedNamedLambdaVariable'. + Function *Expression `protobuf:"bytes,1,opt,name=function,proto3" json:"function,omitempty"` + // (Required) Function variables. Must contains 1 ~ 3 variables. + Arguments []*Expression_UnresolvedNamedLambdaVariable `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` +} + +func (x *Expression_LambdaFunction) Reset() { + *x = Expression_LambdaFunction{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_LambdaFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_LambdaFunction) ProtoMessage() {} + +func (x *Expression_LambdaFunction) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_LambdaFunction.ProtoReflect.Descriptor instead. +func (*Expression_LambdaFunction) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 12} +} + +func (x *Expression_LambdaFunction) GetFunction() *Expression { + if x != nil { + return x.Function + } + return nil +} + +func (x *Expression_LambdaFunction) GetArguments() []*Expression_UnresolvedNamedLambdaVariable { + if x != nil { + return x.Arguments + } + return nil +} + +type Expression_UnresolvedNamedLambdaVariable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) a list of name parts for the variable. Must not be empty. + NameParts []string `protobuf:"bytes,1,rep,name=name_parts,json=nameParts,proto3" json:"name_parts,omitempty"` +} + +func (x *Expression_UnresolvedNamedLambdaVariable) Reset() { + *x = Expression_UnresolvedNamedLambdaVariable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_UnresolvedNamedLambdaVariable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_UnresolvedNamedLambdaVariable) ProtoMessage() {} + +func (x *Expression_UnresolvedNamedLambdaVariable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_UnresolvedNamedLambdaVariable.ProtoReflect.Descriptor instead. +func (*Expression_UnresolvedNamedLambdaVariable) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 13} +} + +func (x *Expression_UnresolvedNamedLambdaVariable) GetNameParts() []string { + if x != nil { + return x.NameParts + } + return nil +} + +// The window frame +type Expression_Window_WindowFrame struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The type of the frame. + FrameType Expression_Window_WindowFrame_FrameType `protobuf:"varint,1,opt,name=frame_type,json=frameType,proto3,enum=spark.connect.Expression_Window_WindowFrame_FrameType" json:"frame_type,omitempty"` + // (Required) The lower bound of the frame. + Lower *Expression_Window_WindowFrame_FrameBoundary `protobuf:"bytes,2,opt,name=lower,proto3" json:"lower,omitempty"` + // (Required) The upper bound of the frame. + Upper *Expression_Window_WindowFrame_FrameBoundary `protobuf:"bytes,3,opt,name=upper,proto3" json:"upper,omitempty"` +} + +func (x *Expression_Window_WindowFrame) Reset() { + *x = Expression_Window_WindowFrame{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Window_WindowFrame) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Window_WindowFrame) ProtoMessage() {} + +func (x *Expression_Window_WindowFrame) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Window_WindowFrame.ProtoReflect.Descriptor instead. +func (*Expression_Window_WindowFrame) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *Expression_Window_WindowFrame) GetFrameType() Expression_Window_WindowFrame_FrameType { + if x != nil { + return x.FrameType + } + return Expression_Window_WindowFrame_FRAME_TYPE_UNDEFINED +} + +func (x *Expression_Window_WindowFrame) GetLower() *Expression_Window_WindowFrame_FrameBoundary { + if x != nil { + return x.Lower + } + return nil +} + +func (x *Expression_Window_WindowFrame) GetUpper() *Expression_Window_WindowFrame_FrameBoundary { + if x != nil { + return x.Upper + } + return nil +} + +type Expression_Window_WindowFrame_FrameBoundary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Boundary: + // + // *Expression_Window_WindowFrame_FrameBoundary_CurrentRow + // *Expression_Window_WindowFrame_FrameBoundary_Unbounded + // *Expression_Window_WindowFrame_FrameBoundary_Value + Boundary isExpression_Window_WindowFrame_FrameBoundary_Boundary `protobuf_oneof:"boundary"` +} + +func (x *Expression_Window_WindowFrame_FrameBoundary) Reset() { + *x = Expression_Window_WindowFrame_FrameBoundary{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Window_WindowFrame_FrameBoundary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Window_WindowFrame_FrameBoundary) ProtoMessage() {} + +func (x *Expression_Window_WindowFrame_FrameBoundary) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Window_WindowFrame_FrameBoundary.ProtoReflect.Descriptor instead. +func (*Expression_Window_WindowFrame_FrameBoundary) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +func (m *Expression_Window_WindowFrame_FrameBoundary) GetBoundary() isExpression_Window_WindowFrame_FrameBoundary_Boundary { + if m != nil { + return m.Boundary + } + return nil +} + +func (x *Expression_Window_WindowFrame_FrameBoundary) GetCurrentRow() bool { + if x, ok := x.GetBoundary().(*Expression_Window_WindowFrame_FrameBoundary_CurrentRow); ok { + return x.CurrentRow + } + return false +} + +func (x *Expression_Window_WindowFrame_FrameBoundary) GetUnbounded() bool { + if x, ok := x.GetBoundary().(*Expression_Window_WindowFrame_FrameBoundary_Unbounded); ok { + return x.Unbounded + } + return false +} + +func (x *Expression_Window_WindowFrame_FrameBoundary) GetValue() *Expression { + if x, ok := x.GetBoundary().(*Expression_Window_WindowFrame_FrameBoundary_Value); ok { + return x.Value + } + return nil +} + +type isExpression_Window_WindowFrame_FrameBoundary_Boundary interface { + isExpression_Window_WindowFrame_FrameBoundary_Boundary() +} + +type Expression_Window_WindowFrame_FrameBoundary_CurrentRow struct { + // CURRENT ROW boundary + CurrentRow bool `protobuf:"varint,1,opt,name=current_row,json=currentRow,proto3,oneof"` +} + +type Expression_Window_WindowFrame_FrameBoundary_Unbounded struct { + // UNBOUNDED boundary. + // For lower bound, it will be converted to 'UnboundedPreceding'. + // for upper bound, it will be converted to 'UnboundedFollowing'. + Unbounded bool `protobuf:"varint,2,opt,name=unbounded,proto3,oneof"` +} + +type Expression_Window_WindowFrame_FrameBoundary_Value struct { + // This is an expression for future proofing. We are expecting literals on the server side. + Value *Expression `protobuf:"bytes,3,opt,name=value,proto3,oneof"` +} + +func (*Expression_Window_WindowFrame_FrameBoundary_CurrentRow) isExpression_Window_WindowFrame_FrameBoundary_Boundary() { +} + +func (*Expression_Window_WindowFrame_FrameBoundary_Unbounded) isExpression_Window_WindowFrame_FrameBoundary_Boundary() { +} + +func (*Expression_Window_WindowFrame_FrameBoundary_Value) isExpression_Window_WindowFrame_FrameBoundary_Boundary() { +} + +type Expression_Literal_Decimal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the string representation. + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // The maximum number of digits allowed in the value. + // the maximum precision is 38. + Precision *int32 `protobuf:"varint,2,opt,name=precision,proto3,oneof" json:"precision,omitempty"` + // declared scale of decimal literal + Scale *int32 `protobuf:"varint,3,opt,name=scale,proto3,oneof" json:"scale,omitempty"` +} + +func (x *Expression_Literal_Decimal) Reset() { + *x = Expression_Literal_Decimal{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Literal_Decimal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Literal_Decimal) ProtoMessage() {} + +func (x *Expression_Literal_Decimal) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Literal_Decimal.ProtoReflect.Descriptor instead. +func (*Expression_Literal_Decimal) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *Expression_Literal_Decimal) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *Expression_Literal_Decimal) GetPrecision() int32 { + if x != nil && x.Precision != nil { + return *x.Precision + } + return 0 +} + +func (x *Expression_Literal_Decimal) GetScale() int32 { + if x != nil && x.Scale != nil { + return *x.Scale + } + return 0 +} + +type Expression_Literal_CalendarInterval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Months int32 `protobuf:"varint,1,opt,name=months,proto3" json:"months,omitempty"` + Days int32 `protobuf:"varint,2,opt,name=days,proto3" json:"days,omitempty"` + Microseconds int64 `protobuf:"varint,3,opt,name=microseconds,proto3" json:"microseconds,omitempty"` +} + +func (x *Expression_Literal_CalendarInterval) Reset() { + *x = Expression_Literal_CalendarInterval{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Literal_CalendarInterval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Literal_CalendarInterval) ProtoMessage() {} + +func (x *Expression_Literal_CalendarInterval) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Literal_CalendarInterval.ProtoReflect.Descriptor instead. +func (*Expression_Literal_CalendarInterval) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3, 1} +} + +func (x *Expression_Literal_CalendarInterval) GetMonths() int32 { + if x != nil { + return x.Months + } + return 0 +} + +func (x *Expression_Literal_CalendarInterval) GetDays() int32 { + if x != nil { + return x.Days + } + return 0 +} + +func (x *Expression_Literal_CalendarInterval) GetMicroseconds() int64 { + if x != nil { + return x.Microseconds + } + return 0 +} + +type Expression_Literal_Array struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ElementType *DataType `protobuf:"bytes,1,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"` + Elements []*Expression_Literal `protobuf:"bytes,2,rep,name=elements,proto3" json:"elements,omitempty"` +} + +func (x *Expression_Literal_Array) Reset() { + *x = Expression_Literal_Array{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Literal_Array) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Literal_Array) ProtoMessage() {} + +func (x *Expression_Literal_Array) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Literal_Array.ProtoReflect.Descriptor instead. +func (*Expression_Literal_Array) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3, 2} +} + +func (x *Expression_Literal_Array) GetElementType() *DataType { + if x != nil { + return x.ElementType + } + return nil +} + +func (x *Expression_Literal_Array) GetElements() []*Expression_Literal { + if x != nil { + return x.Elements + } + return nil +} + +type Expression_Literal_Map struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + KeyType *DataType `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` + ValueType *DataType `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` + Keys []*Expression_Literal `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"` + Values []*Expression_Literal `protobuf:"bytes,4,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *Expression_Literal_Map) Reset() { + *x = Expression_Literal_Map{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Literal_Map) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Literal_Map) ProtoMessage() {} + +func (x *Expression_Literal_Map) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Literal_Map.ProtoReflect.Descriptor instead. +func (*Expression_Literal_Map) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3, 3} +} + +func (x *Expression_Literal_Map) GetKeyType() *DataType { + if x != nil { + return x.KeyType + } + return nil +} + +func (x *Expression_Literal_Map) GetValueType() *DataType { + if x != nil { + return x.ValueType + } + return nil +} + +func (x *Expression_Literal_Map) GetKeys() []*Expression_Literal { + if x != nil { + return x.Keys + } + return nil +} + +func (x *Expression_Literal_Map) GetValues() []*Expression_Literal { + if x != nil { + return x.Values + } + return nil +} + +type Expression_Literal_Struct struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StructType *DataType `protobuf:"bytes,1,opt,name=struct_type,json=structType,proto3" json:"struct_type,omitempty"` + Elements []*Expression_Literal `protobuf:"bytes,2,rep,name=elements,proto3" json:"elements,omitempty"` +} + +func (x *Expression_Literal_Struct) Reset() { + *x = Expression_Literal_Struct{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_expressions_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expression_Literal_Struct) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expression_Literal_Struct) ProtoMessage() {} + +func (x *Expression_Literal_Struct) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_expressions_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expression_Literal_Struct.ProtoReflect.Descriptor instead. +func (*Expression_Literal_Struct) Descriptor() ([]byte, []int) { + return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3, 4} +} + +func (x *Expression_Literal_Struct) GetStructType() *DataType { + if x != nil { + return x.StructType + } + return nil +} + +func (x *Expression_Literal_Struct) GetElements() []*Expression_Literal { + if x != nil { + return x.Elements + } + return nil +} + +var File_spark_connect_expressions_proto protoreflect.FileDescriptor + +var file_spark_connect_expressions_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x2b, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x12, 0x62, 0x0a, 0x14, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x48, 0x00, 0x52, 0x13, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x75, 0x6e, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x11, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x53, 0x0a, 0x0f, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x63, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x75, 0x6e, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x48, 0x00, 0x52, + 0x0f, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, + 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x53, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x73, 0x6f, 0x72, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6d, 0x62, 0x64, + 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x6c, 0x61, 0x6d, + 0x62, 0x64, 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x06, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x48, 0x00, 0x52, + 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x6c, 0x0a, 0x18, 0x75, 0x6e, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x16, 0x75, + 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x20, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, + 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x1d, 0x75, 0x6e, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x61, 0x6d, 0x62, 0x64, + 0x61, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x1a, 0x8f, 0x06, 0x0a, 0x06, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x42, 0x0a, 0x0f, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x40, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x42, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4b, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x1a, 0xed, 0x03, 0x0a, 0x0b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x72, 0x61, + 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, + 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x05, 0x6c, 0x6f, 0x77, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x05, 0x75, + 0x70, 0x70, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x05, 0x75, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x91, 0x01, + 0x0a, 0x0d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, + 0x21, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, + 0x6f, 0x77, 0x12, 0x1e, 0x0a, 0x09, 0x75, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x75, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x22, 0x4f, 0x0a, 0x09, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, + 0x0a, 0x14, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x52, 0x41, 0x4d, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x46, 0x52, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, + 0x10, 0x02, 0x1a, 0xa9, 0x03, 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x2f, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x12, 0x4f, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x53, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0d, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4e, + 0x75, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x6e, 0x75, 0x6c, + 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x6c, 0x0a, 0x0d, 0x53, 0x6f, 0x72, + 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4f, + 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4f, + 0x52, 0x54, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x43, + 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4f, 0x52, 0x54, + 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x0c, 0x4e, 0x75, 0x6c, 0x6c, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x4f, 0x52, 0x54, 0x5f, + 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, + 0x53, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4f, 0x52, + 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x02, 0x1a, 0x91, + 0x01, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x53, + 0x74, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x1a, 0x9b, 0x0c, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2d, + 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x18, 0x0a, + 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, + 0x06, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, + 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, + 0x65, 0x61, 0x6e, 0x12, 0x14, 0x0a, 0x04, 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, + 0x04, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x04, 0x6c, + 0x6f, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x06, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0d, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x74, 0x7a, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x4e, 0x74, 0x7a, 0x12, 0x61, 0x0a, 0x11, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x48, 0x00, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x13, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, + 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x11, 0x79, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x79, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, + 0x52, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, 0x12, 0x39, 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x2e, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x03, 0x6d, + 0x61, 0x70, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x1a, 0x75, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, + 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x05, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x1a, 0x62, 0x0a, + 0x10, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x79, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x1a, 0x82, 0x01, 0x0a, 0x05, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x3a, 0x0a, 0x0c, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xe3, 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x32, + 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x04, 0x6b, 0x65, 0x79, + 0x73, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x81, 0x01, 0x0a, + 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x1a, 0x70, 0x0a, 0x13, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x70, 0x61, 0x72, + 0x73, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, + 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, + 0x69, 0x64, 0x1a, 0xcc, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, + 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, + 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x32, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x52, 0x0a, 0x0e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x72, + 0x73, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, + 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x56, 0x0a, 0x0f, 0x55, 0x6e, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, + 0x63, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, + 0x64, 0x1a, 0x84, 0x01, 0x0a, 0x16, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x39, 0x0a, + 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbb, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x11, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x44, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x78, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, + 0x2d, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x9e, 0x01, 0x0a, 0x0e, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x09, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x1a, 0x3e, 0x0a, 0x1d, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x4e, + 0x61, 0x6d, 0x65, 0x64, 0x4c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xec, + 0x02, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x37, 0x0a, + 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x72, 0x67, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, + 0x5f, 0x75, 0x64, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, + 0x6e, 0x55, 0x44, 0x46, 0x48, 0x00, 0x52, 0x09, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x55, 0x64, + 0x66, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, + 0x61, 0x5f, 0x75, 0x64, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x63, 0x61, 0x6c, + 0x61, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x55, 0x44, 0x46, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x63, + 0x61, 0x6c, 0x61, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x55, 0x64, 0x66, 0x12, 0x33, 0x0a, 0x08, + 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x75, 0x64, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4a, + 0x61, 0x76, 0x61, 0x55, 0x44, 0x46, 0x48, 0x00, 0x52, 0x07, 0x6a, 0x61, 0x76, 0x61, 0x55, 0x64, + 0x66, 0x42, 0x0a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, + 0x0a, 0x09, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x55, 0x44, 0x46, 0x12, 0x38, 0x0a, 0x0b, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x22, 0xb8, 0x01, 0x0a, 0x0e, + 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x55, 0x44, 0x46, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, + 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, + 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x07, 0x4a, 0x61, 0x76, 0x61, 0x55, + 0x44, 0x46, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x48, + 0x00, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x36, + 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_expressions_proto_rawDescOnce sync.Once + file_spark_connect_expressions_proto_rawDescData = file_spark_connect_expressions_proto_rawDesc +) + +func file_spark_connect_expressions_proto_rawDescGZIP() []byte { + file_spark_connect_expressions_proto_rawDescOnce.Do(func() { + file_spark_connect_expressions_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_expressions_proto_rawDescData) + }) + return file_spark_connect_expressions_proto_rawDescData +} + +var file_spark_connect_expressions_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_spark_connect_expressions_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_spark_connect_expressions_proto_goTypes = []interface{}{ + (Expression_Window_WindowFrame_FrameType)(0), // 0: spark.connect.Expression.Window.WindowFrame.FrameType + (Expression_SortOrder_SortDirection)(0), // 1: spark.connect.Expression.SortOrder.SortDirection + (Expression_SortOrder_NullOrdering)(0), // 2: spark.connect.Expression.SortOrder.NullOrdering + (*Expression)(nil), // 3: spark.connect.Expression + (*CommonInlineUserDefinedFunction)(nil), // 4: spark.connect.CommonInlineUserDefinedFunction + (*PythonUDF)(nil), // 5: spark.connect.PythonUDF + (*ScalarScalaUDF)(nil), // 6: spark.connect.ScalarScalaUDF + (*JavaUDF)(nil), // 7: spark.connect.JavaUDF + (*Expression_Window)(nil), // 8: spark.connect.Expression.Window + (*Expression_SortOrder)(nil), // 9: spark.connect.Expression.SortOrder + (*Expression_Cast)(nil), // 10: spark.connect.Expression.Cast + (*Expression_Literal)(nil), // 11: spark.connect.Expression.Literal + (*Expression_UnresolvedAttribute)(nil), // 12: spark.connect.Expression.UnresolvedAttribute + (*Expression_UnresolvedFunction)(nil), // 13: spark.connect.Expression.UnresolvedFunction + (*Expression_ExpressionString)(nil), // 14: spark.connect.Expression.ExpressionString + (*Expression_UnresolvedStar)(nil), // 15: spark.connect.Expression.UnresolvedStar + (*Expression_UnresolvedRegex)(nil), // 16: spark.connect.Expression.UnresolvedRegex + (*Expression_UnresolvedExtractValue)(nil), // 17: spark.connect.Expression.UnresolvedExtractValue + (*Expression_UpdateFields)(nil), // 18: spark.connect.Expression.UpdateFields + (*Expression_Alias)(nil), // 19: spark.connect.Expression.Alias + (*Expression_LambdaFunction)(nil), // 20: spark.connect.Expression.LambdaFunction + (*Expression_UnresolvedNamedLambdaVariable)(nil), // 21: spark.connect.Expression.UnresolvedNamedLambdaVariable + (*Expression_Window_WindowFrame)(nil), // 22: spark.connect.Expression.Window.WindowFrame + (*Expression_Window_WindowFrame_FrameBoundary)(nil), // 23: spark.connect.Expression.Window.WindowFrame.FrameBoundary + (*Expression_Literal_Decimal)(nil), // 24: spark.connect.Expression.Literal.Decimal + (*Expression_Literal_CalendarInterval)(nil), // 25: spark.connect.Expression.Literal.CalendarInterval + (*Expression_Literal_Array)(nil), // 26: spark.connect.Expression.Literal.Array + (*Expression_Literal_Map)(nil), // 27: spark.connect.Expression.Literal.Map + (*Expression_Literal_Struct)(nil), // 28: spark.connect.Expression.Literal.Struct + (*anypb.Any)(nil), // 29: google.protobuf.Any + (*DataType)(nil), // 30: spark.connect.DataType +} +var file_spark_connect_expressions_proto_depIdxs = []int32{ + 11, // 0: spark.connect.Expression.literal:type_name -> spark.connect.Expression.Literal + 12, // 1: spark.connect.Expression.unresolved_attribute:type_name -> spark.connect.Expression.UnresolvedAttribute + 13, // 2: spark.connect.Expression.unresolved_function:type_name -> spark.connect.Expression.UnresolvedFunction + 14, // 3: spark.connect.Expression.expression_string:type_name -> spark.connect.Expression.ExpressionString + 15, // 4: spark.connect.Expression.unresolved_star:type_name -> spark.connect.Expression.UnresolvedStar + 19, // 5: spark.connect.Expression.alias:type_name -> spark.connect.Expression.Alias + 10, // 6: spark.connect.Expression.cast:type_name -> spark.connect.Expression.Cast + 16, // 7: spark.connect.Expression.unresolved_regex:type_name -> spark.connect.Expression.UnresolvedRegex + 9, // 8: spark.connect.Expression.sort_order:type_name -> spark.connect.Expression.SortOrder + 20, // 9: spark.connect.Expression.lambda_function:type_name -> spark.connect.Expression.LambdaFunction + 8, // 10: spark.connect.Expression.window:type_name -> spark.connect.Expression.Window + 17, // 11: spark.connect.Expression.unresolved_extract_value:type_name -> spark.connect.Expression.UnresolvedExtractValue + 18, // 12: spark.connect.Expression.update_fields:type_name -> spark.connect.Expression.UpdateFields + 21, // 13: spark.connect.Expression.unresolved_named_lambda_variable:type_name -> spark.connect.Expression.UnresolvedNamedLambdaVariable + 4, // 14: spark.connect.Expression.common_inline_user_defined_function:type_name -> spark.connect.CommonInlineUserDefinedFunction + 29, // 15: spark.connect.Expression.extension:type_name -> google.protobuf.Any + 3, // 16: spark.connect.CommonInlineUserDefinedFunction.arguments:type_name -> spark.connect.Expression + 5, // 17: spark.connect.CommonInlineUserDefinedFunction.python_udf:type_name -> spark.connect.PythonUDF + 6, // 18: spark.connect.CommonInlineUserDefinedFunction.scalar_scala_udf:type_name -> spark.connect.ScalarScalaUDF + 7, // 19: spark.connect.CommonInlineUserDefinedFunction.java_udf:type_name -> spark.connect.JavaUDF + 30, // 20: spark.connect.PythonUDF.output_type:type_name -> spark.connect.DataType + 30, // 21: spark.connect.ScalarScalaUDF.inputTypes:type_name -> spark.connect.DataType + 30, // 22: spark.connect.ScalarScalaUDF.outputType:type_name -> spark.connect.DataType + 30, // 23: spark.connect.JavaUDF.output_type:type_name -> spark.connect.DataType + 3, // 24: spark.connect.Expression.Window.window_function:type_name -> spark.connect.Expression + 3, // 25: spark.connect.Expression.Window.partition_spec:type_name -> spark.connect.Expression + 9, // 26: spark.connect.Expression.Window.order_spec:type_name -> spark.connect.Expression.SortOrder + 22, // 27: spark.connect.Expression.Window.frame_spec:type_name -> spark.connect.Expression.Window.WindowFrame + 3, // 28: spark.connect.Expression.SortOrder.child:type_name -> spark.connect.Expression + 1, // 29: spark.connect.Expression.SortOrder.direction:type_name -> spark.connect.Expression.SortOrder.SortDirection + 2, // 30: spark.connect.Expression.SortOrder.null_ordering:type_name -> spark.connect.Expression.SortOrder.NullOrdering + 3, // 31: spark.connect.Expression.Cast.expr:type_name -> spark.connect.Expression + 30, // 32: spark.connect.Expression.Cast.type:type_name -> spark.connect.DataType + 30, // 33: spark.connect.Expression.Literal.null:type_name -> spark.connect.DataType + 24, // 34: spark.connect.Expression.Literal.decimal:type_name -> spark.connect.Expression.Literal.Decimal + 25, // 35: spark.connect.Expression.Literal.calendar_interval:type_name -> spark.connect.Expression.Literal.CalendarInterval + 26, // 36: spark.connect.Expression.Literal.array:type_name -> spark.connect.Expression.Literal.Array + 27, // 37: spark.connect.Expression.Literal.map:type_name -> spark.connect.Expression.Literal.Map + 28, // 38: spark.connect.Expression.Literal.struct:type_name -> spark.connect.Expression.Literal.Struct + 3, // 39: spark.connect.Expression.UnresolvedFunction.arguments:type_name -> spark.connect.Expression + 3, // 40: spark.connect.Expression.UnresolvedExtractValue.child:type_name -> spark.connect.Expression + 3, // 41: spark.connect.Expression.UnresolvedExtractValue.extraction:type_name -> spark.connect.Expression + 3, // 42: spark.connect.Expression.UpdateFields.struct_expression:type_name -> spark.connect.Expression + 3, // 43: spark.connect.Expression.UpdateFields.value_expression:type_name -> spark.connect.Expression + 3, // 44: spark.connect.Expression.Alias.expr:type_name -> spark.connect.Expression + 3, // 45: spark.connect.Expression.LambdaFunction.function:type_name -> spark.connect.Expression + 21, // 46: spark.connect.Expression.LambdaFunction.arguments:type_name -> spark.connect.Expression.UnresolvedNamedLambdaVariable + 0, // 47: spark.connect.Expression.Window.WindowFrame.frame_type:type_name -> spark.connect.Expression.Window.WindowFrame.FrameType + 23, // 48: spark.connect.Expression.Window.WindowFrame.lower:type_name -> spark.connect.Expression.Window.WindowFrame.FrameBoundary + 23, // 49: spark.connect.Expression.Window.WindowFrame.upper:type_name -> spark.connect.Expression.Window.WindowFrame.FrameBoundary + 3, // 50: spark.connect.Expression.Window.WindowFrame.FrameBoundary.value:type_name -> spark.connect.Expression + 30, // 51: spark.connect.Expression.Literal.Array.element_type:type_name -> spark.connect.DataType + 11, // 52: spark.connect.Expression.Literal.Array.elements:type_name -> spark.connect.Expression.Literal + 30, // 53: spark.connect.Expression.Literal.Map.key_type:type_name -> spark.connect.DataType + 30, // 54: spark.connect.Expression.Literal.Map.value_type:type_name -> spark.connect.DataType + 11, // 55: spark.connect.Expression.Literal.Map.keys:type_name -> spark.connect.Expression.Literal + 11, // 56: spark.connect.Expression.Literal.Map.values:type_name -> spark.connect.Expression.Literal + 30, // 57: spark.connect.Expression.Literal.Struct.struct_type:type_name -> spark.connect.DataType + 11, // 58: spark.connect.Expression.Literal.Struct.elements:type_name -> spark.connect.Expression.Literal + 59, // [59:59] is the sub-list for method output_type + 59, // [59:59] is the sub-list for method input_type + 59, // [59:59] is the sub-list for extension type_name + 59, // [59:59] is the sub-list for extension extendee + 0, // [0:59] is the sub-list for field type_name +} + +func init() { file_spark_connect_expressions_proto_init() } +func file_spark_connect_expressions_proto_init() { + if File_spark_connect_expressions_proto != nil { + return + } + file_spark_connect_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_spark_connect_expressions_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonInlineUserDefinedFunction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PythonUDF); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScalarScalaUDF); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JavaUDF); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Window); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_SortOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Cast); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Literal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UnresolvedAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UnresolvedFunction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_ExpressionString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UnresolvedStar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UnresolvedRegex); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UnresolvedExtractValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UpdateFields); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Alias); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_LambdaFunction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_UnresolvedNamedLambdaVariable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Window_WindowFrame); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Window_WindowFrame_FrameBoundary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Literal_Decimal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Literal_CalendarInterval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Literal_Array); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Literal_Map); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_expressions_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expression_Literal_Struct); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_spark_connect_expressions_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Expression_Literal_)(nil), + (*Expression_UnresolvedAttribute_)(nil), + (*Expression_UnresolvedFunction_)(nil), + (*Expression_ExpressionString_)(nil), + (*Expression_UnresolvedStar_)(nil), + (*Expression_Alias_)(nil), + (*Expression_Cast_)(nil), + (*Expression_UnresolvedRegex_)(nil), + (*Expression_SortOrder_)(nil), + (*Expression_LambdaFunction_)(nil), + (*Expression_Window_)(nil), + (*Expression_UnresolvedExtractValue_)(nil), + (*Expression_UpdateFields_)(nil), + (*Expression_UnresolvedNamedLambdaVariable_)(nil), + (*Expression_CommonInlineUserDefinedFunction)(nil), + (*Expression_Extension)(nil), + } + file_spark_connect_expressions_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*CommonInlineUserDefinedFunction_PythonUdf)(nil), + (*CommonInlineUserDefinedFunction_ScalarScalaUdf)(nil), + (*CommonInlineUserDefinedFunction_JavaUdf)(nil), + } + file_spark_connect_expressions_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_spark_connect_expressions_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*Expression_Cast_Type)(nil), + (*Expression_Cast_TypeStr)(nil), + } + file_spark_connect_expressions_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*Expression_Literal_Null)(nil), + (*Expression_Literal_Binary)(nil), + (*Expression_Literal_Boolean)(nil), + (*Expression_Literal_Byte)(nil), + (*Expression_Literal_Short)(nil), + (*Expression_Literal_Integer)(nil), + (*Expression_Literal_Long)(nil), + (*Expression_Literal_Float)(nil), + (*Expression_Literal_Double)(nil), + (*Expression_Literal_Decimal_)(nil), + (*Expression_Literal_String_)(nil), + (*Expression_Literal_Date)(nil), + (*Expression_Literal_Timestamp)(nil), + (*Expression_Literal_TimestampNtz)(nil), + (*Expression_Literal_CalendarInterval_)(nil), + (*Expression_Literal_YearMonthInterval)(nil), + (*Expression_Literal_DayTimeInterval)(nil), + (*Expression_Literal_Array_)(nil), + (*Expression_Literal_Map_)(nil), + (*Expression_Literal_Struct_)(nil), + } + file_spark_connect_expressions_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_spark_connect_expressions_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_spark_connect_expressions_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_spark_connect_expressions_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_spark_connect_expressions_proto_msgTypes[20].OneofWrappers = []interface{}{ + (*Expression_Window_WindowFrame_FrameBoundary_CurrentRow)(nil), + (*Expression_Window_WindowFrame_FrameBoundary_Unbounded)(nil), + (*Expression_Window_WindowFrame_FrameBoundary_Value)(nil), + } + file_spark_connect_expressions_proto_msgTypes[21].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_expressions_proto_rawDesc, + NumEnums: 3, + NumMessages: 26, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_expressions_proto_goTypes, + DependencyIndexes: file_spark_connect_expressions_proto_depIdxs, + EnumInfos: file_spark_connect_expressions_proto_enumTypes, + MessageInfos: file_spark_connect_expressions_proto_msgTypes, + }.Build() + File_spark_connect_expressions_proto = out.File + file_spark_connect_expressions_proto_rawDesc = nil + file_spark_connect_expressions_proto_goTypes = nil + file_spark_connect_expressions_proto_depIdxs = nil +} diff --git a/internal/generated/relations.pb.go b/internal/generated/relations.pb.go new file mode 100644 index 0000000..fb2db27 --- /dev/null +++ b/internal/generated/relations.pb.go @@ -0,0 +1,6655 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/relations.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Join_JoinType int32 + +const ( + Join_JOIN_TYPE_UNSPECIFIED Join_JoinType = 0 + Join_JOIN_TYPE_INNER Join_JoinType = 1 + Join_JOIN_TYPE_FULL_OUTER Join_JoinType = 2 + Join_JOIN_TYPE_LEFT_OUTER Join_JoinType = 3 + Join_JOIN_TYPE_RIGHT_OUTER Join_JoinType = 4 + Join_JOIN_TYPE_LEFT_ANTI Join_JoinType = 5 + Join_JOIN_TYPE_LEFT_SEMI Join_JoinType = 6 + Join_JOIN_TYPE_CROSS Join_JoinType = 7 +) + +// Enum value maps for Join_JoinType. +var ( + Join_JoinType_name = map[int32]string{ + 0: "JOIN_TYPE_UNSPECIFIED", + 1: "JOIN_TYPE_INNER", + 2: "JOIN_TYPE_FULL_OUTER", + 3: "JOIN_TYPE_LEFT_OUTER", + 4: "JOIN_TYPE_RIGHT_OUTER", + 5: "JOIN_TYPE_LEFT_ANTI", + 6: "JOIN_TYPE_LEFT_SEMI", + 7: "JOIN_TYPE_CROSS", + } + Join_JoinType_value = map[string]int32{ + "JOIN_TYPE_UNSPECIFIED": 0, + "JOIN_TYPE_INNER": 1, + "JOIN_TYPE_FULL_OUTER": 2, + "JOIN_TYPE_LEFT_OUTER": 3, + "JOIN_TYPE_RIGHT_OUTER": 4, + "JOIN_TYPE_LEFT_ANTI": 5, + "JOIN_TYPE_LEFT_SEMI": 6, + "JOIN_TYPE_CROSS": 7, + } +) + +func (x Join_JoinType) Enum() *Join_JoinType { + p := new(Join_JoinType) + *p = x + return p +} + +func (x Join_JoinType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Join_JoinType) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_relations_proto_enumTypes[0].Descriptor() +} + +func (Join_JoinType) Type() protoreflect.EnumType { + return &file_spark_connect_relations_proto_enumTypes[0] +} + +func (x Join_JoinType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Join_JoinType.Descriptor instead. +func (Join_JoinType) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{7, 0} +} + +type SetOperation_SetOpType int32 + +const ( + SetOperation_SET_OP_TYPE_UNSPECIFIED SetOperation_SetOpType = 0 + SetOperation_SET_OP_TYPE_INTERSECT SetOperation_SetOpType = 1 + SetOperation_SET_OP_TYPE_UNION SetOperation_SetOpType = 2 + SetOperation_SET_OP_TYPE_EXCEPT SetOperation_SetOpType = 3 +) + +// Enum value maps for SetOperation_SetOpType. +var ( + SetOperation_SetOpType_name = map[int32]string{ + 0: "SET_OP_TYPE_UNSPECIFIED", + 1: "SET_OP_TYPE_INTERSECT", + 2: "SET_OP_TYPE_UNION", + 3: "SET_OP_TYPE_EXCEPT", + } + SetOperation_SetOpType_value = map[string]int32{ + "SET_OP_TYPE_UNSPECIFIED": 0, + "SET_OP_TYPE_INTERSECT": 1, + "SET_OP_TYPE_UNION": 2, + "SET_OP_TYPE_EXCEPT": 3, + } +) + +func (x SetOperation_SetOpType) Enum() *SetOperation_SetOpType { + p := new(SetOperation_SetOpType) + *p = x + return p +} + +func (x SetOperation_SetOpType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SetOperation_SetOpType) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_relations_proto_enumTypes[1].Descriptor() +} + +func (SetOperation_SetOpType) Type() protoreflect.EnumType { + return &file_spark_connect_relations_proto_enumTypes[1] +} + +func (x SetOperation_SetOpType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SetOperation_SetOpType.Descriptor instead. +func (SetOperation_SetOpType) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{8, 0} +} + +type Aggregate_GroupType int32 + +const ( + Aggregate_GROUP_TYPE_UNSPECIFIED Aggregate_GroupType = 0 + Aggregate_GROUP_TYPE_GROUPBY Aggregate_GroupType = 1 + Aggregate_GROUP_TYPE_ROLLUP Aggregate_GroupType = 2 + Aggregate_GROUP_TYPE_CUBE Aggregate_GroupType = 3 + Aggregate_GROUP_TYPE_PIVOT Aggregate_GroupType = 4 +) + +// Enum value maps for Aggregate_GroupType. +var ( + Aggregate_GroupType_name = map[int32]string{ + 0: "GROUP_TYPE_UNSPECIFIED", + 1: "GROUP_TYPE_GROUPBY", + 2: "GROUP_TYPE_ROLLUP", + 3: "GROUP_TYPE_CUBE", + 4: "GROUP_TYPE_PIVOT", + } + Aggregate_GroupType_value = map[string]int32{ + "GROUP_TYPE_UNSPECIFIED": 0, + "GROUP_TYPE_GROUPBY": 1, + "GROUP_TYPE_ROLLUP": 2, + "GROUP_TYPE_CUBE": 3, + "GROUP_TYPE_PIVOT": 4, + } +) + +func (x Aggregate_GroupType) Enum() *Aggregate_GroupType { + p := new(Aggregate_GroupType) + *p = x + return p +} + +func (x Aggregate_GroupType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Aggregate_GroupType) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_relations_proto_enumTypes[2].Descriptor() +} + +func (Aggregate_GroupType) Type() protoreflect.EnumType { + return &file_spark_connect_relations_proto_enumTypes[2] +} + +func (x Aggregate_GroupType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Aggregate_GroupType.Descriptor instead. +func (Aggregate_GroupType) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{12, 0} +} + +type Parse_ParseFormat int32 + +const ( + Parse_PARSE_FORMAT_UNSPECIFIED Parse_ParseFormat = 0 + Parse_PARSE_FORMAT_CSV Parse_ParseFormat = 1 + Parse_PARSE_FORMAT_JSON Parse_ParseFormat = 2 +) + +// Enum value maps for Parse_ParseFormat. +var ( + Parse_ParseFormat_name = map[int32]string{ + 0: "PARSE_FORMAT_UNSPECIFIED", + 1: "PARSE_FORMAT_CSV", + 2: "PARSE_FORMAT_JSON", + } + Parse_ParseFormat_value = map[string]int32{ + "PARSE_FORMAT_UNSPECIFIED": 0, + "PARSE_FORMAT_CSV": 1, + "PARSE_FORMAT_JSON": 2, + } +) + +func (x Parse_ParseFormat) Enum() *Parse_ParseFormat { + p := new(Parse_ParseFormat) + *p = x + return p +} + +func (x Parse_ParseFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Parse_ParseFormat) Descriptor() protoreflect.EnumDescriptor { + return file_spark_connect_relations_proto_enumTypes[3].Descriptor() +} + +func (Parse_ParseFormat) Type() protoreflect.EnumType { + return &file_spark_connect_relations_proto_enumTypes[3] +} + +func (x Parse_ParseFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Parse_ParseFormat.Descriptor instead. +func (Parse_ParseFormat) EnumDescriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{48, 0} +} + +// The main [[Relation]] type. Fundamentally, a relation is a typed container +// that has exactly one explicit relation type set. +// +// When adding new relation types, they have to be registered here. +type Relation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Common *RelationCommon `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` + // Types that are assignable to RelType: + // + // *Relation_Read + // *Relation_Project + // *Relation_Filter + // *Relation_Join + // *Relation_SetOp + // *Relation_Sort + // *Relation_Limit + // *Relation_Aggregate + // *Relation_Sql + // *Relation_LocalRelation + // *Relation_Sample + // *Relation_Offset + // *Relation_Deduplicate + // *Relation_Range + // *Relation_SubqueryAlias + // *Relation_Repartition + // *Relation_ToDf + // *Relation_WithColumnsRenamed + // *Relation_ShowString + // *Relation_Drop + // *Relation_Tail + // *Relation_WithColumns + // *Relation_Hint + // *Relation_Unpivot + // *Relation_ToSchema + // *Relation_RepartitionByExpression + // *Relation_MapPartitions + // *Relation_CollectMetrics + // *Relation_Parse + // *Relation_GroupMap + // *Relation_CoGroupMap + // *Relation_WithWatermark + // *Relation_ApplyInPandasWithState + // *Relation_HtmlString + // *Relation_CachedLocalRelation + // *Relation_FillNa + // *Relation_DropNa + // *Relation_Replace + // *Relation_Summary + // *Relation_Crosstab + // *Relation_Describe + // *Relation_Cov + // *Relation_Corr + // *Relation_ApproxQuantile + // *Relation_FreqItems + // *Relation_SampleBy + // *Relation_Catalog + // *Relation_Extension + // *Relation_Unknown + RelType isRelation_RelType `protobuf_oneof:"rel_type"` +} + +func (x *Relation) Reset() { + *x = Relation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Relation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Relation) ProtoMessage() {} + +func (x *Relation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Relation.ProtoReflect.Descriptor instead. +func (*Relation) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{0} +} + +func (x *Relation) GetCommon() *RelationCommon { + if x != nil { + return x.Common + } + return nil +} + +func (m *Relation) GetRelType() isRelation_RelType { + if m != nil { + return m.RelType + } + return nil +} + +func (x *Relation) GetRead() *Read { + if x, ok := x.GetRelType().(*Relation_Read); ok { + return x.Read + } + return nil +} + +func (x *Relation) GetProject() *Project { + if x, ok := x.GetRelType().(*Relation_Project); ok { + return x.Project + } + return nil +} + +func (x *Relation) GetFilter() *Filter { + if x, ok := x.GetRelType().(*Relation_Filter); ok { + return x.Filter + } + return nil +} + +func (x *Relation) GetJoin() *Join { + if x, ok := x.GetRelType().(*Relation_Join); ok { + return x.Join + } + return nil +} + +func (x *Relation) GetSetOp() *SetOperation { + if x, ok := x.GetRelType().(*Relation_SetOp); ok { + return x.SetOp + } + return nil +} + +func (x *Relation) GetSort() *Sort { + if x, ok := x.GetRelType().(*Relation_Sort); ok { + return x.Sort + } + return nil +} + +func (x *Relation) GetLimit() *Limit { + if x, ok := x.GetRelType().(*Relation_Limit); ok { + return x.Limit + } + return nil +} + +func (x *Relation) GetAggregate() *Aggregate { + if x, ok := x.GetRelType().(*Relation_Aggregate); ok { + return x.Aggregate + } + return nil +} + +func (x *Relation) GetSql() *SQL { + if x, ok := x.GetRelType().(*Relation_Sql); ok { + return x.Sql + } + return nil +} + +func (x *Relation) GetLocalRelation() *LocalRelation { + if x, ok := x.GetRelType().(*Relation_LocalRelation); ok { + return x.LocalRelation + } + return nil +} + +func (x *Relation) GetSample() *Sample { + if x, ok := x.GetRelType().(*Relation_Sample); ok { + return x.Sample + } + return nil +} + +func (x *Relation) GetOffset() *Offset { + if x, ok := x.GetRelType().(*Relation_Offset); ok { + return x.Offset + } + return nil +} + +func (x *Relation) GetDeduplicate() *Deduplicate { + if x, ok := x.GetRelType().(*Relation_Deduplicate); ok { + return x.Deduplicate + } + return nil +} + +func (x *Relation) GetRange() *Range { + if x, ok := x.GetRelType().(*Relation_Range); ok { + return x.Range + } + return nil +} + +func (x *Relation) GetSubqueryAlias() *SubqueryAlias { + if x, ok := x.GetRelType().(*Relation_SubqueryAlias); ok { + return x.SubqueryAlias + } + return nil +} + +func (x *Relation) GetRepartition() *Repartition { + if x, ok := x.GetRelType().(*Relation_Repartition); ok { + return x.Repartition + } + return nil +} + +func (x *Relation) GetToDf() *ToDF { + if x, ok := x.GetRelType().(*Relation_ToDf); ok { + return x.ToDf + } + return nil +} + +func (x *Relation) GetWithColumnsRenamed() *WithColumnsRenamed { + if x, ok := x.GetRelType().(*Relation_WithColumnsRenamed); ok { + return x.WithColumnsRenamed + } + return nil +} + +func (x *Relation) GetShowString() *ShowString { + if x, ok := x.GetRelType().(*Relation_ShowString); ok { + return x.ShowString + } + return nil +} + +func (x *Relation) GetDrop() *Drop { + if x, ok := x.GetRelType().(*Relation_Drop); ok { + return x.Drop + } + return nil +} + +func (x *Relation) GetTail() *Tail { + if x, ok := x.GetRelType().(*Relation_Tail); ok { + return x.Tail + } + return nil +} + +func (x *Relation) GetWithColumns() *WithColumns { + if x, ok := x.GetRelType().(*Relation_WithColumns); ok { + return x.WithColumns + } + return nil +} + +func (x *Relation) GetHint() *Hint { + if x, ok := x.GetRelType().(*Relation_Hint); ok { + return x.Hint + } + return nil +} + +func (x *Relation) GetUnpivot() *Unpivot { + if x, ok := x.GetRelType().(*Relation_Unpivot); ok { + return x.Unpivot + } + return nil +} + +func (x *Relation) GetToSchema() *ToSchema { + if x, ok := x.GetRelType().(*Relation_ToSchema); ok { + return x.ToSchema + } + return nil +} + +func (x *Relation) GetRepartitionByExpression() *RepartitionByExpression { + if x, ok := x.GetRelType().(*Relation_RepartitionByExpression); ok { + return x.RepartitionByExpression + } + return nil +} + +func (x *Relation) GetMapPartitions() *MapPartitions { + if x, ok := x.GetRelType().(*Relation_MapPartitions); ok { + return x.MapPartitions + } + return nil +} + +func (x *Relation) GetCollectMetrics() *CollectMetrics { + if x, ok := x.GetRelType().(*Relation_CollectMetrics); ok { + return x.CollectMetrics + } + return nil +} + +func (x *Relation) GetParse() *Parse { + if x, ok := x.GetRelType().(*Relation_Parse); ok { + return x.Parse + } + return nil +} + +func (x *Relation) GetGroupMap() *GroupMap { + if x, ok := x.GetRelType().(*Relation_GroupMap); ok { + return x.GroupMap + } + return nil +} + +func (x *Relation) GetCoGroupMap() *CoGroupMap { + if x, ok := x.GetRelType().(*Relation_CoGroupMap); ok { + return x.CoGroupMap + } + return nil +} + +func (x *Relation) GetWithWatermark() *WithWatermark { + if x, ok := x.GetRelType().(*Relation_WithWatermark); ok { + return x.WithWatermark + } + return nil +} + +func (x *Relation) GetApplyInPandasWithState() *ApplyInPandasWithState { + if x, ok := x.GetRelType().(*Relation_ApplyInPandasWithState); ok { + return x.ApplyInPandasWithState + } + return nil +} + +func (x *Relation) GetHtmlString() *HtmlString { + if x, ok := x.GetRelType().(*Relation_HtmlString); ok { + return x.HtmlString + } + return nil +} + +func (x *Relation) GetCachedLocalRelation() *CachedLocalRelation { + if x, ok := x.GetRelType().(*Relation_CachedLocalRelation); ok { + return x.CachedLocalRelation + } + return nil +} + +func (x *Relation) GetFillNa() *NAFill { + if x, ok := x.GetRelType().(*Relation_FillNa); ok { + return x.FillNa + } + return nil +} + +func (x *Relation) GetDropNa() *NADrop { + if x, ok := x.GetRelType().(*Relation_DropNa); ok { + return x.DropNa + } + return nil +} + +func (x *Relation) GetReplace() *NAReplace { + if x, ok := x.GetRelType().(*Relation_Replace); ok { + return x.Replace + } + return nil +} + +func (x *Relation) GetSummary() *StatSummary { + if x, ok := x.GetRelType().(*Relation_Summary); ok { + return x.Summary + } + return nil +} + +func (x *Relation) GetCrosstab() *StatCrosstab { + if x, ok := x.GetRelType().(*Relation_Crosstab); ok { + return x.Crosstab + } + return nil +} + +func (x *Relation) GetDescribe() *StatDescribe { + if x, ok := x.GetRelType().(*Relation_Describe); ok { + return x.Describe + } + return nil +} + +func (x *Relation) GetCov() *StatCov { + if x, ok := x.GetRelType().(*Relation_Cov); ok { + return x.Cov + } + return nil +} + +func (x *Relation) GetCorr() *StatCorr { + if x, ok := x.GetRelType().(*Relation_Corr); ok { + return x.Corr + } + return nil +} + +func (x *Relation) GetApproxQuantile() *StatApproxQuantile { + if x, ok := x.GetRelType().(*Relation_ApproxQuantile); ok { + return x.ApproxQuantile + } + return nil +} + +func (x *Relation) GetFreqItems() *StatFreqItems { + if x, ok := x.GetRelType().(*Relation_FreqItems); ok { + return x.FreqItems + } + return nil +} + +func (x *Relation) GetSampleBy() *StatSampleBy { + if x, ok := x.GetRelType().(*Relation_SampleBy); ok { + return x.SampleBy + } + return nil +} + +func (x *Relation) GetCatalog() *Catalog { + if x, ok := x.GetRelType().(*Relation_Catalog); ok { + return x.Catalog + } + return nil +} + +func (x *Relation) GetExtension() *anypb.Any { + if x, ok := x.GetRelType().(*Relation_Extension); ok { + return x.Extension + } + return nil +} + +func (x *Relation) GetUnknown() *Unknown { + if x, ok := x.GetRelType().(*Relation_Unknown); ok { + return x.Unknown + } + return nil +} + +type isRelation_RelType interface { + isRelation_RelType() +} + +type Relation_Read struct { + Read *Read `protobuf:"bytes,2,opt,name=read,proto3,oneof"` +} + +type Relation_Project struct { + Project *Project `protobuf:"bytes,3,opt,name=project,proto3,oneof"` +} + +type Relation_Filter struct { + Filter *Filter `protobuf:"bytes,4,opt,name=filter,proto3,oneof"` +} + +type Relation_Join struct { + Join *Join `protobuf:"bytes,5,opt,name=join,proto3,oneof"` +} + +type Relation_SetOp struct { + SetOp *SetOperation `protobuf:"bytes,6,opt,name=set_op,json=setOp,proto3,oneof"` +} + +type Relation_Sort struct { + Sort *Sort `protobuf:"bytes,7,opt,name=sort,proto3,oneof"` +} + +type Relation_Limit struct { + Limit *Limit `protobuf:"bytes,8,opt,name=limit,proto3,oneof"` +} + +type Relation_Aggregate struct { + Aggregate *Aggregate `protobuf:"bytes,9,opt,name=aggregate,proto3,oneof"` +} + +type Relation_Sql struct { + Sql *SQL `protobuf:"bytes,10,opt,name=sql,proto3,oneof"` +} + +type Relation_LocalRelation struct { + LocalRelation *LocalRelation `protobuf:"bytes,11,opt,name=local_relation,json=localRelation,proto3,oneof"` +} + +type Relation_Sample struct { + Sample *Sample `protobuf:"bytes,12,opt,name=sample,proto3,oneof"` +} + +type Relation_Offset struct { + Offset *Offset `protobuf:"bytes,13,opt,name=offset,proto3,oneof"` +} + +type Relation_Deduplicate struct { + Deduplicate *Deduplicate `protobuf:"bytes,14,opt,name=deduplicate,proto3,oneof"` +} + +type Relation_Range struct { + Range *Range `protobuf:"bytes,15,opt,name=range,proto3,oneof"` +} + +type Relation_SubqueryAlias struct { + SubqueryAlias *SubqueryAlias `protobuf:"bytes,16,opt,name=subquery_alias,json=subqueryAlias,proto3,oneof"` +} + +type Relation_Repartition struct { + Repartition *Repartition `protobuf:"bytes,17,opt,name=repartition,proto3,oneof"` +} + +type Relation_ToDf struct { + ToDf *ToDF `protobuf:"bytes,18,opt,name=to_df,json=toDf,proto3,oneof"` +} + +type Relation_WithColumnsRenamed struct { + WithColumnsRenamed *WithColumnsRenamed `protobuf:"bytes,19,opt,name=with_columns_renamed,json=withColumnsRenamed,proto3,oneof"` +} + +type Relation_ShowString struct { + ShowString *ShowString `protobuf:"bytes,20,opt,name=show_string,json=showString,proto3,oneof"` +} + +type Relation_Drop struct { + Drop *Drop `protobuf:"bytes,21,opt,name=drop,proto3,oneof"` +} + +type Relation_Tail struct { + Tail *Tail `protobuf:"bytes,22,opt,name=tail,proto3,oneof"` +} + +type Relation_WithColumns struct { + WithColumns *WithColumns `protobuf:"bytes,23,opt,name=with_columns,json=withColumns,proto3,oneof"` +} + +type Relation_Hint struct { + Hint *Hint `protobuf:"bytes,24,opt,name=hint,proto3,oneof"` +} + +type Relation_Unpivot struct { + Unpivot *Unpivot `protobuf:"bytes,25,opt,name=unpivot,proto3,oneof"` +} + +type Relation_ToSchema struct { + ToSchema *ToSchema `protobuf:"bytes,26,opt,name=to_schema,json=toSchema,proto3,oneof"` +} + +type Relation_RepartitionByExpression struct { + RepartitionByExpression *RepartitionByExpression `protobuf:"bytes,27,opt,name=repartition_by_expression,json=repartitionByExpression,proto3,oneof"` +} + +type Relation_MapPartitions struct { + MapPartitions *MapPartitions `protobuf:"bytes,28,opt,name=map_partitions,json=mapPartitions,proto3,oneof"` +} + +type Relation_CollectMetrics struct { + CollectMetrics *CollectMetrics `protobuf:"bytes,29,opt,name=collect_metrics,json=collectMetrics,proto3,oneof"` +} + +type Relation_Parse struct { + Parse *Parse `protobuf:"bytes,30,opt,name=parse,proto3,oneof"` +} + +type Relation_GroupMap struct { + GroupMap *GroupMap `protobuf:"bytes,31,opt,name=group_map,json=groupMap,proto3,oneof"` +} + +type Relation_CoGroupMap struct { + CoGroupMap *CoGroupMap `protobuf:"bytes,32,opt,name=co_group_map,json=coGroupMap,proto3,oneof"` +} + +type Relation_WithWatermark struct { + WithWatermark *WithWatermark `protobuf:"bytes,33,opt,name=with_watermark,json=withWatermark,proto3,oneof"` +} + +type Relation_ApplyInPandasWithState struct { + ApplyInPandasWithState *ApplyInPandasWithState `protobuf:"bytes,34,opt,name=apply_in_pandas_with_state,json=applyInPandasWithState,proto3,oneof"` +} + +type Relation_HtmlString struct { + HtmlString *HtmlString `protobuf:"bytes,35,opt,name=html_string,json=htmlString,proto3,oneof"` +} + +type Relation_CachedLocalRelation struct { + CachedLocalRelation *CachedLocalRelation `protobuf:"bytes,36,opt,name=cached_local_relation,json=cachedLocalRelation,proto3,oneof"` +} + +type Relation_FillNa struct { + // NA functions + FillNa *NAFill `protobuf:"bytes,90,opt,name=fill_na,json=fillNa,proto3,oneof"` +} + +type Relation_DropNa struct { + DropNa *NADrop `protobuf:"bytes,91,opt,name=drop_na,json=dropNa,proto3,oneof"` +} + +type Relation_Replace struct { + Replace *NAReplace `protobuf:"bytes,92,opt,name=replace,proto3,oneof"` +} + +type Relation_Summary struct { + // stat functions + Summary *StatSummary `protobuf:"bytes,100,opt,name=summary,proto3,oneof"` +} + +type Relation_Crosstab struct { + Crosstab *StatCrosstab `protobuf:"bytes,101,opt,name=crosstab,proto3,oneof"` +} + +type Relation_Describe struct { + Describe *StatDescribe `protobuf:"bytes,102,opt,name=describe,proto3,oneof"` +} + +type Relation_Cov struct { + Cov *StatCov `protobuf:"bytes,103,opt,name=cov,proto3,oneof"` +} + +type Relation_Corr struct { + Corr *StatCorr `protobuf:"bytes,104,opt,name=corr,proto3,oneof"` +} + +type Relation_ApproxQuantile struct { + ApproxQuantile *StatApproxQuantile `protobuf:"bytes,105,opt,name=approx_quantile,json=approxQuantile,proto3,oneof"` +} + +type Relation_FreqItems struct { + FreqItems *StatFreqItems `protobuf:"bytes,106,opt,name=freq_items,json=freqItems,proto3,oneof"` +} + +type Relation_SampleBy struct { + SampleBy *StatSampleBy `protobuf:"bytes,107,opt,name=sample_by,json=sampleBy,proto3,oneof"` +} + +type Relation_Catalog struct { + // Catalog API (experimental / unstable) + Catalog *Catalog `protobuf:"bytes,200,opt,name=catalog,proto3,oneof"` +} + +type Relation_Extension struct { + // This field is used to mark extensions to the protocol. When plugins generate arbitrary + // relations they can add them here. During the planning the correct resolution is done. + Extension *anypb.Any `protobuf:"bytes,998,opt,name=extension,proto3,oneof"` +} + +type Relation_Unknown struct { + Unknown *Unknown `protobuf:"bytes,999,opt,name=unknown,proto3,oneof"` +} + +func (*Relation_Read) isRelation_RelType() {} + +func (*Relation_Project) isRelation_RelType() {} + +func (*Relation_Filter) isRelation_RelType() {} + +func (*Relation_Join) isRelation_RelType() {} + +func (*Relation_SetOp) isRelation_RelType() {} + +func (*Relation_Sort) isRelation_RelType() {} + +func (*Relation_Limit) isRelation_RelType() {} + +func (*Relation_Aggregate) isRelation_RelType() {} + +func (*Relation_Sql) isRelation_RelType() {} + +func (*Relation_LocalRelation) isRelation_RelType() {} + +func (*Relation_Sample) isRelation_RelType() {} + +func (*Relation_Offset) isRelation_RelType() {} + +func (*Relation_Deduplicate) isRelation_RelType() {} + +func (*Relation_Range) isRelation_RelType() {} + +func (*Relation_SubqueryAlias) isRelation_RelType() {} + +func (*Relation_Repartition) isRelation_RelType() {} + +func (*Relation_ToDf) isRelation_RelType() {} + +func (*Relation_WithColumnsRenamed) isRelation_RelType() {} + +func (*Relation_ShowString) isRelation_RelType() {} + +func (*Relation_Drop) isRelation_RelType() {} + +func (*Relation_Tail) isRelation_RelType() {} + +func (*Relation_WithColumns) isRelation_RelType() {} + +func (*Relation_Hint) isRelation_RelType() {} + +func (*Relation_Unpivot) isRelation_RelType() {} + +func (*Relation_ToSchema) isRelation_RelType() {} + +func (*Relation_RepartitionByExpression) isRelation_RelType() {} + +func (*Relation_MapPartitions) isRelation_RelType() {} + +func (*Relation_CollectMetrics) isRelation_RelType() {} + +func (*Relation_Parse) isRelation_RelType() {} + +func (*Relation_GroupMap) isRelation_RelType() {} + +func (*Relation_CoGroupMap) isRelation_RelType() {} + +func (*Relation_WithWatermark) isRelation_RelType() {} + +func (*Relation_ApplyInPandasWithState) isRelation_RelType() {} + +func (*Relation_HtmlString) isRelation_RelType() {} + +func (*Relation_CachedLocalRelation) isRelation_RelType() {} + +func (*Relation_FillNa) isRelation_RelType() {} + +func (*Relation_DropNa) isRelation_RelType() {} + +func (*Relation_Replace) isRelation_RelType() {} + +func (*Relation_Summary) isRelation_RelType() {} + +func (*Relation_Crosstab) isRelation_RelType() {} + +func (*Relation_Describe) isRelation_RelType() {} + +func (*Relation_Cov) isRelation_RelType() {} + +func (*Relation_Corr) isRelation_RelType() {} + +func (*Relation_ApproxQuantile) isRelation_RelType() {} + +func (*Relation_FreqItems) isRelation_RelType() {} + +func (*Relation_SampleBy) isRelation_RelType() {} + +func (*Relation_Catalog) isRelation_RelType() {} + +func (*Relation_Extension) isRelation_RelType() {} + +func (*Relation_Unknown) isRelation_RelType() {} + +// Used for testing purposes only. +type Unknown struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Unknown) Reset() { + *x = Unknown{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Unknown) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Unknown) ProtoMessage() {} + +func (x *Unknown) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Unknown.ProtoReflect.Descriptor instead. +func (*Unknown) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{1} +} + +// Common metadata of all relations. +type RelationCommon struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Shared relation metadata. + SourceInfo string `protobuf:"bytes,1,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` + // (Optional) A per-client globally unique id for a given connect plan. + PlanId *int64 `protobuf:"varint,2,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` +} + +func (x *RelationCommon) Reset() { + *x = RelationCommon{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RelationCommon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RelationCommon) ProtoMessage() {} + +func (x *RelationCommon) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RelationCommon.ProtoReflect.Descriptor instead. +func (*RelationCommon) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{2} +} + +func (x *RelationCommon) GetSourceInfo() string { + if x != nil { + return x.SourceInfo + } + return "" +} + +func (x *RelationCommon) GetPlanId() int64 { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return 0 +} + +// Relation that uses a SQL query to generate the output. +type SQL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The SQL query. + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + // (Optional) A map of parameter names to literal expressions. + Args map[string]*Expression_Literal `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SQL) Reset() { + *x = SQL{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SQL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SQL) ProtoMessage() {} + +func (x *SQL) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SQL.ProtoReflect.Descriptor instead. +func (*SQL) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{3} +} + +func (x *SQL) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *SQL) GetArgs() map[string]*Expression_Literal { + if x != nil { + return x.Args + } + return nil +} + +// Relation that reads from a file / table or other data source. Does not have additional +// inputs. +type Read struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ReadType: + // + // *Read_NamedTable_ + // *Read_DataSource_ + ReadType isRead_ReadType `protobuf_oneof:"read_type"` + // (Optional) Indicates if this is a streaming read. + IsStreaming bool `protobuf:"varint,3,opt,name=is_streaming,json=isStreaming,proto3" json:"is_streaming,omitempty"` +} + +func (x *Read) Reset() { + *x = Read{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Read) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Read) ProtoMessage() {} + +func (x *Read) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Read.ProtoReflect.Descriptor instead. +func (*Read) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{4} +} + +func (m *Read) GetReadType() isRead_ReadType { + if m != nil { + return m.ReadType + } + return nil +} + +func (x *Read) GetNamedTable() *Read_NamedTable { + if x, ok := x.GetReadType().(*Read_NamedTable_); ok { + return x.NamedTable + } + return nil +} + +func (x *Read) GetDataSource() *Read_DataSource { + if x, ok := x.GetReadType().(*Read_DataSource_); ok { + return x.DataSource + } + return nil +} + +func (x *Read) GetIsStreaming() bool { + if x != nil { + return x.IsStreaming + } + return false +} + +type isRead_ReadType interface { + isRead_ReadType() +} + +type Read_NamedTable_ struct { + NamedTable *Read_NamedTable `protobuf:"bytes,1,opt,name=named_table,json=namedTable,proto3,oneof"` +} + +type Read_DataSource_ struct { + DataSource *Read_DataSource `protobuf:"bytes,2,opt,name=data_source,json=dataSource,proto3,oneof"` +} + +func (*Read_NamedTable_) isRead_ReadType() {} + +func (*Read_DataSource_) isRead_ReadType() {} + +// Projection of a bag of expressions for a given input relation. +// +// The input relation must be specified. +// The projected expression can be an arbitrary expression. +type Project struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) Input relation is optional for Project. + // + // For example, `SELECT ABS(-1)` is valid plan without an input plan. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) A Project requires at least one expression. + Expressions []*Expression `protobuf:"bytes,3,rep,name=expressions,proto3" json:"expressions,omitempty"` +} + +func (x *Project) Reset() { + *x = Project{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Project) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Project) ProtoMessage() {} + +func (x *Project) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Project.ProtoReflect.Descriptor instead. +func (*Project) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{5} +} + +func (x *Project) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Project) GetExpressions() []*Expression { + if x != nil { + return x.Expressions + } + return nil +} + +// Relation that applies a boolean expression `condition` on each row of `input` to produce +// the output result. +type Filter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a Filter. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) A Filter must have a condition expression. + Condition *Expression `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"` +} + +func (x *Filter) Reset() { + *x = Filter{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filter) ProtoMessage() {} + +func (x *Filter) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Filter.ProtoReflect.Descriptor instead. +func (*Filter) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{6} +} + +func (x *Filter) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Filter) GetCondition() *Expression { + if x != nil { + return x.Condition + } + return nil +} + +// Relation of type [[Join]]. +// +// `left` and `right` must be present. +type Join struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Left input relation for a Join. + Left *Relation `protobuf:"bytes,1,opt,name=left,proto3" json:"left,omitempty"` + // (Required) Right input relation for a Join. + Right *Relation `protobuf:"bytes,2,opt,name=right,proto3" json:"right,omitempty"` + // (Optional) The join condition. Could be unset when `using_columns` is utilized. + // + // This field does not co-exist with using_columns. + JoinCondition *Expression `protobuf:"bytes,3,opt,name=join_condition,json=joinCondition,proto3" json:"join_condition,omitempty"` + // (Required) The join type. + JoinType Join_JoinType `protobuf:"varint,4,opt,name=join_type,json=joinType,proto3,enum=spark.connect.Join_JoinType" json:"join_type,omitempty"` + // Optional. using_columns provides a list of columns that should present on both sides of + // the join inputs that this Join will join on. For example A JOIN B USING col_name is + // equivalent to A JOIN B on A.col_name = B.col_name. + // + // This field does not co-exist with join_condition. + UsingColumns []string `protobuf:"bytes,5,rep,name=using_columns,json=usingColumns,proto3" json:"using_columns,omitempty"` +} + +func (x *Join) Reset() { + *x = Join{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Join) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Join) ProtoMessage() {} + +func (x *Join) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Join.ProtoReflect.Descriptor instead. +func (*Join) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{7} +} + +func (x *Join) GetLeft() *Relation { + if x != nil { + return x.Left + } + return nil +} + +func (x *Join) GetRight() *Relation { + if x != nil { + return x.Right + } + return nil +} + +func (x *Join) GetJoinCondition() *Expression { + if x != nil { + return x.JoinCondition + } + return nil +} + +func (x *Join) GetJoinType() Join_JoinType { + if x != nil { + return x.JoinType + } + return Join_JOIN_TYPE_UNSPECIFIED +} + +func (x *Join) GetUsingColumns() []string { + if x != nil { + return x.UsingColumns + } + return nil +} + +// Relation of type [[SetOperation]] +type SetOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Left input relation for a Set operation. + LeftInput *Relation `protobuf:"bytes,1,opt,name=left_input,json=leftInput,proto3" json:"left_input,omitempty"` + // (Required) Right input relation for a Set operation. + RightInput *Relation `protobuf:"bytes,2,opt,name=right_input,json=rightInput,proto3" json:"right_input,omitempty"` + // (Required) The Set operation type. + SetOpType SetOperation_SetOpType `protobuf:"varint,3,opt,name=set_op_type,json=setOpType,proto3,enum=spark.connect.SetOperation_SetOpType" json:"set_op_type,omitempty"` + // (Optional) If to remove duplicate rows. + // + // True to preserve all results. + // False to remove duplicate rows. + IsAll *bool `protobuf:"varint,4,opt,name=is_all,json=isAll,proto3,oneof" json:"is_all,omitempty"` + // (Optional) If to perform the Set operation based on name resolution. + // + // Only UNION supports this option. + ByName *bool `protobuf:"varint,5,opt,name=by_name,json=byName,proto3,oneof" json:"by_name,omitempty"` + // (Optional) If to perform the Set operation and allow missing columns. + // + // Only UNION supports this option. + AllowMissingColumns *bool `protobuf:"varint,6,opt,name=allow_missing_columns,json=allowMissingColumns,proto3,oneof" json:"allow_missing_columns,omitempty"` +} + +func (x *SetOperation) Reset() { + *x = SetOperation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetOperation) ProtoMessage() {} + +func (x *SetOperation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetOperation.ProtoReflect.Descriptor instead. +func (*SetOperation) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{8} +} + +func (x *SetOperation) GetLeftInput() *Relation { + if x != nil { + return x.LeftInput + } + return nil +} + +func (x *SetOperation) GetRightInput() *Relation { + if x != nil { + return x.RightInput + } + return nil +} + +func (x *SetOperation) GetSetOpType() SetOperation_SetOpType { + if x != nil { + return x.SetOpType + } + return SetOperation_SET_OP_TYPE_UNSPECIFIED +} + +func (x *SetOperation) GetIsAll() bool { + if x != nil && x.IsAll != nil { + return *x.IsAll + } + return false +} + +func (x *SetOperation) GetByName() bool { + if x != nil && x.ByName != nil { + return *x.ByName + } + return false +} + +func (x *SetOperation) GetAllowMissingColumns() bool { + if x != nil && x.AllowMissingColumns != nil { + return *x.AllowMissingColumns + } + return false +} + +// Relation of type [[Limit]] that is used to `limit` rows from the input relation. +type Limit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a Limit. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) the limit. + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` +} + +func (x *Limit) Reset() { + *x = Limit{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Limit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Limit) ProtoMessage() {} + +func (x *Limit) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Limit.ProtoReflect.Descriptor instead. +func (*Limit) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{9} +} + +func (x *Limit) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Limit) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +// Relation of type [[Offset]] that is used to read rows staring from the `offset` on +// the input relation. +type Offset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for an Offset. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) the limit. + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` +} + +func (x *Offset) Reset() { + *x = Offset{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Offset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Offset) ProtoMessage() {} + +func (x *Offset) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Offset.ProtoReflect.Descriptor instead. +func (*Offset) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{10} +} + +func (x *Offset) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Offset) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +// Relation of type [[Tail]] that is used to fetch `limit` rows from the last of the input relation. +type Tail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for an Tail. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) the limit. + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` +} + +func (x *Tail) Reset() { + *x = Tail{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tail) ProtoMessage() {} + +func (x *Tail) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Tail.ProtoReflect.Descriptor instead. +func (*Tail) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{11} +} + +func (x *Tail) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Tail) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +// Relation of type [[Aggregate]]. +type Aggregate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a RelationalGroupedDataset. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) How the RelationalGroupedDataset was built. + GroupType Aggregate_GroupType `protobuf:"varint,2,opt,name=group_type,json=groupType,proto3,enum=spark.connect.Aggregate_GroupType" json:"group_type,omitempty"` + // (Required) Expressions for grouping keys + GroupingExpressions []*Expression `protobuf:"bytes,3,rep,name=grouping_expressions,json=groupingExpressions,proto3" json:"grouping_expressions,omitempty"` + // (Required) List of values that will be translated to columns in the output DataFrame. + AggregateExpressions []*Expression `protobuf:"bytes,4,rep,name=aggregate_expressions,json=aggregateExpressions,proto3" json:"aggregate_expressions,omitempty"` + // (Optional) Pivots a column of the current `DataFrame` and performs the specified aggregation. + Pivot *Aggregate_Pivot `protobuf:"bytes,5,opt,name=pivot,proto3" json:"pivot,omitempty"` +} + +func (x *Aggregate) Reset() { + *x = Aggregate{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Aggregate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Aggregate) ProtoMessage() {} + +func (x *Aggregate) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Aggregate.ProtoReflect.Descriptor instead. +func (*Aggregate) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{12} +} + +func (x *Aggregate) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Aggregate) GetGroupType() Aggregate_GroupType { + if x != nil { + return x.GroupType + } + return Aggregate_GROUP_TYPE_UNSPECIFIED +} + +func (x *Aggregate) GetGroupingExpressions() []*Expression { + if x != nil { + return x.GroupingExpressions + } + return nil +} + +func (x *Aggregate) GetAggregateExpressions() []*Expression { + if x != nil { + return x.AggregateExpressions + } + return nil +} + +func (x *Aggregate) GetPivot() *Aggregate_Pivot { + if x != nil { + return x.Pivot + } + return nil +} + +// Relation of type [[Sort]]. +type Sort struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a Sort. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The ordering expressions + Order []*Expression_SortOrder `protobuf:"bytes,2,rep,name=order,proto3" json:"order,omitempty"` + // (Optional) if this is a global sort. + IsGlobal *bool `protobuf:"varint,3,opt,name=is_global,json=isGlobal,proto3,oneof" json:"is_global,omitempty"` +} + +func (x *Sort) Reset() { + *x = Sort{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Sort) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sort) ProtoMessage() {} + +func (x *Sort) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Sort.ProtoReflect.Descriptor instead. +func (*Sort) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{13} +} + +func (x *Sort) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Sort) GetOrder() []*Expression_SortOrder { + if x != nil { + return x.Order + } + return nil +} + +func (x *Sort) GetIsGlobal() bool { + if x != nil && x.IsGlobal != nil { + return *x.IsGlobal + } + return false +} + +// Drop specified columns. +type Drop struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) columns to drop. + Columns []*Expression `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"` + // (Optional) names of columns to drop. + ColumnNames []string `protobuf:"bytes,3,rep,name=column_names,json=columnNames,proto3" json:"column_names,omitempty"` +} + +func (x *Drop) Reset() { + *x = Drop{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Drop) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Drop) ProtoMessage() {} + +func (x *Drop) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Drop.ProtoReflect.Descriptor instead. +func (*Drop) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{14} +} + +func (x *Drop) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Drop) GetColumns() []*Expression { + if x != nil { + return x.Columns + } + return nil +} + +func (x *Drop) GetColumnNames() []string { + if x != nil { + return x.ColumnNames + } + return nil +} + +// Relation of type [[Deduplicate]] which have duplicate rows removed, could consider either only +// the subset of columns or all the columns. +type Deduplicate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a Deduplicate. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) Deduplicate based on a list of column names. + // + // This field does not co-use with `all_columns_as_keys`. + ColumnNames []string `protobuf:"bytes,2,rep,name=column_names,json=columnNames,proto3" json:"column_names,omitempty"` + // (Optional) Deduplicate based on all the columns of the input relation. + // + // This field does not co-use with `column_names`. + AllColumnsAsKeys *bool `protobuf:"varint,3,opt,name=all_columns_as_keys,json=allColumnsAsKeys,proto3,oneof" json:"all_columns_as_keys,omitempty"` + // (Optional) Deduplicate within the time range of watermark. + WithinWatermark *bool `protobuf:"varint,4,opt,name=within_watermark,json=withinWatermark,proto3,oneof" json:"within_watermark,omitempty"` +} + +func (x *Deduplicate) Reset() { + *x = Deduplicate{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Deduplicate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Deduplicate) ProtoMessage() {} + +func (x *Deduplicate) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Deduplicate.ProtoReflect.Descriptor instead. +func (*Deduplicate) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{15} +} + +func (x *Deduplicate) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Deduplicate) GetColumnNames() []string { + if x != nil { + return x.ColumnNames + } + return nil +} + +func (x *Deduplicate) GetAllColumnsAsKeys() bool { + if x != nil && x.AllColumnsAsKeys != nil { + return *x.AllColumnsAsKeys + } + return false +} + +func (x *Deduplicate) GetWithinWatermark() bool { + if x != nil && x.WithinWatermark != nil { + return *x.WithinWatermark + } + return false +} + +// A relation that does not need to be qualified by name. +type LocalRelation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) Local collection data serialized into Arrow IPC streaming format which contains + // the schema of the data. + Data []byte `protobuf:"bytes,1,opt,name=data,proto3,oneof" json:"data,omitempty"` + // (Optional) The schema of local data. + // It should be either a DDL-formatted type string or a JSON string. + // + // The server side will update the column names and data types according to this schema. + // If the 'data' is not provided, then this schema will be required. + Schema *string `protobuf:"bytes,2,opt,name=schema,proto3,oneof" json:"schema,omitempty"` +} + +func (x *LocalRelation) Reset() { + *x = LocalRelation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LocalRelation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalRelation) ProtoMessage() {} + +func (x *LocalRelation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LocalRelation.ProtoReflect.Descriptor instead. +func (*LocalRelation) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{16} +} + +func (x *LocalRelation) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *LocalRelation) GetSchema() string { + if x != nil && x.Schema != nil { + return *x.Schema + } + return "" +} + +// A local relation that has been cached already. +type CachedLocalRelation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) An identifier of the user which created the local relation + UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"` + // (Required) An identifier of the Spark SQL session in which the user created the local relation. + SessionId string `protobuf:"bytes,2,opt,name=sessionId,proto3" json:"sessionId,omitempty"` + // (Required) A sha-256 hash of the serialized local relation in proto, see LocalRelation. + Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` +} + +func (x *CachedLocalRelation) Reset() { + *x = CachedLocalRelation{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CachedLocalRelation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CachedLocalRelation) ProtoMessage() {} + +func (x *CachedLocalRelation) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CachedLocalRelation.ProtoReflect.Descriptor instead. +func (*CachedLocalRelation) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{17} +} + +func (x *CachedLocalRelation) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *CachedLocalRelation) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *CachedLocalRelation) GetHash() string { + if x != nil { + return x.Hash + } + return "" +} + +// Relation of type [[Sample]] that samples a fraction of the dataset. +type Sample struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a Sample. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) lower bound. + LowerBound float64 `protobuf:"fixed64,2,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` + // (Required) upper bound. + UpperBound float64 `protobuf:"fixed64,3,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` + // (Optional) Whether to sample with replacement. + WithReplacement *bool `protobuf:"varint,4,opt,name=with_replacement,json=withReplacement,proto3,oneof" json:"with_replacement,omitempty"` + // (Optional) The random seed. + Seed *int64 `protobuf:"varint,5,opt,name=seed,proto3,oneof" json:"seed,omitempty"` + // (Required) Explicitly sort the underlying plan to make the ordering deterministic or cache it. + // This flag is true when invoking `dataframe.randomSplit` to randomly splits DataFrame with the + // provided weights. Otherwise, it is false. + DeterministicOrder bool `protobuf:"varint,6,opt,name=deterministic_order,json=deterministicOrder,proto3" json:"deterministic_order,omitempty"` +} + +func (x *Sample) Reset() { + *x = Sample{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Sample) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sample) ProtoMessage() {} + +func (x *Sample) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Sample.ProtoReflect.Descriptor instead. +func (*Sample) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{18} +} + +func (x *Sample) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Sample) GetLowerBound() float64 { + if x != nil { + return x.LowerBound + } + return 0 +} + +func (x *Sample) GetUpperBound() float64 { + if x != nil { + return x.UpperBound + } + return 0 +} + +func (x *Sample) GetWithReplacement() bool { + if x != nil && x.WithReplacement != nil { + return *x.WithReplacement + } + return false +} + +func (x *Sample) GetSeed() int64 { + if x != nil && x.Seed != nil { + return *x.Seed + } + return 0 +} + +func (x *Sample) GetDeterministicOrder() bool { + if x != nil { + return x.DeterministicOrder + } + return false +} + +// Relation of type [[Range]] that generates a sequence of integers. +type Range struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) Default value = 0 + Start *int64 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // (Required) + End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + // (Required) + Step int64 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` + // Optional. Default value is assigned by 1) SQL conf "spark.sql.leafNodeDefaultParallelism" if + // it is set, or 2) spark default parallelism. + NumPartitions *int32 `protobuf:"varint,4,opt,name=num_partitions,json=numPartitions,proto3,oneof" json:"num_partitions,omitempty"` +} + +func (x *Range) Reset() { + *x = Range{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Range) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Range) ProtoMessage() {} + +func (x *Range) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Range.ProtoReflect.Descriptor instead. +func (*Range) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{19} +} + +func (x *Range) GetStart() int64 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *Range) GetEnd() int64 { + if x != nil { + return x.End + } + return 0 +} + +func (x *Range) GetStep() int64 { + if x != nil { + return x.Step + } + return 0 +} + +func (x *Range) GetNumPartitions() int32 { + if x != nil && x.NumPartitions != nil { + return *x.NumPartitions + } + return 0 +} + +// Relation alias. +type SubqueryAlias struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation of SubqueryAlias. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The alias. + Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` + // (Optional) Qualifier of the alias. + Qualifier []string `protobuf:"bytes,3,rep,name=qualifier,proto3" json:"qualifier,omitempty"` +} + +func (x *SubqueryAlias) Reset() { + *x = SubqueryAlias{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubqueryAlias) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubqueryAlias) ProtoMessage() {} + +func (x *SubqueryAlias) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubqueryAlias.ProtoReflect.Descriptor instead. +func (*SubqueryAlias) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{20} +} + +func (x *SubqueryAlias) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *SubqueryAlias) GetAlias() string { + if x != nil { + return x.Alias + } + return "" +} + +func (x *SubqueryAlias) GetQualifier() []string { + if x != nil { + return x.Qualifier + } + return nil +} + +// Relation repartition. +type Repartition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation of Repartition. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Must be positive. + NumPartitions int32 `protobuf:"varint,2,opt,name=num_partitions,json=numPartitions,proto3" json:"num_partitions,omitempty"` + // (Optional) Default value is false. + Shuffle *bool `protobuf:"varint,3,opt,name=shuffle,proto3,oneof" json:"shuffle,omitempty"` +} + +func (x *Repartition) Reset() { + *x = Repartition{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Repartition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Repartition) ProtoMessage() {} + +func (x *Repartition) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Repartition.ProtoReflect.Descriptor instead. +func (*Repartition) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{21} +} + +func (x *Repartition) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Repartition) GetNumPartitions() int32 { + if x != nil { + return x.NumPartitions + } + return 0 +} + +func (x *Repartition) GetShuffle() bool { + if x != nil && x.Shuffle != nil { + return *x.Shuffle + } + return false +} + +// Compose the string representing rows for output. +// It will invoke 'Dataset.showString' to compute the results. +type ShowString struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Number of rows to show. + NumRows int32 `protobuf:"varint,2,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` + // (Required) If set to more than 0, truncates strings to + // `truncate` characters and all cells will be aligned right. + Truncate int32 `protobuf:"varint,3,opt,name=truncate,proto3" json:"truncate,omitempty"` + // (Required) If set to true, prints output rows vertically (one line per column value). + Vertical bool `protobuf:"varint,4,opt,name=vertical,proto3" json:"vertical,omitempty"` +} + +func (x *ShowString) Reset() { + *x = ShowString{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowString) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowString) ProtoMessage() {} + +func (x *ShowString) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ShowString.ProtoReflect.Descriptor instead. +func (*ShowString) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{22} +} + +func (x *ShowString) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *ShowString) GetNumRows() int32 { + if x != nil { + return x.NumRows + } + return 0 +} + +func (x *ShowString) GetTruncate() int32 { + if x != nil { + return x.Truncate + } + return 0 +} + +func (x *ShowString) GetVertical() bool { + if x != nil { + return x.Vertical + } + return false +} + +// Compose the string representing rows for output. +// It will invoke 'Dataset.htmlString' to compute the results. +type HtmlString struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Number of rows to show. + NumRows int32 `protobuf:"varint,2,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` + // (Required) If set to more than 0, truncates strings to + // `truncate` characters and all cells will be aligned right. + Truncate int32 `protobuf:"varint,3,opt,name=truncate,proto3" json:"truncate,omitempty"` +} + +func (x *HtmlString) Reset() { + *x = HtmlString{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HtmlString) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HtmlString) ProtoMessage() {} + +func (x *HtmlString) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HtmlString.ProtoReflect.Descriptor instead. +func (*HtmlString) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{23} +} + +func (x *HtmlString) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *HtmlString) GetNumRows() int32 { + if x != nil { + return x.NumRows + } + return 0 +} + +func (x *HtmlString) GetTruncate() int32 { + if x != nil { + return x.Truncate + } + return 0 +} + +// Computes specified statistics for numeric and string columns. +// It will invoke 'Dataset.summary' (same as 'StatFunctions.summary') +// to compute the results. +type StatSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) Statistics from to be computed. + // + // Available statistics are: + // + // count + // mean + // stddev + // min + // max + // arbitrary approximate percentiles specified as a percentage (e.g. 75%) + // count_distinct + // approx_count_distinct + // + // If no statistics are given, this function computes 'count', 'mean', 'stddev', 'min', + // 'approximate quartiles' (percentiles at 25%, 50%, and 75%), and 'max'. + Statistics []string `protobuf:"bytes,2,rep,name=statistics,proto3" json:"statistics,omitempty"` +} + +func (x *StatSummary) Reset() { + *x = StatSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatSummary) ProtoMessage() {} + +func (x *StatSummary) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatSummary.ProtoReflect.Descriptor instead. +func (*StatSummary) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{24} +} + +func (x *StatSummary) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatSummary) GetStatistics() []string { + if x != nil { + return x.Statistics + } + return nil +} + +// Computes basic statistics for numeric and string columns, including count, mean, stddev, min, +// and max. If no columns are given, this function computes statistics for all numerical or +// string columns. +type StatDescribe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) Columns to compute statistics on. + Cols []string `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` +} + +func (x *StatDescribe) Reset() { + *x = StatDescribe{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatDescribe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatDescribe) ProtoMessage() {} + +func (x *StatDescribe) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatDescribe.ProtoReflect.Descriptor instead. +func (*StatDescribe) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{25} +} + +func (x *StatDescribe) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatDescribe) GetCols() []string { + if x != nil { + return x.Cols + } + return nil +} + +// Computes a pair-wise frequency table of the given columns. Also known as a contingency table. +// It will invoke 'Dataset.stat.crosstab' (same as 'StatFunctions.crossTabulate') +// to compute the results. +type StatCrosstab struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The name of the first column. + // + // Distinct items will make the first item of each row. + Col1 string `protobuf:"bytes,2,opt,name=col1,proto3" json:"col1,omitempty"` + // (Required) The name of the second column. + // + // Distinct items will make the column names of the DataFrame. + Col2 string `protobuf:"bytes,3,opt,name=col2,proto3" json:"col2,omitempty"` +} + +func (x *StatCrosstab) Reset() { + *x = StatCrosstab{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatCrosstab) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatCrosstab) ProtoMessage() {} + +func (x *StatCrosstab) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatCrosstab.ProtoReflect.Descriptor instead. +func (*StatCrosstab) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{26} +} + +func (x *StatCrosstab) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatCrosstab) GetCol1() string { + if x != nil { + return x.Col1 + } + return "" +} + +func (x *StatCrosstab) GetCol2() string { + if x != nil { + return x.Col2 + } + return "" +} + +// Calculate the sample covariance of two numerical columns of a DataFrame. +// It will invoke 'Dataset.stat.cov' (same as 'StatFunctions.calculateCov') to compute the results. +type StatCov struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The name of the first column. + Col1 string `protobuf:"bytes,2,opt,name=col1,proto3" json:"col1,omitempty"` + // (Required) The name of the second column. + Col2 string `protobuf:"bytes,3,opt,name=col2,proto3" json:"col2,omitempty"` +} + +func (x *StatCov) Reset() { + *x = StatCov{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatCov) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatCov) ProtoMessage() {} + +func (x *StatCov) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatCov.ProtoReflect.Descriptor instead. +func (*StatCov) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{27} +} + +func (x *StatCov) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatCov) GetCol1() string { + if x != nil { + return x.Col1 + } + return "" +} + +func (x *StatCov) GetCol2() string { + if x != nil { + return x.Col2 + } + return "" +} + +// Calculates the correlation of two columns of a DataFrame. Currently only supports the Pearson +// Correlation Coefficient. It will invoke 'Dataset.stat.corr' (same as +// 'StatFunctions.pearsonCorrelation') to compute the results. +type StatCorr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The name of the first column. + Col1 string `protobuf:"bytes,2,opt,name=col1,proto3" json:"col1,omitempty"` + // (Required) The name of the second column. + Col2 string `protobuf:"bytes,3,opt,name=col2,proto3" json:"col2,omitempty"` + // (Optional) Default value is 'pearson'. + // + // Currently only supports the Pearson Correlation Coefficient. + Method *string `protobuf:"bytes,4,opt,name=method,proto3,oneof" json:"method,omitempty"` +} + +func (x *StatCorr) Reset() { + *x = StatCorr{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatCorr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatCorr) ProtoMessage() {} + +func (x *StatCorr) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatCorr.ProtoReflect.Descriptor instead. +func (*StatCorr) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{28} +} + +func (x *StatCorr) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatCorr) GetCol1() string { + if x != nil { + return x.Col1 + } + return "" +} + +func (x *StatCorr) GetCol2() string { + if x != nil { + return x.Col2 + } + return "" +} + +func (x *StatCorr) GetMethod() string { + if x != nil && x.Method != nil { + return *x.Method + } + return "" +} + +// Calculates the approximate quantiles of numerical columns of a DataFrame. +// It will invoke 'Dataset.stat.approxQuantile' (same as 'StatFunctions.approxQuantile') +// to compute the results. +type StatApproxQuantile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The names of the numerical columns. + Cols []string `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + // (Required) A list of quantile probabilities. + // + // Each number must belong to [0, 1]. + // For example 0 is the minimum, 0.5 is the median, 1 is the maximum. + Probabilities []float64 `protobuf:"fixed64,3,rep,packed,name=probabilities,proto3" json:"probabilities,omitempty"` + // (Required) The relative target precision to achieve (greater than or equal to 0). + // + // If set to zero, the exact quantiles are computed, which could be very expensive. + // Note that values greater than 1 are accepted but give the same result as 1. + RelativeError float64 `protobuf:"fixed64,4,opt,name=relative_error,json=relativeError,proto3" json:"relative_error,omitempty"` +} + +func (x *StatApproxQuantile) Reset() { + *x = StatApproxQuantile{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatApproxQuantile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatApproxQuantile) ProtoMessage() {} + +func (x *StatApproxQuantile) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatApproxQuantile.ProtoReflect.Descriptor instead. +func (*StatApproxQuantile) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{29} +} + +func (x *StatApproxQuantile) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatApproxQuantile) GetCols() []string { + if x != nil { + return x.Cols + } + return nil +} + +func (x *StatApproxQuantile) GetProbabilities() []float64 { + if x != nil { + return x.Probabilities + } + return nil +} + +func (x *StatApproxQuantile) GetRelativeError() float64 { + if x != nil { + return x.RelativeError + } + return 0 +} + +// Finding frequent items for columns, possibly with false positives. +// It will invoke 'Dataset.stat.freqItems' (same as 'StatFunctions.freqItems') +// to compute the results. +type StatFreqItems struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The names of the columns to search frequent items in. + Cols []string `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + // (Optional) The minimum frequency for an item to be considered `frequent`. + // Should be greater than 1e-4. + Support *float64 `protobuf:"fixed64,3,opt,name=support,proto3,oneof" json:"support,omitempty"` +} + +func (x *StatFreqItems) Reset() { + *x = StatFreqItems{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatFreqItems) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatFreqItems) ProtoMessage() {} + +func (x *StatFreqItems) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatFreqItems.ProtoReflect.Descriptor instead. +func (*StatFreqItems) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{30} +} + +func (x *StatFreqItems) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatFreqItems) GetCols() []string { + if x != nil { + return x.Cols + } + return nil +} + +func (x *StatFreqItems) GetSupport() float64 { + if x != nil && x.Support != nil { + return *x.Support + } + return 0 +} + +// Returns a stratified sample without replacement based on the fraction +// given on each stratum. +// It will invoke 'Dataset.stat.freqItems' (same as 'StatFunctions.freqItems') +// to compute the results. +type StatSampleBy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The column that defines strata. + Col *Expression `protobuf:"bytes,2,opt,name=col,proto3" json:"col,omitempty"` + // (Required) Sampling fraction for each stratum. + // + // If a stratum is not specified, we treat its fraction as zero. + Fractions []*StatSampleBy_Fraction `protobuf:"bytes,3,rep,name=fractions,proto3" json:"fractions,omitempty"` + // (Optional) The random seed. + Seed *int64 `protobuf:"varint,5,opt,name=seed,proto3,oneof" json:"seed,omitempty"` +} + +func (x *StatSampleBy) Reset() { + *x = StatSampleBy{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatSampleBy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatSampleBy) ProtoMessage() {} + +func (x *StatSampleBy) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatSampleBy.ProtoReflect.Descriptor instead. +func (*StatSampleBy) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{31} +} + +func (x *StatSampleBy) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *StatSampleBy) GetCol() *Expression { + if x != nil { + return x.Col + } + return nil +} + +func (x *StatSampleBy) GetFractions() []*StatSampleBy_Fraction { + if x != nil { + return x.Fractions + } + return nil +} + +func (x *StatSampleBy) GetSeed() int64 { + if x != nil && x.Seed != nil { + return *x.Seed + } + return 0 +} + +// Replaces null values. +// It will invoke 'Dataset.na.fill' (same as 'DataFrameNaFunctions.fill') to compute the results. +// Following 3 parameter combinations are supported: +// +// 1, 'values' only contains 1 item, 'cols' is empty: +// replaces null values in all type-compatible columns. +// 2, 'values' only contains 1 item, 'cols' is not empty: +// replaces null values in specified columns. +// 3, 'values' contains more than 1 items, then 'cols' is required to have the same length: +// replaces each specified column with corresponding value. +type NAFill struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) Optional list of column names to consider. + Cols []string `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + // (Required) Values to replace null values with. + // + // Should contain at least 1 item. + // Only 4 data types are supported now: bool, long, double, string + Values []*Expression_Literal `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *NAFill) Reset() { + *x = NAFill{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NAFill) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NAFill) ProtoMessage() {} + +func (x *NAFill) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NAFill.ProtoReflect.Descriptor instead. +func (*NAFill) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{32} +} + +func (x *NAFill) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *NAFill) GetCols() []string { + if x != nil { + return x.Cols + } + return nil +} + +func (x *NAFill) GetValues() []*Expression_Literal { + if x != nil { + return x.Values + } + return nil +} + +// Drop rows containing null values. +// It will invoke 'Dataset.na.drop' (same as 'DataFrameNaFunctions.drop') to compute the results. +type NADrop struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) Optional list of column names to consider. + // + // When it is empty, all the columns in the input relation will be considered. + Cols []string `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + // (Optional) The minimum number of non-null and non-NaN values required to keep. + // + // When not set, it is equivalent to the number of considered columns, which means + // a row will be kept only if all columns are non-null. + // + // 'how' options ('all', 'any') can be easily converted to this field: + // - 'all' -> set 'min_non_nulls' 1; + // - 'any' -> keep 'min_non_nulls' unset; + MinNonNulls *int32 `protobuf:"varint,3,opt,name=min_non_nulls,json=minNonNulls,proto3,oneof" json:"min_non_nulls,omitempty"` +} + +func (x *NADrop) Reset() { + *x = NADrop{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NADrop) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NADrop) ProtoMessage() {} + +func (x *NADrop) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NADrop.ProtoReflect.Descriptor instead. +func (*NADrop) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{33} +} + +func (x *NADrop) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *NADrop) GetCols() []string { + if x != nil { + return x.Cols + } + return nil +} + +func (x *NADrop) GetMinNonNulls() int32 { + if x != nil && x.MinNonNulls != nil { + return *x.MinNonNulls + } + return 0 +} + +// Replaces old values with the corresponding values. +// It will invoke 'Dataset.na.replace' (same as 'DataFrameNaFunctions.replace') +// to compute the results. +type NAReplace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Optional) List of column names to consider. + // + // When it is empty, all the type-compatible columns in the input relation will be considered. + Cols []string `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + // (Optional) The value replacement mapping. + Replacements []*NAReplace_Replacement `protobuf:"bytes,3,rep,name=replacements,proto3" json:"replacements,omitempty"` +} + +func (x *NAReplace) Reset() { + *x = NAReplace{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NAReplace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NAReplace) ProtoMessage() {} + +func (x *NAReplace) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NAReplace.ProtoReflect.Descriptor instead. +func (*NAReplace) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{34} +} + +func (x *NAReplace) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *NAReplace) GetCols() []string { + if x != nil { + return x.Cols + } + return nil +} + +func (x *NAReplace) GetReplacements() []*NAReplace_Replacement { + if x != nil { + return x.Replacements + } + return nil +} + +// Rename columns on the input relation by the same length of names. +type ToDF struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation of RenameColumnsBySameLengthNames. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) + // + // The number of columns of the input relation must be equal to the length + // of this field. If this is not true, an exception will be returned. + ColumnNames []string `protobuf:"bytes,2,rep,name=column_names,json=columnNames,proto3" json:"column_names,omitempty"` +} + +func (x *ToDF) Reset() { + *x = ToDF{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ToDF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToDF) ProtoMessage() {} + +func (x *ToDF) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToDF.ProtoReflect.Descriptor instead. +func (*ToDF) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{35} +} + +func (x *ToDF) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *ToDF) GetColumnNames() []string { + if x != nil { + return x.ColumnNames + } + return nil +} + +// Rename columns on the input relation by a map with name to name mapping. +type WithColumnsRenamed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) + // + // Renaming column names of input relation from A to B where A is the map key + // and B is the map value. This is a no-op if schema doesn't contain any A. It + // does not require that all input relation column names to present as keys. + // duplicated B are not allowed. + RenameColumnsMap map[string]string `protobuf:"bytes,2,rep,name=rename_columns_map,json=renameColumnsMap,proto3" json:"rename_columns_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *WithColumnsRenamed) Reset() { + *x = WithColumnsRenamed{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WithColumnsRenamed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WithColumnsRenamed) ProtoMessage() {} + +func (x *WithColumnsRenamed) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WithColumnsRenamed.ProtoReflect.Descriptor instead. +func (*WithColumnsRenamed) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{36} +} + +func (x *WithColumnsRenamed) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *WithColumnsRenamed) GetRenameColumnsMap() map[string]string { + if x != nil { + return x.RenameColumnsMap + } + return nil +} + +// Adding columns or replacing the existing columns that have the same names. +type WithColumns struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) + // + // Given a column name, apply the corresponding expression on the column. If column + // name exists in the input relation, then replace the column. If the column name + // does not exist in the input relation, then adds it as a new column. + // + // Only one name part is expected from each Expression.Alias. + // + // An exception is thrown when duplicated names are present in the mapping. + Aliases []*Expression_Alias `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty"` +} + +func (x *WithColumns) Reset() { + *x = WithColumns{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WithColumns) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WithColumns) ProtoMessage() {} + +func (x *WithColumns) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WithColumns.ProtoReflect.Descriptor instead. +func (*WithColumns) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{37} +} + +func (x *WithColumns) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *WithColumns) GetAliases() []*Expression_Alias { + if x != nil { + return x.Aliases + } + return nil +} + +type WithWatermark struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Name of the column containing event time. + EventTime string `protobuf:"bytes,2,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` + // (Required) + DelayThreshold string `protobuf:"bytes,3,opt,name=delay_threshold,json=delayThreshold,proto3" json:"delay_threshold,omitempty"` +} + +func (x *WithWatermark) Reset() { + *x = WithWatermark{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WithWatermark) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WithWatermark) ProtoMessage() {} + +func (x *WithWatermark) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WithWatermark.ProtoReflect.Descriptor instead. +func (*WithWatermark) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{38} +} + +func (x *WithWatermark) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *WithWatermark) GetEventTime() string { + if x != nil { + return x.EventTime + } + return "" +} + +func (x *WithWatermark) GetDelayThreshold() string { + if x != nil { + return x.DelayThreshold + } + return "" +} + +// Specify a hint over a relation. Hint should have a name and optional parameters. +type Hint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Hint name. + // + // Supported Join hints include BROADCAST, MERGE, SHUFFLE_HASH, SHUFFLE_REPLICATE_NL. + // + // Supported partitioning hints include COALESCE, REPARTITION, REPARTITION_BY_RANGE. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // (Optional) Hint parameters. + Parameters []*Expression `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *Hint) Reset() { + *x = Hint{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hint) ProtoMessage() {} + +func (x *Hint) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hint.ProtoReflect.Descriptor instead. +func (*Hint) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{39} +} + +func (x *Hint) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Hint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Hint) GetParameters() []*Expression { + if x != nil { + return x.Parameters + } + return nil +} + +// Unpivot a DataFrame from wide format to long format, optionally leaving identifier columns set. +type Unpivot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Id columns. + Ids []*Expression `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"` + // (Optional) Value columns to unpivot. + Values *Unpivot_Values `protobuf:"bytes,3,opt,name=values,proto3,oneof" json:"values,omitempty"` + // (Required) Name of the variable column. + VariableColumnName string `protobuf:"bytes,4,opt,name=variable_column_name,json=variableColumnName,proto3" json:"variable_column_name,omitempty"` + // (Required) Name of the value column. + ValueColumnName string `protobuf:"bytes,5,opt,name=value_column_name,json=valueColumnName,proto3" json:"value_column_name,omitempty"` +} + +func (x *Unpivot) Reset() { + *x = Unpivot{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Unpivot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Unpivot) ProtoMessage() {} + +func (x *Unpivot) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Unpivot.ProtoReflect.Descriptor instead. +func (*Unpivot) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{40} +} + +func (x *Unpivot) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Unpivot) GetIds() []*Expression { + if x != nil { + return x.Ids + } + return nil +} + +func (x *Unpivot) GetValues() *Unpivot_Values { + if x != nil { + return x.Values + } + return nil +} + +func (x *Unpivot) GetVariableColumnName() string { + if x != nil { + return x.VariableColumnName + } + return "" +} + +func (x *Unpivot) GetValueColumnName() string { + if x != nil { + return x.ValueColumnName + } + return "" +} + +type ToSchema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The user provided schema. + // + // The Sever side will update the dataframe with this schema. + Schema *DataType `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *ToSchema) Reset() { + *x = ToSchema{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ToSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToSchema) ProtoMessage() {} + +func (x *ToSchema) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToSchema.ProtoReflect.Descriptor instead. +func (*ToSchema) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{41} +} + +func (x *ToSchema) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *ToSchema) GetSchema() *DataType { + if x != nil { + return x.Schema + } + return nil +} + +type RepartitionByExpression struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The partitioning expressions. + PartitionExprs []*Expression `protobuf:"bytes,2,rep,name=partition_exprs,json=partitionExprs,proto3" json:"partition_exprs,omitempty"` + // (Optional) number of partitions, must be positive. + NumPartitions *int32 `protobuf:"varint,3,opt,name=num_partitions,json=numPartitions,proto3,oneof" json:"num_partitions,omitempty"` +} + +func (x *RepartitionByExpression) Reset() { + *x = RepartitionByExpression{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepartitionByExpression) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepartitionByExpression) ProtoMessage() {} + +func (x *RepartitionByExpression) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepartitionByExpression.ProtoReflect.Descriptor instead. +func (*RepartitionByExpression) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{42} +} + +func (x *RepartitionByExpression) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *RepartitionByExpression) GetPartitionExprs() []*Expression { + if x != nil { + return x.PartitionExprs + } + return nil +} + +func (x *RepartitionByExpression) GetNumPartitions() int32 { + if x != nil && x.NumPartitions != nil { + return *x.NumPartitions + } + return 0 +} + +type MapPartitions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for a mapPartitions-equivalent API: mapInPandas, mapInArrow. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Input user-defined function. + Func *CommonInlineUserDefinedFunction `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` + // (Optional) Whether to use barrier mode execution or not. + IsBarrier *bool `protobuf:"varint,3,opt,name=is_barrier,json=isBarrier,proto3,oneof" json:"is_barrier,omitempty"` +} + +func (x *MapPartitions) Reset() { + *x = MapPartitions{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapPartitions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapPartitions) ProtoMessage() {} + +func (x *MapPartitions) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MapPartitions.ProtoReflect.Descriptor instead. +func (*MapPartitions) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{43} +} + +func (x *MapPartitions) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *MapPartitions) GetFunc() *CommonInlineUserDefinedFunction { + if x != nil { + return x.Func + } + return nil +} + +func (x *MapPartitions) GetIsBarrier() bool { + if x != nil && x.IsBarrier != nil { + return *x.IsBarrier + } + return false +} + +type GroupMap struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for Group Map API: apply, applyInPandas. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Expressions for grouping keys. + GroupingExpressions []*Expression `protobuf:"bytes,2,rep,name=grouping_expressions,json=groupingExpressions,proto3" json:"grouping_expressions,omitempty"` + // (Required) Input user-defined function. + Func *CommonInlineUserDefinedFunction `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` + // (Optional) Expressions for sorting. Only used by Scala Sorted Group Map API. + SortingExpressions []*Expression `protobuf:"bytes,4,rep,name=sorting_expressions,json=sortingExpressions,proto3" json:"sorting_expressions,omitempty"` +} + +func (x *GroupMap) Reset() { + *x = GroupMap{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupMap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupMap) ProtoMessage() {} + +func (x *GroupMap) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupMap.ProtoReflect.Descriptor instead. +func (*GroupMap) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{44} +} + +func (x *GroupMap) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *GroupMap) GetGroupingExpressions() []*Expression { + if x != nil { + return x.GroupingExpressions + } + return nil +} + +func (x *GroupMap) GetFunc() *CommonInlineUserDefinedFunction { + if x != nil { + return x.Func + } + return nil +} + +func (x *GroupMap) GetSortingExpressions() []*Expression { + if x != nil { + return x.SortingExpressions + } + return nil +} + +type CoGroupMap struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) One input relation for CoGroup Map API - applyInPandas. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // Expressions for grouping keys of the first input relation. + InputGroupingExpressions []*Expression `protobuf:"bytes,2,rep,name=input_grouping_expressions,json=inputGroupingExpressions,proto3" json:"input_grouping_expressions,omitempty"` + // (Required) The other input relation. + Other *Relation `protobuf:"bytes,3,opt,name=other,proto3" json:"other,omitempty"` + // Expressions for grouping keys of the other input relation. + OtherGroupingExpressions []*Expression `protobuf:"bytes,4,rep,name=other_grouping_expressions,json=otherGroupingExpressions,proto3" json:"other_grouping_expressions,omitempty"` + // (Required) Input user-defined function. + Func *CommonInlineUserDefinedFunction `protobuf:"bytes,5,opt,name=func,proto3" json:"func,omitempty"` + // (Optional) Expressions for sorting. Only used by Scala Sorted CoGroup Map API. + InputSortingExpressions []*Expression `protobuf:"bytes,6,rep,name=input_sorting_expressions,json=inputSortingExpressions,proto3" json:"input_sorting_expressions,omitempty"` + // (Optional) Expressions for sorting. Only used by Scala Sorted CoGroup Map API. + OtherSortingExpressions []*Expression `protobuf:"bytes,7,rep,name=other_sorting_expressions,json=otherSortingExpressions,proto3" json:"other_sorting_expressions,omitempty"` +} + +func (x *CoGroupMap) Reset() { + *x = CoGroupMap{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CoGroupMap) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CoGroupMap) ProtoMessage() {} + +func (x *CoGroupMap) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CoGroupMap.ProtoReflect.Descriptor instead. +func (*CoGroupMap) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{45} +} + +func (x *CoGroupMap) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *CoGroupMap) GetInputGroupingExpressions() []*Expression { + if x != nil { + return x.InputGroupingExpressions + } + return nil +} + +func (x *CoGroupMap) GetOther() *Relation { + if x != nil { + return x.Other + } + return nil +} + +func (x *CoGroupMap) GetOtherGroupingExpressions() []*Expression { + if x != nil { + return x.OtherGroupingExpressions + } + return nil +} + +func (x *CoGroupMap) GetFunc() *CommonInlineUserDefinedFunction { + if x != nil { + return x.Func + } + return nil +} + +func (x *CoGroupMap) GetInputSortingExpressions() []*Expression { + if x != nil { + return x.InputSortingExpressions + } + return nil +} + +func (x *CoGroupMap) GetOtherSortingExpressions() []*Expression { + if x != nil { + return x.OtherSortingExpressions + } + return nil +} + +type ApplyInPandasWithState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation for applyInPandasWithState. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Expressions for grouping keys. + GroupingExpressions []*Expression `protobuf:"bytes,2,rep,name=grouping_expressions,json=groupingExpressions,proto3" json:"grouping_expressions,omitempty"` + // (Required) Input user-defined function. + Func *CommonInlineUserDefinedFunction `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` + // (Required) Schema for the output DataFrame. + OutputSchema string `protobuf:"bytes,4,opt,name=output_schema,json=outputSchema,proto3" json:"output_schema,omitempty"` + // (Required) Schema for the state. + StateSchema string `protobuf:"bytes,5,opt,name=state_schema,json=stateSchema,proto3" json:"state_schema,omitempty"` + // (Required) The output mode of the function. + OutputMode string `protobuf:"bytes,6,opt,name=output_mode,json=outputMode,proto3" json:"output_mode,omitempty"` + // (Required) Timeout configuration for groups that do not receive data for a while. + TimeoutConf string `protobuf:"bytes,7,opt,name=timeout_conf,json=timeoutConf,proto3" json:"timeout_conf,omitempty"` +} + +func (x *ApplyInPandasWithState) Reset() { + *x = ApplyInPandasWithState{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyInPandasWithState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyInPandasWithState) ProtoMessage() {} + +func (x *ApplyInPandasWithState) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyInPandasWithState.ProtoReflect.Descriptor instead. +func (*ApplyInPandasWithState) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{46} +} + +func (x *ApplyInPandasWithState) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *ApplyInPandasWithState) GetGroupingExpressions() []*Expression { + if x != nil { + return x.GroupingExpressions + } + return nil +} + +func (x *ApplyInPandasWithState) GetFunc() *CommonInlineUserDefinedFunction { + if x != nil { + return x.Func + } + return nil +} + +func (x *ApplyInPandasWithState) GetOutputSchema() string { + if x != nil { + return x.OutputSchema + } + return "" +} + +func (x *ApplyInPandasWithState) GetStateSchema() string { + if x != nil { + return x.StateSchema + } + return "" +} + +func (x *ApplyInPandasWithState) GetOutputMode() string { + if x != nil { + return x.OutputMode + } + return "" +} + +func (x *ApplyInPandasWithState) GetTimeoutConf() string { + if x != nil { + return x.TimeoutConf + } + return "" +} + +// Collect arbitrary (named) metrics from a dataset. +type CollectMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The input relation. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) Name of the metrics. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // (Required) The metric sequence. + Metrics []*Expression `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *CollectMetrics) Reset() { + *x = CollectMetrics{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CollectMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CollectMetrics) ProtoMessage() {} + +func (x *CollectMetrics) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CollectMetrics.ProtoReflect.Descriptor instead. +func (*CollectMetrics) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{47} +} + +func (x *CollectMetrics) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *CollectMetrics) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CollectMetrics) GetMetrics() []*Expression { + if x != nil { + return x.Metrics + } + return nil +} + +type Parse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Input relation to Parse. The input is expected to have single text column. + Input *Relation `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // (Required) The expected format of the text. + Format Parse_ParseFormat `protobuf:"varint,2,opt,name=format,proto3,enum=spark.connect.Parse_ParseFormat" json:"format,omitempty"` + // (Optional) DataType representing the schema. If not set, Spark will infer the schema. + Schema *DataType `protobuf:"bytes,3,opt,name=schema,proto3,oneof" json:"schema,omitempty"` + // Options for the csv/json parser. The map key is case insensitive. + Options map[string]string `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Parse) Reset() { + *x = Parse{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Parse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Parse) ProtoMessage() {} + +func (x *Parse) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Parse.ProtoReflect.Descriptor instead. +func (*Parse) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{48} +} + +func (x *Parse) GetInput() *Relation { + if x != nil { + return x.Input + } + return nil +} + +func (x *Parse) GetFormat() Parse_ParseFormat { + if x != nil { + return x.Format + } + return Parse_PARSE_FORMAT_UNSPECIFIED +} + +func (x *Parse) GetSchema() *DataType { + if x != nil { + return x.Schema + } + return nil +} + +func (x *Parse) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +type Read_NamedTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) Unparsed identifier for the table. + UnparsedIdentifier string `protobuf:"bytes,1,opt,name=unparsed_identifier,json=unparsedIdentifier,proto3" json:"unparsed_identifier,omitempty"` + // Options for the named table. The map key is case insensitive. + Options map[string]string `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Read_NamedTable) Reset() { + *x = Read_NamedTable{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Read_NamedTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Read_NamedTable) ProtoMessage() {} + +func (x *Read_NamedTable) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Read_NamedTable.ProtoReflect.Descriptor instead. +func (*Read_NamedTable) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *Read_NamedTable) GetUnparsedIdentifier() string { + if x != nil { + return x.UnparsedIdentifier + } + return "" +} + +func (x *Read_NamedTable) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +type Read_DataSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Optional) Supported formats include: parquet, orc, text, json, parquet, csv, avro. + // + // If not set, the value from SQL conf 'spark.sql.sources.default' will be used. + Format *string `protobuf:"bytes,1,opt,name=format,proto3,oneof" json:"format,omitempty"` + // (Optional) If not set, Spark will infer the schema. + // + // This schema string should be either DDL-formatted or JSON-formatted. + Schema *string `protobuf:"bytes,2,opt,name=schema,proto3,oneof" json:"schema,omitempty"` + // Options for the data source. The context of this map varies based on the + // data source format. This options could be empty for valid data source format. + // The map key is case insensitive. + Options map[string]string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // (Optional) A list of path for file-system backed data sources. + Paths []string `protobuf:"bytes,4,rep,name=paths,proto3" json:"paths,omitempty"` + // (Optional) Condition in the where clause for each partition. + // + // This is only supported by the JDBC data source. + Predicates []string `protobuf:"bytes,5,rep,name=predicates,proto3" json:"predicates,omitempty"` +} + +func (x *Read_DataSource) Reset() { + *x = Read_DataSource{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Read_DataSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Read_DataSource) ProtoMessage() {} + +func (x *Read_DataSource) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Read_DataSource.ProtoReflect.Descriptor instead. +func (*Read_DataSource) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *Read_DataSource) GetFormat() string { + if x != nil && x.Format != nil { + return *x.Format + } + return "" +} + +func (x *Read_DataSource) GetSchema() string { + if x != nil && x.Schema != nil { + return *x.Schema + } + return "" +} + +func (x *Read_DataSource) GetOptions() map[string]string { + if x != nil { + return x.Options + } + return nil +} + +func (x *Read_DataSource) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + +func (x *Read_DataSource) GetPredicates() []string { + if x != nil { + return x.Predicates + } + return nil +} + +type Aggregate_Pivot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The column to pivot + Col *Expression `protobuf:"bytes,1,opt,name=col,proto3" json:"col,omitempty"` + // (Optional) List of values that will be translated to columns in the output DataFrame. + // + // Note that if it is empty, the server side will immediately trigger a job to collect + // the distinct values of the column. + Values []*Expression_Literal `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *Aggregate_Pivot) Reset() { + *x = Aggregate_Pivot{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Aggregate_Pivot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Aggregate_Pivot) ProtoMessage() {} + +func (x *Aggregate_Pivot) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Aggregate_Pivot.ProtoReflect.Descriptor instead. +func (*Aggregate_Pivot) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *Aggregate_Pivot) GetCol() *Expression { + if x != nil { + return x.Col + } + return nil +} + +func (x *Aggregate_Pivot) GetValues() []*Expression_Literal { + if x != nil { + return x.Values + } + return nil +} + +type StatSampleBy_Fraction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The stratum. + Stratum *Expression_Literal `protobuf:"bytes,1,opt,name=stratum,proto3" json:"stratum,omitempty"` + // (Required) The fraction value. Must be in [0, 1]. + Fraction float64 `protobuf:"fixed64,2,opt,name=fraction,proto3" json:"fraction,omitempty"` +} + +func (x *StatSampleBy_Fraction) Reset() { + *x = StatSampleBy_Fraction{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatSampleBy_Fraction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatSampleBy_Fraction) ProtoMessage() {} + +func (x *StatSampleBy_Fraction) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatSampleBy_Fraction.ProtoReflect.Descriptor instead. +func (*StatSampleBy_Fraction) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{31, 0} +} + +func (x *StatSampleBy_Fraction) GetStratum() *Expression_Literal { + if x != nil { + return x.Stratum + } + return nil +} + +func (x *StatSampleBy_Fraction) GetFraction() float64 { + if x != nil { + return x.Fraction + } + return 0 +} + +type NAReplace_Replacement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The old value. + // + // Only 4 data types are supported now: null, bool, double, string. + OldValue *Expression_Literal `protobuf:"bytes,1,opt,name=old_value,json=oldValue,proto3" json:"old_value,omitempty"` + // (Required) The new value. + // + // Should be of the same data type with the old value. + NewValue *Expression_Literal `protobuf:"bytes,2,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"` +} + +func (x *NAReplace_Replacement) Reset() { + *x = NAReplace_Replacement{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NAReplace_Replacement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NAReplace_Replacement) ProtoMessage() {} + +func (x *NAReplace_Replacement) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NAReplace_Replacement.ProtoReflect.Descriptor instead. +func (*NAReplace_Replacement) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{34, 0} +} + +func (x *NAReplace_Replacement) GetOldValue() *Expression_Literal { + if x != nil { + return x.OldValue + } + return nil +} + +func (x *NAReplace_Replacement) GetNewValue() *Expression_Literal { + if x != nil { + return x.NewValue + } + return nil +} + +type Unpivot_Values struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Values []*Expression `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *Unpivot_Values) Reset() { + *x = Unpivot_Values{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_relations_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Unpivot_Values) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Unpivot_Values) ProtoMessage() {} + +func (x *Unpivot_Values) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_relations_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Unpivot_Values.ProtoReflect.Descriptor instead. +func (*Unpivot_Values) Descriptor() ([]byte, []int) { + return file_spark_connect_relations_proto_rawDescGZIP(), []int{40, 0} +} + +func (x *Unpivot_Values) GetValues() []*Expression { + if x != nil { + return x.Values + } + return nil +} + +var File_spark_connect_relations_proto protoreflect.FileDescriptor + +var file_spark_connect_relations_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x0d, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xf3, 0x16, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x72, 0x65, 0x61, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x61, + 0x64, 0x12, 0x32, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x6f, 0x69, + 0x6e, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x05, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x12, 0x29, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x12, 0x38, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, + 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x73, 0x71, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x51, 0x4c, 0x48, 0x00, 0x52, 0x03, 0x73, + 0x71, 0x6c, 0x12, 0x45, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x64, + 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, + 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x73, 0x75, 0x62, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, + 0x00, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2a, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x64, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x54, 0x6f, 0x44, 0x46, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x44, 0x66, 0x12, 0x55, 0x0a, 0x14, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, + 0x12, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x12, 0x29, 0x0a, 0x04, + 0x74, 0x61, 0x69, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x61, 0x69, 0x6c, 0x48, + 0x00, 0x52, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x0c, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x69, 0x74, + 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x68, + 0x69, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x75, 0x6e, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x6e, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x07, + 0x75, 0x6e, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x6f, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x08, 0x74, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x64, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, + 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x72, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0e, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x61, + 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6d, + 0x61, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x0f, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x70, + 0x61, 0x72, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x70, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, + 0x48, 0x00, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x0c, + 0x63, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, + 0x0a, 0x63, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x45, 0x0a, 0x0e, 0x77, + 0x69, 0x74, 0x68, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x21, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, + 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x74, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, + 0x72, 0x6b, 0x12, 0x63, 0x0a, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x70, + 0x61, 0x6e, 0x64, 0x61, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x50, 0x61, + 0x6e, 0x64, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, + 0x16, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x50, 0x61, 0x6e, 0x64, 0x61, 0x73, 0x57, 0x69, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x68, 0x74, 0x6d, 0x6c, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x74, 0x6d, + 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x6d, 0x6c, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x58, 0x0a, 0x15, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x24, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x30, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x4e, 0x41, 0x46, 0x69, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x6c, 0x4e, + 0x61, 0x12, 0x30, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x18, 0x5b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x4e, 0x41, 0x44, 0x72, 0x6f, 0x70, 0x48, 0x00, 0x52, 0x06, 0x64, 0x72, 0x6f, + 0x70, 0x4e, 0x61, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x5c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4e, 0x41, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x12, 0x39, 0x0a, 0x08, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x74, 0x61, 0x62, 0x18, 0x65, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x74, 0x61, 0x62, + 0x48, 0x00, 0x52, 0x08, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x74, 0x61, 0x62, 0x12, 0x39, 0x0a, 0x08, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x63, 0x6f, 0x76, 0x18, 0x67, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x6f, 0x76, 0x48, 0x00, 0x52, 0x03, + 0x63, 0x6f, 0x76, 0x12, 0x2d, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x72, 0x18, 0x68, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x6f, 0x72, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, + 0x72, 0x72, 0x12, 0x4c, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x5f, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x48, 0x00, + 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, + 0x12, 0x3d, 0x0a, 0x0a, 0x66, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x6a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x46, 0x72, 0x65, 0x71, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x48, 0x00, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x3a, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x62, 0x79, 0x18, 0x6b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x79, 0x48, + 0x00, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xe6, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, + 0x6e, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x0a, 0x0a, 0x08, + 0x72, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x09, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x22, 0x5b, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, + 0x22, 0xa9, 0x01, 0x0a, 0x03, 0x53, 0x51, 0x4c, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x30, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x51, 0x4c, + 0x2e, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x1a, 0x5a, 0x0a, 0x09, 0x41, 0x72, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x97, 0x05, 0x0a, + 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x41, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x2e, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, + 0x61, 0x64, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, + 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x1a, 0xc0, + 0x01, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, + 0x13, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x75, 0x6e, 0x70, 0x61, + 0x72, 0x73, 0x65, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x45, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x61, 0x64, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x95, 0x02, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x64, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x75, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x70, 0x0a, + 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xd7, 0x03, 0x0a, 0x04, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x04, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x2e, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x4e, 0x45, + 0x52, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x18, 0x0a, + 0x14, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, + 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x45, 0x52, + 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4a, + 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x53, 0x45, + 0x4d, 0x49, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x10, 0x07, 0x22, 0xdf, 0x03, 0x0a, 0x0c, 0x53, 0x65, + 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x65, + 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x0b, + 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, + 0x65, 0x74, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x88, 0x01, 0x01, 0x12, + 0x1c, 0x0a, 0x07, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x01, 0x52, 0x06, 0x62, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, + 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x13, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x22, 0x72, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x4f, 0x4e, + 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, + 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x4c, 0x0a, 0x05, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4f, 0x0a, 0x06, 0x4f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4b, 0x0a, 0x04, 0x54, 0x61, + 0x69, 0x6c, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xc6, 0x04, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x2e, 0x50, + 0x69, 0x76, 0x6f, 0x74, 0x52, 0x05, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x1a, 0x6f, 0x0a, 0x05, 0x50, + 0x69, 0x76, 0x6f, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x63, 0x6f, + 0x6c, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, + 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x42, 0x59, 0x10, 0x01, 0x12, 0x15, + 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x4c, + 0x4c, 0x55, 0x50, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x43, 0x55, 0x42, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x49, 0x56, 0x4f, 0x54, 0x10, 0x04, + 0x22, 0xa0, 0x01, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x22, 0x8d, 0x01, 0x0a, 0x04, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x41, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x77, 0x69, 0x74, + 0x68, 0x69, 0x6e, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x57, 0x61, 0x74, + 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x6c, + 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x77, 0x61, 0x74, + 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x59, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x22, 0x5f, 0x0a, 0x13, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x22, 0x91, 0x02, 0x0a, 0x06, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2d, 0x0a, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2e, + 0x0a, 0x10, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x04, + 0x73, 0x65, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x74, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, + 0x70, 0x12, 0x2a, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x75, 0x6d, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x0d, 0x53, 0x75, + 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x8e, + 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, + 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x68, 0x75, 0x66, 0x66, 0x6c, 0x65, 0x22, + 0x8e, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2d, + 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x75, 0x6e, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x72, 0x75, 0x6e, + 0x63, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x22, 0x72, 0x0a, 0x0a, 0x48, 0x74, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2d, + 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x75, 0x6e, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x72, 0x75, 0x6e, + 0x63, 0x61, 0x74, 0x65, 0x22, 0x5c, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x22, 0x51, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x65, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x74, 0x61, 0x62, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x31, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x32, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x32, 0x22, 0x60, 0x0a, 0x07, + 0x53, 0x74, 0x61, 0x74, 0x43, 0x6f, 0x76, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x31, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x6c, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x32, 0x22, 0x89, + 0x01, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x43, 0x6f, 0x72, 0x72, 0x12, 0x2d, 0x0a, 0x05, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x6c, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x31, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, + 0x6c, 0x32, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x53, + 0x74, 0x61, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, + 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, + 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x7d, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x46, 0x72, 0x65, 0x71, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x22, 0xb5, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, + 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x12, 0x2b, 0x0a, 0x03, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x63, 0x6f, 0x6c, 0x12, 0x42, 0x0a, + 0x09, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x79, 0x2e, 0x46, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x00, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, 0x08, 0x46, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x61, 0x74, 0x75, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x07, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x4e, 0x41, 0x46, + 0x69, 0x6c, 0x6c, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x22, 0x86, 0x01, 0x0a, 0x06, 0x4e, 0x41, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, + 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, + 0x27, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x6e, + 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, 0x6e, + 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x22, 0xa8, 0x02, 0x0a, 0x09, 0x4e, + 0x41, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x4e, 0x41, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x8d, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6f, 0x6c, 0x64, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x08, 0x6e, 0x65, 0x77, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x58, 0x0a, 0x04, 0x54, 0x6f, 0x44, 0x46, 0x12, 0x2d, 0x0a, + 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, + 0xef, 0x01, 0x0a, 0x12, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x12, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x64, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x4d, 0x61, 0x70, 0x1a, 0x43, 0x0a, 0x15, + 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x4d, 0x61, 0x70, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x77, 0x0a, 0x0b, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, + 0x39, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0d, 0x57, + 0x69, 0x74, 0x68, 0x57, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x04, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x39, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xc7, 0x02, 0x0a, 0x07, 0x55, + 0x6e, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x69, + 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x55, 0x6e, 0x70, 0x69, 0x76, 0x6f, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x48, 0x00, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x30, + 0x0a, 0x14, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x2a, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x06, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x08, 0x54, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, + 0x2f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x79, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x73, 0x12, + 0x2a, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb5, + 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, + 0x42, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x66, + 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x69, 0x73, 0x42, 0x61, 0x72, + 0x72, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x5f, 0x62, + 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x22, 0x97, 0x02, 0x0a, 0x08, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x70, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x42, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, + 0x66, 0x75, 0x6e, 0x63, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x6f, + 0x72, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x8e, 0x04, 0x0a, 0x0a, 0x43, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x12, + 0x2d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x57, + 0x0a, 0x1a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, + 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x1a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x42, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x66, + 0x75, 0x6e, 0x63, 0x12, 0x55, 0x0a, 0x19, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x6f, 0x72, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x17, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x19, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, + 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x50, 0x61, 0x6e, + 0x64, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x04, 0x66, 0x75, 0x6e, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x23, 0x0a, + 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x65, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x2d, 0x0a, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x33, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x2d, + 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x38, 0x0a, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x50, + 0x61, 0x72, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, + 0x53, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x36, 0x0a, 0x1e, 0x6f, + 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_relations_proto_rawDescOnce sync.Once + file_spark_connect_relations_proto_rawDescData = file_spark_connect_relations_proto_rawDesc +) + +func file_spark_connect_relations_proto_rawDescGZIP() []byte { + file_spark_connect_relations_proto_rawDescOnce.Do(func() { + file_spark_connect_relations_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_relations_proto_rawDescData) + }) + return file_spark_connect_relations_proto_rawDescData +} + +var file_spark_connect_relations_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_spark_connect_relations_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_spark_connect_relations_proto_goTypes = []interface{}{ + (Join_JoinType)(0), // 0: spark.connect.Join.JoinType + (SetOperation_SetOpType)(0), // 1: spark.connect.SetOperation.SetOpType + (Aggregate_GroupType)(0), // 2: spark.connect.Aggregate.GroupType + (Parse_ParseFormat)(0), // 3: spark.connect.Parse.ParseFormat + (*Relation)(nil), // 4: spark.connect.Relation + (*Unknown)(nil), // 5: spark.connect.Unknown + (*RelationCommon)(nil), // 6: spark.connect.RelationCommon + (*SQL)(nil), // 7: spark.connect.SQL + (*Read)(nil), // 8: spark.connect.Read + (*Project)(nil), // 9: spark.connect.Project + (*Filter)(nil), // 10: spark.connect.Filter + (*Join)(nil), // 11: spark.connect.Join + (*SetOperation)(nil), // 12: spark.connect.SetOperation + (*Limit)(nil), // 13: spark.connect.Limit + (*Offset)(nil), // 14: spark.connect.Offset + (*Tail)(nil), // 15: spark.connect.Tail + (*Aggregate)(nil), // 16: spark.connect.Aggregate + (*Sort)(nil), // 17: spark.connect.Sort + (*Drop)(nil), // 18: spark.connect.Drop + (*Deduplicate)(nil), // 19: spark.connect.Deduplicate + (*LocalRelation)(nil), // 20: spark.connect.LocalRelation + (*CachedLocalRelation)(nil), // 21: spark.connect.CachedLocalRelation + (*Sample)(nil), // 22: spark.connect.Sample + (*Range)(nil), // 23: spark.connect.Range + (*SubqueryAlias)(nil), // 24: spark.connect.SubqueryAlias + (*Repartition)(nil), // 25: spark.connect.Repartition + (*ShowString)(nil), // 26: spark.connect.ShowString + (*HtmlString)(nil), // 27: spark.connect.HtmlString + (*StatSummary)(nil), // 28: spark.connect.StatSummary + (*StatDescribe)(nil), // 29: spark.connect.StatDescribe + (*StatCrosstab)(nil), // 30: spark.connect.StatCrosstab + (*StatCov)(nil), // 31: spark.connect.StatCov + (*StatCorr)(nil), // 32: spark.connect.StatCorr + (*StatApproxQuantile)(nil), // 33: spark.connect.StatApproxQuantile + (*StatFreqItems)(nil), // 34: spark.connect.StatFreqItems + (*StatSampleBy)(nil), // 35: spark.connect.StatSampleBy + (*NAFill)(nil), // 36: spark.connect.NAFill + (*NADrop)(nil), // 37: spark.connect.NADrop + (*NAReplace)(nil), // 38: spark.connect.NAReplace + (*ToDF)(nil), // 39: spark.connect.ToDF + (*WithColumnsRenamed)(nil), // 40: spark.connect.WithColumnsRenamed + (*WithColumns)(nil), // 41: spark.connect.WithColumns + (*WithWatermark)(nil), // 42: spark.connect.WithWatermark + (*Hint)(nil), // 43: spark.connect.Hint + (*Unpivot)(nil), // 44: spark.connect.Unpivot + (*ToSchema)(nil), // 45: spark.connect.ToSchema + (*RepartitionByExpression)(nil), // 46: spark.connect.RepartitionByExpression + (*MapPartitions)(nil), // 47: spark.connect.MapPartitions + (*GroupMap)(nil), // 48: spark.connect.GroupMap + (*CoGroupMap)(nil), // 49: spark.connect.CoGroupMap + (*ApplyInPandasWithState)(nil), // 50: spark.connect.ApplyInPandasWithState + (*CollectMetrics)(nil), // 51: spark.connect.CollectMetrics + (*Parse)(nil), // 52: spark.connect.Parse + nil, // 53: spark.connect.SQL.ArgsEntry + (*Read_NamedTable)(nil), // 54: spark.connect.Read.NamedTable + (*Read_DataSource)(nil), // 55: spark.connect.Read.DataSource + nil, // 56: spark.connect.Read.NamedTable.OptionsEntry + nil, // 57: spark.connect.Read.DataSource.OptionsEntry + (*Aggregate_Pivot)(nil), // 58: spark.connect.Aggregate.Pivot + (*StatSampleBy_Fraction)(nil), // 59: spark.connect.StatSampleBy.Fraction + (*NAReplace_Replacement)(nil), // 60: spark.connect.NAReplace.Replacement + nil, // 61: spark.connect.WithColumnsRenamed.RenameColumnsMapEntry + (*Unpivot_Values)(nil), // 62: spark.connect.Unpivot.Values + nil, // 63: spark.connect.Parse.OptionsEntry + (*Catalog)(nil), // 64: spark.connect.Catalog + (*anypb.Any)(nil), // 65: google.protobuf.Any + (*Expression)(nil), // 66: spark.connect.Expression + (*Expression_SortOrder)(nil), // 67: spark.connect.Expression.SortOrder + (*Expression_Literal)(nil), // 68: spark.connect.Expression.Literal + (*Expression_Alias)(nil), // 69: spark.connect.Expression.Alias + (*DataType)(nil), // 70: spark.connect.DataType + (*CommonInlineUserDefinedFunction)(nil), // 71: spark.connect.CommonInlineUserDefinedFunction +} +var file_spark_connect_relations_proto_depIdxs = []int32{ + 6, // 0: spark.connect.Relation.common:type_name -> spark.connect.RelationCommon + 8, // 1: spark.connect.Relation.read:type_name -> spark.connect.Read + 9, // 2: spark.connect.Relation.project:type_name -> spark.connect.Project + 10, // 3: spark.connect.Relation.filter:type_name -> spark.connect.Filter + 11, // 4: spark.connect.Relation.join:type_name -> spark.connect.Join + 12, // 5: spark.connect.Relation.set_op:type_name -> spark.connect.SetOperation + 17, // 6: spark.connect.Relation.sort:type_name -> spark.connect.Sort + 13, // 7: spark.connect.Relation.limit:type_name -> spark.connect.Limit + 16, // 8: spark.connect.Relation.aggregate:type_name -> spark.connect.Aggregate + 7, // 9: spark.connect.Relation.sql:type_name -> spark.connect.SQL + 20, // 10: spark.connect.Relation.local_relation:type_name -> spark.connect.LocalRelation + 22, // 11: spark.connect.Relation.sample:type_name -> spark.connect.Sample + 14, // 12: spark.connect.Relation.offset:type_name -> spark.connect.Offset + 19, // 13: spark.connect.Relation.deduplicate:type_name -> spark.connect.Deduplicate + 23, // 14: spark.connect.Relation.range:type_name -> spark.connect.Range + 24, // 15: spark.connect.Relation.subquery_alias:type_name -> spark.connect.SubqueryAlias + 25, // 16: spark.connect.Relation.repartition:type_name -> spark.connect.Repartition + 39, // 17: spark.connect.Relation.to_df:type_name -> spark.connect.ToDF + 40, // 18: spark.connect.Relation.with_columns_renamed:type_name -> spark.connect.WithColumnsRenamed + 26, // 19: spark.connect.Relation.show_string:type_name -> spark.connect.ShowString + 18, // 20: spark.connect.Relation.drop:type_name -> spark.connect.Drop + 15, // 21: spark.connect.Relation.tail:type_name -> spark.connect.Tail + 41, // 22: spark.connect.Relation.with_columns:type_name -> spark.connect.WithColumns + 43, // 23: spark.connect.Relation.hint:type_name -> spark.connect.Hint + 44, // 24: spark.connect.Relation.unpivot:type_name -> spark.connect.Unpivot + 45, // 25: spark.connect.Relation.to_schema:type_name -> spark.connect.ToSchema + 46, // 26: spark.connect.Relation.repartition_by_expression:type_name -> spark.connect.RepartitionByExpression + 47, // 27: spark.connect.Relation.map_partitions:type_name -> spark.connect.MapPartitions + 51, // 28: spark.connect.Relation.collect_metrics:type_name -> spark.connect.CollectMetrics + 52, // 29: spark.connect.Relation.parse:type_name -> spark.connect.Parse + 48, // 30: spark.connect.Relation.group_map:type_name -> spark.connect.GroupMap + 49, // 31: spark.connect.Relation.co_group_map:type_name -> spark.connect.CoGroupMap + 42, // 32: spark.connect.Relation.with_watermark:type_name -> spark.connect.WithWatermark + 50, // 33: spark.connect.Relation.apply_in_pandas_with_state:type_name -> spark.connect.ApplyInPandasWithState + 27, // 34: spark.connect.Relation.html_string:type_name -> spark.connect.HtmlString + 21, // 35: spark.connect.Relation.cached_local_relation:type_name -> spark.connect.CachedLocalRelation + 36, // 36: spark.connect.Relation.fill_na:type_name -> spark.connect.NAFill + 37, // 37: spark.connect.Relation.drop_na:type_name -> spark.connect.NADrop + 38, // 38: spark.connect.Relation.replace:type_name -> spark.connect.NAReplace + 28, // 39: spark.connect.Relation.summary:type_name -> spark.connect.StatSummary + 30, // 40: spark.connect.Relation.crosstab:type_name -> spark.connect.StatCrosstab + 29, // 41: spark.connect.Relation.describe:type_name -> spark.connect.StatDescribe + 31, // 42: spark.connect.Relation.cov:type_name -> spark.connect.StatCov + 32, // 43: spark.connect.Relation.corr:type_name -> spark.connect.StatCorr + 33, // 44: spark.connect.Relation.approx_quantile:type_name -> spark.connect.StatApproxQuantile + 34, // 45: spark.connect.Relation.freq_items:type_name -> spark.connect.StatFreqItems + 35, // 46: spark.connect.Relation.sample_by:type_name -> spark.connect.StatSampleBy + 64, // 47: spark.connect.Relation.catalog:type_name -> spark.connect.Catalog + 65, // 48: spark.connect.Relation.extension:type_name -> google.protobuf.Any + 5, // 49: spark.connect.Relation.unknown:type_name -> spark.connect.Unknown + 53, // 50: spark.connect.SQL.args:type_name -> spark.connect.SQL.ArgsEntry + 54, // 51: spark.connect.Read.named_table:type_name -> spark.connect.Read.NamedTable + 55, // 52: spark.connect.Read.data_source:type_name -> spark.connect.Read.DataSource + 4, // 53: spark.connect.Project.input:type_name -> spark.connect.Relation + 66, // 54: spark.connect.Project.expressions:type_name -> spark.connect.Expression + 4, // 55: spark.connect.Filter.input:type_name -> spark.connect.Relation + 66, // 56: spark.connect.Filter.condition:type_name -> spark.connect.Expression + 4, // 57: spark.connect.Join.left:type_name -> spark.connect.Relation + 4, // 58: spark.connect.Join.right:type_name -> spark.connect.Relation + 66, // 59: spark.connect.Join.join_condition:type_name -> spark.connect.Expression + 0, // 60: spark.connect.Join.join_type:type_name -> spark.connect.Join.JoinType + 4, // 61: spark.connect.SetOperation.left_input:type_name -> spark.connect.Relation + 4, // 62: spark.connect.SetOperation.right_input:type_name -> spark.connect.Relation + 1, // 63: spark.connect.SetOperation.set_op_type:type_name -> spark.connect.SetOperation.SetOpType + 4, // 64: spark.connect.Limit.input:type_name -> spark.connect.Relation + 4, // 65: spark.connect.Offset.input:type_name -> spark.connect.Relation + 4, // 66: spark.connect.Tail.input:type_name -> spark.connect.Relation + 4, // 67: spark.connect.Aggregate.input:type_name -> spark.connect.Relation + 2, // 68: spark.connect.Aggregate.group_type:type_name -> spark.connect.Aggregate.GroupType + 66, // 69: spark.connect.Aggregate.grouping_expressions:type_name -> spark.connect.Expression + 66, // 70: spark.connect.Aggregate.aggregate_expressions:type_name -> spark.connect.Expression + 58, // 71: spark.connect.Aggregate.pivot:type_name -> spark.connect.Aggregate.Pivot + 4, // 72: spark.connect.Sort.input:type_name -> spark.connect.Relation + 67, // 73: spark.connect.Sort.order:type_name -> spark.connect.Expression.SortOrder + 4, // 74: spark.connect.Drop.input:type_name -> spark.connect.Relation + 66, // 75: spark.connect.Drop.columns:type_name -> spark.connect.Expression + 4, // 76: spark.connect.Deduplicate.input:type_name -> spark.connect.Relation + 4, // 77: spark.connect.Sample.input:type_name -> spark.connect.Relation + 4, // 78: spark.connect.SubqueryAlias.input:type_name -> spark.connect.Relation + 4, // 79: spark.connect.Repartition.input:type_name -> spark.connect.Relation + 4, // 80: spark.connect.ShowString.input:type_name -> spark.connect.Relation + 4, // 81: spark.connect.HtmlString.input:type_name -> spark.connect.Relation + 4, // 82: spark.connect.StatSummary.input:type_name -> spark.connect.Relation + 4, // 83: spark.connect.StatDescribe.input:type_name -> spark.connect.Relation + 4, // 84: spark.connect.StatCrosstab.input:type_name -> spark.connect.Relation + 4, // 85: spark.connect.StatCov.input:type_name -> spark.connect.Relation + 4, // 86: spark.connect.StatCorr.input:type_name -> spark.connect.Relation + 4, // 87: spark.connect.StatApproxQuantile.input:type_name -> spark.connect.Relation + 4, // 88: spark.connect.StatFreqItems.input:type_name -> spark.connect.Relation + 4, // 89: spark.connect.StatSampleBy.input:type_name -> spark.connect.Relation + 66, // 90: spark.connect.StatSampleBy.col:type_name -> spark.connect.Expression + 59, // 91: spark.connect.StatSampleBy.fractions:type_name -> spark.connect.StatSampleBy.Fraction + 4, // 92: spark.connect.NAFill.input:type_name -> spark.connect.Relation + 68, // 93: spark.connect.NAFill.values:type_name -> spark.connect.Expression.Literal + 4, // 94: spark.connect.NADrop.input:type_name -> spark.connect.Relation + 4, // 95: spark.connect.NAReplace.input:type_name -> spark.connect.Relation + 60, // 96: spark.connect.NAReplace.replacements:type_name -> spark.connect.NAReplace.Replacement + 4, // 97: spark.connect.ToDF.input:type_name -> spark.connect.Relation + 4, // 98: spark.connect.WithColumnsRenamed.input:type_name -> spark.connect.Relation + 61, // 99: spark.connect.WithColumnsRenamed.rename_columns_map:type_name -> spark.connect.WithColumnsRenamed.RenameColumnsMapEntry + 4, // 100: spark.connect.WithColumns.input:type_name -> spark.connect.Relation + 69, // 101: spark.connect.WithColumns.aliases:type_name -> spark.connect.Expression.Alias + 4, // 102: spark.connect.WithWatermark.input:type_name -> spark.connect.Relation + 4, // 103: spark.connect.Hint.input:type_name -> spark.connect.Relation + 66, // 104: spark.connect.Hint.parameters:type_name -> spark.connect.Expression + 4, // 105: spark.connect.Unpivot.input:type_name -> spark.connect.Relation + 66, // 106: spark.connect.Unpivot.ids:type_name -> spark.connect.Expression + 62, // 107: spark.connect.Unpivot.values:type_name -> spark.connect.Unpivot.Values + 4, // 108: spark.connect.ToSchema.input:type_name -> spark.connect.Relation + 70, // 109: spark.connect.ToSchema.schema:type_name -> spark.connect.DataType + 4, // 110: spark.connect.RepartitionByExpression.input:type_name -> spark.connect.Relation + 66, // 111: spark.connect.RepartitionByExpression.partition_exprs:type_name -> spark.connect.Expression + 4, // 112: spark.connect.MapPartitions.input:type_name -> spark.connect.Relation + 71, // 113: spark.connect.MapPartitions.func:type_name -> spark.connect.CommonInlineUserDefinedFunction + 4, // 114: spark.connect.GroupMap.input:type_name -> spark.connect.Relation + 66, // 115: spark.connect.GroupMap.grouping_expressions:type_name -> spark.connect.Expression + 71, // 116: spark.connect.GroupMap.func:type_name -> spark.connect.CommonInlineUserDefinedFunction + 66, // 117: spark.connect.GroupMap.sorting_expressions:type_name -> spark.connect.Expression + 4, // 118: spark.connect.CoGroupMap.input:type_name -> spark.connect.Relation + 66, // 119: spark.connect.CoGroupMap.input_grouping_expressions:type_name -> spark.connect.Expression + 4, // 120: spark.connect.CoGroupMap.other:type_name -> spark.connect.Relation + 66, // 121: spark.connect.CoGroupMap.other_grouping_expressions:type_name -> spark.connect.Expression + 71, // 122: spark.connect.CoGroupMap.func:type_name -> spark.connect.CommonInlineUserDefinedFunction + 66, // 123: spark.connect.CoGroupMap.input_sorting_expressions:type_name -> spark.connect.Expression + 66, // 124: spark.connect.CoGroupMap.other_sorting_expressions:type_name -> spark.connect.Expression + 4, // 125: spark.connect.ApplyInPandasWithState.input:type_name -> spark.connect.Relation + 66, // 126: spark.connect.ApplyInPandasWithState.grouping_expressions:type_name -> spark.connect.Expression + 71, // 127: spark.connect.ApplyInPandasWithState.func:type_name -> spark.connect.CommonInlineUserDefinedFunction + 4, // 128: spark.connect.CollectMetrics.input:type_name -> spark.connect.Relation + 66, // 129: spark.connect.CollectMetrics.metrics:type_name -> spark.connect.Expression + 4, // 130: spark.connect.Parse.input:type_name -> spark.connect.Relation + 3, // 131: spark.connect.Parse.format:type_name -> spark.connect.Parse.ParseFormat + 70, // 132: spark.connect.Parse.schema:type_name -> spark.connect.DataType + 63, // 133: spark.connect.Parse.options:type_name -> spark.connect.Parse.OptionsEntry + 68, // 134: spark.connect.SQL.ArgsEntry.value:type_name -> spark.connect.Expression.Literal + 56, // 135: spark.connect.Read.NamedTable.options:type_name -> spark.connect.Read.NamedTable.OptionsEntry + 57, // 136: spark.connect.Read.DataSource.options:type_name -> spark.connect.Read.DataSource.OptionsEntry + 66, // 137: spark.connect.Aggregate.Pivot.col:type_name -> spark.connect.Expression + 68, // 138: spark.connect.Aggregate.Pivot.values:type_name -> spark.connect.Expression.Literal + 68, // 139: spark.connect.StatSampleBy.Fraction.stratum:type_name -> spark.connect.Expression.Literal + 68, // 140: spark.connect.NAReplace.Replacement.old_value:type_name -> spark.connect.Expression.Literal + 68, // 141: spark.connect.NAReplace.Replacement.new_value:type_name -> spark.connect.Expression.Literal + 66, // 142: spark.connect.Unpivot.Values.values:type_name -> spark.connect.Expression + 143, // [143:143] is the sub-list for method output_type + 143, // [143:143] is the sub-list for method input_type + 143, // [143:143] is the sub-list for extension type_name + 143, // [143:143] is the sub-list for extension extendee + 0, // [0:143] is the sub-list for field type_name +} + +func init() { file_spark_connect_relations_proto_init() } +func file_spark_connect_relations_proto_init() { + if File_spark_connect_relations_proto != nil { + return + } + file_spark_connect_expressions_proto_init() + file_spark_connect_types_proto_init() + file_spark_connect_catalog_proto_init() + if !protoimpl.UnsafeEnabled { + file_spark_connect_relations_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Relation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Unknown); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RelationCommon); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SQL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Read); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Project); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Join); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetOperation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Limit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Offset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Aggregate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Sort); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Drop); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Deduplicate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LocalRelation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CachedLocalRelation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Sample); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Range); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubqueryAlias); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Repartition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HtmlString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatDescribe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatCrosstab); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatCov); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatCorr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatApproxQuantile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatFreqItems); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatSampleBy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NAFill); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NADrop); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NAReplace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ToDF); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithColumnsRenamed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithColumns); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithWatermark); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Unpivot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ToSchema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepartitionByExpression); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapPartitions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupMap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CoGroupMap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyInPandasWithState); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CollectMetrics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Parse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Read_NamedTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Read_DataSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Aggregate_Pivot); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatSampleBy_Fraction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NAReplace_Replacement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_relations_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Unpivot_Values); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_spark_connect_relations_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Relation_Read)(nil), + (*Relation_Project)(nil), + (*Relation_Filter)(nil), + (*Relation_Join)(nil), + (*Relation_SetOp)(nil), + (*Relation_Sort)(nil), + (*Relation_Limit)(nil), + (*Relation_Aggregate)(nil), + (*Relation_Sql)(nil), + (*Relation_LocalRelation)(nil), + (*Relation_Sample)(nil), + (*Relation_Offset)(nil), + (*Relation_Deduplicate)(nil), + (*Relation_Range)(nil), + (*Relation_SubqueryAlias)(nil), + (*Relation_Repartition)(nil), + (*Relation_ToDf)(nil), + (*Relation_WithColumnsRenamed)(nil), + (*Relation_ShowString)(nil), + (*Relation_Drop)(nil), + (*Relation_Tail)(nil), + (*Relation_WithColumns)(nil), + (*Relation_Hint)(nil), + (*Relation_Unpivot)(nil), + (*Relation_ToSchema)(nil), + (*Relation_RepartitionByExpression)(nil), + (*Relation_MapPartitions)(nil), + (*Relation_CollectMetrics)(nil), + (*Relation_Parse)(nil), + (*Relation_GroupMap)(nil), + (*Relation_CoGroupMap)(nil), + (*Relation_WithWatermark)(nil), + (*Relation_ApplyInPandasWithState)(nil), + (*Relation_HtmlString)(nil), + (*Relation_CachedLocalRelation)(nil), + (*Relation_FillNa)(nil), + (*Relation_DropNa)(nil), + (*Relation_Replace)(nil), + (*Relation_Summary)(nil), + (*Relation_Crosstab)(nil), + (*Relation_Describe)(nil), + (*Relation_Cov)(nil), + (*Relation_Corr)(nil), + (*Relation_ApproxQuantile)(nil), + (*Relation_FreqItems)(nil), + (*Relation_SampleBy)(nil), + (*Relation_Catalog)(nil), + (*Relation_Extension)(nil), + (*Relation_Unknown)(nil), + } + file_spark_connect_relations_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*Read_NamedTable_)(nil), + (*Read_DataSource_)(nil), + } + file_spark_connect_relations_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[21].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[28].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[30].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[31].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[33].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[40].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[42].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[43].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[48].OneofWrappers = []interface{}{} + file_spark_connect_relations_proto_msgTypes[51].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_relations_proto_rawDesc, + NumEnums: 4, + NumMessages: 60, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_relations_proto_goTypes, + DependencyIndexes: file_spark_connect_relations_proto_depIdxs, + EnumInfos: file_spark_connect_relations_proto_enumTypes, + MessageInfos: file_spark_connect_relations_proto_msgTypes, + }.Build() + File_spark_connect_relations_proto = out.File + file_spark_connect_relations_proto_rawDesc = nil + file_spark_connect_relations_proto_goTypes = nil + file_spark_connect_relations_proto_depIdxs = nil +} diff --git a/internal/generated/types.pb.go b/internal/generated/types.pb.go new file mode 100644 index 0000000..da195d5 --- /dev/null +++ b/internal/generated/types.pb.go @@ -0,0 +1,2502 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: spark/connect/types.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This message describes the logical [[DataType]] of something. It does not carry the value +// itself but only describes it. +type DataType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Kind: + // + // *DataType_Null + // *DataType_Binary_ + // *DataType_Boolean_ + // *DataType_Byte_ + // *DataType_Short_ + // *DataType_Integer_ + // *DataType_Long_ + // *DataType_Float_ + // *DataType_Double_ + // *DataType_Decimal_ + // *DataType_String_ + // *DataType_Char_ + // *DataType_VarChar_ + // *DataType_Date_ + // *DataType_Timestamp_ + // *DataType_TimestampNtz + // *DataType_CalendarInterval_ + // *DataType_YearMonthInterval_ + // *DataType_DayTimeInterval_ + // *DataType_Array_ + // *DataType_Struct_ + // *DataType_Map_ + // *DataType_Udt + // *DataType_Unparsed_ + Kind isDataType_Kind `protobuf_oneof:"kind"` +} + +func (x *DataType) Reset() { + *x = DataType{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType) ProtoMessage() {} + +func (x *DataType) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType.ProtoReflect.Descriptor instead. +func (*DataType) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0} +} + +func (m *DataType) GetKind() isDataType_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *DataType) GetNull() *DataType_NULL { + if x, ok := x.GetKind().(*DataType_Null); ok { + return x.Null + } + return nil +} + +func (x *DataType) GetBinary() *DataType_Binary { + if x, ok := x.GetKind().(*DataType_Binary_); ok { + return x.Binary + } + return nil +} + +func (x *DataType) GetBoolean() *DataType_Boolean { + if x, ok := x.GetKind().(*DataType_Boolean_); ok { + return x.Boolean + } + return nil +} + +func (x *DataType) GetByte() *DataType_Byte { + if x, ok := x.GetKind().(*DataType_Byte_); ok { + return x.Byte + } + return nil +} + +func (x *DataType) GetShort() *DataType_Short { + if x, ok := x.GetKind().(*DataType_Short_); ok { + return x.Short + } + return nil +} + +func (x *DataType) GetInteger() *DataType_Integer { + if x, ok := x.GetKind().(*DataType_Integer_); ok { + return x.Integer + } + return nil +} + +func (x *DataType) GetLong() *DataType_Long { + if x, ok := x.GetKind().(*DataType_Long_); ok { + return x.Long + } + return nil +} + +func (x *DataType) GetFloat() *DataType_Float { + if x, ok := x.GetKind().(*DataType_Float_); ok { + return x.Float + } + return nil +} + +func (x *DataType) GetDouble() *DataType_Double { + if x, ok := x.GetKind().(*DataType_Double_); ok { + return x.Double + } + return nil +} + +func (x *DataType) GetDecimal() *DataType_Decimal { + if x, ok := x.GetKind().(*DataType_Decimal_); ok { + return x.Decimal + } + return nil +} + +func (x *DataType) GetString_() *DataType_String { + if x, ok := x.GetKind().(*DataType_String_); ok { + return x.String_ + } + return nil +} + +func (x *DataType) GetChar() *DataType_Char { + if x, ok := x.GetKind().(*DataType_Char_); ok { + return x.Char + } + return nil +} + +func (x *DataType) GetVarChar() *DataType_VarChar { + if x, ok := x.GetKind().(*DataType_VarChar_); ok { + return x.VarChar + } + return nil +} + +func (x *DataType) GetDate() *DataType_Date { + if x, ok := x.GetKind().(*DataType_Date_); ok { + return x.Date + } + return nil +} + +func (x *DataType) GetTimestamp() *DataType_Timestamp { + if x, ok := x.GetKind().(*DataType_Timestamp_); ok { + return x.Timestamp + } + return nil +} + +func (x *DataType) GetTimestampNtz() *DataType_TimestampNTZ { + if x, ok := x.GetKind().(*DataType_TimestampNtz); ok { + return x.TimestampNtz + } + return nil +} + +func (x *DataType) GetCalendarInterval() *DataType_CalendarInterval { + if x, ok := x.GetKind().(*DataType_CalendarInterval_); ok { + return x.CalendarInterval + } + return nil +} + +func (x *DataType) GetYearMonthInterval() *DataType_YearMonthInterval { + if x, ok := x.GetKind().(*DataType_YearMonthInterval_); ok { + return x.YearMonthInterval + } + return nil +} + +func (x *DataType) GetDayTimeInterval() *DataType_DayTimeInterval { + if x, ok := x.GetKind().(*DataType_DayTimeInterval_); ok { + return x.DayTimeInterval + } + return nil +} + +func (x *DataType) GetArray() *DataType_Array { + if x, ok := x.GetKind().(*DataType_Array_); ok { + return x.Array + } + return nil +} + +func (x *DataType) GetStruct() *DataType_Struct { + if x, ok := x.GetKind().(*DataType_Struct_); ok { + return x.Struct + } + return nil +} + +func (x *DataType) GetMap() *DataType_Map { + if x, ok := x.GetKind().(*DataType_Map_); ok { + return x.Map + } + return nil +} + +func (x *DataType) GetUdt() *DataType_UDT { + if x, ok := x.GetKind().(*DataType_Udt); ok { + return x.Udt + } + return nil +} + +func (x *DataType) GetUnparsed() *DataType_Unparsed { + if x, ok := x.GetKind().(*DataType_Unparsed_); ok { + return x.Unparsed + } + return nil +} + +type isDataType_Kind interface { + isDataType_Kind() +} + +type DataType_Null struct { + Null *DataType_NULL `protobuf:"bytes,1,opt,name=null,proto3,oneof"` +} + +type DataType_Binary_ struct { + Binary *DataType_Binary `protobuf:"bytes,2,opt,name=binary,proto3,oneof"` +} + +type DataType_Boolean_ struct { + Boolean *DataType_Boolean `protobuf:"bytes,3,opt,name=boolean,proto3,oneof"` +} + +type DataType_Byte_ struct { + // Numeric types + Byte *DataType_Byte `protobuf:"bytes,4,opt,name=byte,proto3,oneof"` +} + +type DataType_Short_ struct { + Short *DataType_Short `protobuf:"bytes,5,opt,name=short,proto3,oneof"` +} + +type DataType_Integer_ struct { + Integer *DataType_Integer `protobuf:"bytes,6,opt,name=integer,proto3,oneof"` +} + +type DataType_Long_ struct { + Long *DataType_Long `protobuf:"bytes,7,opt,name=long,proto3,oneof"` +} + +type DataType_Float_ struct { + Float *DataType_Float `protobuf:"bytes,8,opt,name=float,proto3,oneof"` +} + +type DataType_Double_ struct { + Double *DataType_Double `protobuf:"bytes,9,opt,name=double,proto3,oneof"` +} + +type DataType_Decimal_ struct { + Decimal *DataType_Decimal `protobuf:"bytes,10,opt,name=decimal,proto3,oneof"` +} + +type DataType_String_ struct { + // String types + String_ *DataType_String `protobuf:"bytes,11,opt,name=string,proto3,oneof"` +} + +type DataType_Char_ struct { + Char *DataType_Char `protobuf:"bytes,12,opt,name=char,proto3,oneof"` +} + +type DataType_VarChar_ struct { + VarChar *DataType_VarChar `protobuf:"bytes,13,opt,name=var_char,json=varChar,proto3,oneof"` +} + +type DataType_Date_ struct { + // Datatime types + Date *DataType_Date `protobuf:"bytes,14,opt,name=date,proto3,oneof"` +} + +type DataType_Timestamp_ struct { + Timestamp *DataType_Timestamp `protobuf:"bytes,15,opt,name=timestamp,proto3,oneof"` +} + +type DataType_TimestampNtz struct { + TimestampNtz *DataType_TimestampNTZ `protobuf:"bytes,16,opt,name=timestamp_ntz,json=timestampNtz,proto3,oneof"` +} + +type DataType_CalendarInterval_ struct { + // Interval types + CalendarInterval *DataType_CalendarInterval `protobuf:"bytes,17,opt,name=calendar_interval,json=calendarInterval,proto3,oneof"` +} + +type DataType_YearMonthInterval_ struct { + YearMonthInterval *DataType_YearMonthInterval `protobuf:"bytes,18,opt,name=year_month_interval,json=yearMonthInterval,proto3,oneof"` +} + +type DataType_DayTimeInterval_ struct { + DayTimeInterval *DataType_DayTimeInterval `protobuf:"bytes,19,opt,name=day_time_interval,json=dayTimeInterval,proto3,oneof"` +} + +type DataType_Array_ struct { + // Complex types + Array *DataType_Array `protobuf:"bytes,20,opt,name=array,proto3,oneof"` +} + +type DataType_Struct_ struct { + Struct *DataType_Struct `protobuf:"bytes,21,opt,name=struct,proto3,oneof"` +} + +type DataType_Map_ struct { + Map *DataType_Map `protobuf:"bytes,22,opt,name=map,proto3,oneof"` +} + +type DataType_Udt struct { + // UserDefinedType + Udt *DataType_UDT `protobuf:"bytes,23,opt,name=udt,proto3,oneof"` +} + +type DataType_Unparsed_ struct { + // UnparsedDataType + Unparsed *DataType_Unparsed `protobuf:"bytes,24,opt,name=unparsed,proto3,oneof"` +} + +func (*DataType_Null) isDataType_Kind() {} + +func (*DataType_Binary_) isDataType_Kind() {} + +func (*DataType_Boolean_) isDataType_Kind() {} + +func (*DataType_Byte_) isDataType_Kind() {} + +func (*DataType_Short_) isDataType_Kind() {} + +func (*DataType_Integer_) isDataType_Kind() {} + +func (*DataType_Long_) isDataType_Kind() {} + +func (*DataType_Float_) isDataType_Kind() {} + +func (*DataType_Double_) isDataType_Kind() {} + +func (*DataType_Decimal_) isDataType_Kind() {} + +func (*DataType_String_) isDataType_Kind() {} + +func (*DataType_Char_) isDataType_Kind() {} + +func (*DataType_VarChar_) isDataType_Kind() {} + +func (*DataType_Date_) isDataType_Kind() {} + +func (*DataType_Timestamp_) isDataType_Kind() {} + +func (*DataType_TimestampNtz) isDataType_Kind() {} + +func (*DataType_CalendarInterval_) isDataType_Kind() {} + +func (*DataType_YearMonthInterval_) isDataType_Kind() {} + +func (*DataType_DayTimeInterval_) isDataType_Kind() {} + +func (*DataType_Array_) isDataType_Kind() {} + +func (*DataType_Struct_) isDataType_Kind() {} + +func (*DataType_Map_) isDataType_Kind() {} + +func (*DataType_Udt) isDataType_Kind() {} + +func (*DataType_Unparsed_) isDataType_Kind() {} + +type DataType_Boolean struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Boolean) Reset() { + *x = DataType_Boolean{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Boolean) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Boolean) ProtoMessage() {} + +func (x *DataType_Boolean) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Boolean.ProtoReflect.Descriptor instead. +func (*DataType_Boolean) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *DataType_Boolean) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Byte struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Byte) Reset() { + *x = DataType_Byte{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Byte) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Byte) ProtoMessage() {} + +func (x *DataType_Byte) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Byte.ProtoReflect.Descriptor instead. +func (*DataType_Byte) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *DataType_Byte) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Short struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Short) Reset() { + *x = DataType_Short{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Short) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Short) ProtoMessage() {} + +func (x *DataType_Short) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Short.ProtoReflect.Descriptor instead. +func (*DataType_Short) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *DataType_Short) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Integer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Integer) Reset() { + *x = DataType_Integer{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Integer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Integer) ProtoMessage() {} + +func (x *DataType_Integer) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Integer.ProtoReflect.Descriptor instead. +func (*DataType_Integer) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *DataType_Integer) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Long struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Long) Reset() { + *x = DataType_Long{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Long) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Long) ProtoMessage() {} + +func (x *DataType_Long) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Long.ProtoReflect.Descriptor instead. +func (*DataType_Long) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *DataType_Long) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Float struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Float) Reset() { + *x = DataType_Float{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Float) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Float) ProtoMessage() {} + +func (x *DataType_Float) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Float.ProtoReflect.Descriptor instead. +func (*DataType_Float) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *DataType_Float) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Double struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Double) Reset() { + *x = DataType_Double{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Double) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Double) ProtoMessage() {} + +func (x *DataType_Double) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Double.ProtoReflect.Descriptor instead. +func (*DataType_Double) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *DataType_Double) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_String struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_String) Reset() { + *x = DataType_String{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_String) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_String) ProtoMessage() {} + +func (x *DataType_String) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_String.ProtoReflect.Descriptor instead. +func (*DataType_String) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *DataType_String) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Binary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Binary) Reset() { + *x = DataType_Binary{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Binary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Binary) ProtoMessage() {} + +func (x *DataType_Binary) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Binary.ProtoReflect.Descriptor instead. +func (*DataType_Binary) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 8} +} + +func (x *DataType_Binary) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_NULL struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_NULL) Reset() { + *x = DataType_NULL{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_NULL) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_NULL) ProtoMessage() {} + +func (x *DataType_NULL) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_NULL.ProtoReflect.Descriptor instead. +func (*DataType_NULL) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 9} +} + +func (x *DataType_NULL) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Timestamp) Reset() { + *x = DataType_Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Timestamp) ProtoMessage() {} + +func (x *DataType_Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Timestamp.ProtoReflect.Descriptor instead. +func (*DataType_Timestamp) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 10} +} + +func (x *DataType_Timestamp) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Date struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Date) Reset() { + *x = DataType_Date{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Date) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Date) ProtoMessage() {} + +func (x *DataType_Date) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Date.ProtoReflect.Descriptor instead. +func (*DataType_Date) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 11} +} + +func (x *DataType_Date) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_TimestampNTZ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_TimestampNTZ) Reset() { + *x = DataType_TimestampNTZ{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_TimestampNTZ) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_TimestampNTZ) ProtoMessage() {} + +func (x *DataType_TimestampNTZ) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_TimestampNTZ.ProtoReflect.Descriptor instead. +func (*DataType_TimestampNTZ) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 12} +} + +func (x *DataType_TimestampNTZ) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_CalendarInterval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeVariationReference uint32 `protobuf:"varint,1,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_CalendarInterval) Reset() { + *x = DataType_CalendarInterval{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_CalendarInterval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_CalendarInterval) ProtoMessage() {} + +func (x *DataType_CalendarInterval) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_CalendarInterval.ProtoReflect.Descriptor instead. +func (*DataType_CalendarInterval) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 13} +} + +func (x *DataType_CalendarInterval) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_YearMonthInterval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartField *int32 `protobuf:"varint,1,opt,name=start_field,json=startField,proto3,oneof" json:"start_field,omitempty"` + EndField *int32 `protobuf:"varint,2,opt,name=end_field,json=endField,proto3,oneof" json:"end_field,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,3,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_YearMonthInterval) Reset() { + *x = DataType_YearMonthInterval{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_YearMonthInterval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_YearMonthInterval) ProtoMessage() {} + +func (x *DataType_YearMonthInterval) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_YearMonthInterval.ProtoReflect.Descriptor instead. +func (*DataType_YearMonthInterval) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 14} +} + +func (x *DataType_YearMonthInterval) GetStartField() int32 { + if x != nil && x.StartField != nil { + return *x.StartField + } + return 0 +} + +func (x *DataType_YearMonthInterval) GetEndField() int32 { + if x != nil && x.EndField != nil { + return *x.EndField + } + return 0 +} + +func (x *DataType_YearMonthInterval) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_DayTimeInterval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartField *int32 `protobuf:"varint,1,opt,name=start_field,json=startField,proto3,oneof" json:"start_field,omitempty"` + EndField *int32 `protobuf:"varint,2,opt,name=end_field,json=endField,proto3,oneof" json:"end_field,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,3,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_DayTimeInterval) Reset() { + *x = DataType_DayTimeInterval{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_DayTimeInterval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_DayTimeInterval) ProtoMessage() {} + +func (x *DataType_DayTimeInterval) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_DayTimeInterval.ProtoReflect.Descriptor instead. +func (*DataType_DayTimeInterval) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 15} +} + +func (x *DataType_DayTimeInterval) GetStartField() int32 { + if x != nil && x.StartField != nil { + return *x.StartField + } + return 0 +} + +func (x *DataType_DayTimeInterval) GetEndField() int32 { + if x != nil && x.EndField != nil { + return *x.EndField + } + return 0 +} + +func (x *DataType_DayTimeInterval) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +// Start compound types. +type DataType_Char struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,2,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Char) Reset() { + *x = DataType_Char{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Char) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Char) ProtoMessage() {} + +func (x *DataType_Char) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Char.ProtoReflect.Descriptor instead. +func (*DataType_Char) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 16} +} + +func (x *DataType_Char) GetLength() int32 { + if x != nil { + return x.Length + } + return 0 +} + +func (x *DataType_Char) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_VarChar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,2,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_VarChar) Reset() { + *x = DataType_VarChar{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_VarChar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_VarChar) ProtoMessage() {} + +func (x *DataType_VarChar) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_VarChar.ProtoReflect.Descriptor instead. +func (*DataType_VarChar) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 17} +} + +func (x *DataType_VarChar) GetLength() int32 { + if x != nil { + return x.Length + } + return 0 +} + +func (x *DataType_VarChar) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Decimal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Scale *int32 `protobuf:"varint,1,opt,name=scale,proto3,oneof" json:"scale,omitempty"` + Precision *int32 `protobuf:"varint,2,opt,name=precision,proto3,oneof" json:"precision,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,3,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Decimal) Reset() { + *x = DataType_Decimal{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Decimal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Decimal) ProtoMessage() {} + +func (x *DataType_Decimal) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Decimal.ProtoReflect.Descriptor instead. +func (*DataType_Decimal) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 18} +} + +func (x *DataType_Decimal) GetScale() int32 { + if x != nil && x.Scale != nil { + return *x.Scale + } + return 0 +} + +func (x *DataType_Decimal) GetPrecision() int32 { + if x != nil && x.Precision != nil { + return *x.Precision + } + return 0 +} + +func (x *DataType_Decimal) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_StructField struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + DataType *DataType `protobuf:"bytes,2,opt,name=data_type,json=dataType,proto3" json:"data_type,omitempty"` + Nullable bool `protobuf:"varint,3,opt,name=nullable,proto3" json:"nullable,omitempty"` + Metadata *string `protobuf:"bytes,4,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` +} + +func (x *DataType_StructField) Reset() { + *x = DataType_StructField{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_StructField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_StructField) ProtoMessage() {} + +func (x *DataType_StructField) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_StructField.ProtoReflect.Descriptor instead. +func (*DataType_StructField) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 19} +} + +func (x *DataType_StructField) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DataType_StructField) GetDataType() *DataType { + if x != nil { + return x.DataType + } + return nil +} + +func (x *DataType_StructField) GetNullable() bool { + if x != nil { + return x.Nullable + } + return false +} + +func (x *DataType_StructField) GetMetadata() string { + if x != nil && x.Metadata != nil { + return *x.Metadata + } + return "" +} + +type DataType_Struct struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fields []*DataType_StructField `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,2,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Struct) Reset() { + *x = DataType_Struct{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Struct) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Struct) ProtoMessage() {} + +func (x *DataType_Struct) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Struct.ProtoReflect.Descriptor instead. +func (*DataType_Struct) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 20} +} + +func (x *DataType_Struct) GetFields() []*DataType_StructField { + if x != nil { + return x.Fields + } + return nil +} + +func (x *DataType_Struct) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Array struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ElementType *DataType `protobuf:"bytes,1,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"` + ContainsNull bool `protobuf:"varint,2,opt,name=contains_null,json=containsNull,proto3" json:"contains_null,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,3,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Array) Reset() { + *x = DataType_Array{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Array) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Array) ProtoMessage() {} + +func (x *DataType_Array) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Array.ProtoReflect.Descriptor instead. +func (*DataType_Array) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 21} +} + +func (x *DataType_Array) GetElementType() *DataType { + if x != nil { + return x.ElementType + } + return nil +} + +func (x *DataType_Array) GetContainsNull() bool { + if x != nil { + return x.ContainsNull + } + return false +} + +func (x *DataType_Array) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_Map struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + KeyType *DataType `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` + ValueType *DataType `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` + ValueContainsNull bool `protobuf:"varint,3,opt,name=value_contains_null,json=valueContainsNull,proto3" json:"value_contains_null,omitempty"` + TypeVariationReference uint32 `protobuf:"varint,4,opt,name=type_variation_reference,json=typeVariationReference,proto3" json:"type_variation_reference,omitempty"` +} + +func (x *DataType_Map) Reset() { + *x = DataType_Map{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Map) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Map) ProtoMessage() {} + +func (x *DataType_Map) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Map.ProtoReflect.Descriptor instead. +func (*DataType_Map) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 22} +} + +func (x *DataType_Map) GetKeyType() *DataType { + if x != nil { + return x.KeyType + } + return nil +} + +func (x *DataType_Map) GetValueType() *DataType { + if x != nil { + return x.ValueType + } + return nil +} + +func (x *DataType_Map) GetValueContainsNull() bool { + if x != nil { + return x.ValueContainsNull + } + return false +} + +func (x *DataType_Map) GetTypeVariationReference() uint32 { + if x != nil { + return x.TypeVariationReference + } + return 0 +} + +type DataType_UDT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + JvmClass *string `protobuf:"bytes,2,opt,name=jvm_class,json=jvmClass,proto3,oneof" json:"jvm_class,omitempty"` + PythonClass *string `protobuf:"bytes,3,opt,name=python_class,json=pythonClass,proto3,oneof" json:"python_class,omitempty"` + SerializedPythonClass *string `protobuf:"bytes,4,opt,name=serialized_python_class,json=serializedPythonClass,proto3,oneof" json:"serialized_python_class,omitempty"` + SqlType *DataType `protobuf:"bytes,5,opt,name=sql_type,json=sqlType,proto3" json:"sql_type,omitempty"` +} + +func (x *DataType_UDT) Reset() { + *x = DataType_UDT{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_UDT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_UDT) ProtoMessage() {} + +func (x *DataType_UDT) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_UDT.ProtoReflect.Descriptor instead. +func (*DataType_UDT) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 23} +} + +func (x *DataType_UDT) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DataType_UDT) GetJvmClass() string { + if x != nil && x.JvmClass != nil { + return *x.JvmClass + } + return "" +} + +func (x *DataType_UDT) GetPythonClass() string { + if x != nil && x.PythonClass != nil { + return *x.PythonClass + } + return "" +} + +func (x *DataType_UDT) GetSerializedPythonClass() string { + if x != nil && x.SerializedPythonClass != nil { + return *x.SerializedPythonClass + } + return "" +} + +func (x *DataType_UDT) GetSqlType() *DataType { + if x != nil { + return x.SqlType + } + return nil +} + +type DataType_Unparsed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // (Required) The unparsed data type string + DataTypeString string `protobuf:"bytes,1,opt,name=data_type_string,json=dataTypeString,proto3" json:"data_type_string,omitempty"` +} + +func (x *DataType_Unparsed) Reset() { + *x = DataType_Unparsed{} + if protoimpl.UnsafeEnabled { + mi := &file_spark_connect_types_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataType_Unparsed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataType_Unparsed) ProtoMessage() {} + +func (x *DataType_Unparsed) ProtoReflect() protoreflect.Message { + mi := &file_spark_connect_types_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataType_Unparsed.ProtoReflect.Descriptor instead. +func (*DataType_Unparsed) Descriptor() ([]byte, []int) { + return file_spark_connect_types_proto_rawDescGZIP(), []int{0, 24} +} + +func (x *DataType_Unparsed) GetDataTypeString() string { + if x != nil { + return x.DataTypeString + } + return "" +} + +var File_spark_connect_types_proto protoreflect.FileDescriptor + +var file_spark_connect_types_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0xc7, 0x20, 0x0a, 0x08, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4e, + 0x55, 0x4c, 0x4c, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x38, 0x0a, 0x06, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, + 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x06, 0x62, + 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, + 0x61, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x48, 0x00, + 0x52, 0x04, 0x62, 0x79, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x53, + 0x68, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x3b, 0x0a, + 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x04, 0x6c, 0x6f, + 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x35, + 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x05, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, + 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x72, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x68, + 0x61, 0x72, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x72, 0x12, 0x3c, 0x0a, 0x08, 0x76, 0x61, + 0x72, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x61, 0x72, 0x43, 0x68, 0x61, 0x72, 0x48, 0x00, 0x52, + 0x07, 0x76, 0x61, 0x72, 0x43, 0x68, 0x61, 0x72, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, + 0x44, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x4b, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x74, 0x7a, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x54, 0x5a, 0x48, 0x00, 0x52, 0x0c, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x74, 0x7a, 0x12, 0x57, 0x0a, 0x11, + 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x2e, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x48, 0x00, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x13, 0x79, 0x65, 0x61, 0x72, 0x5f, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x59, 0x65, 0x61, 0x72, + 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, + 0x11, 0x79, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x12, 0x55, 0x0a, 0x11, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x35, 0x0a, 0x05, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x03, 0x6d, 0x61, + 0x70, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x2e, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x2f, 0x0a, 0x03, 0x75, + 0x64, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, + 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x2e, 0x55, 0x44, 0x54, 0x48, 0x00, 0x52, 0x03, 0x75, 0x64, 0x74, 0x12, 0x3e, 0x0a, 0x08, + 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x55, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, + 0x48, 0x00, 0x52, 0x08, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x1a, 0x43, 0x0a, 0x07, + 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x1a, 0x40, 0x0a, 0x04, 0x42, 0x79, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, + 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x1a, 0x41, 0x0a, 0x05, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x12, 0x38, 0x0a, 0x18, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, + 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x43, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x40, 0x0a, 0x04, 0x4c, + 0x6f, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x41, 0x0a, + 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x1a, 0x42, 0x0a, 0x06, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, + 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x42, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, + 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x42, 0x0a, 0x06, 0x42, 0x69, 0x6e, 0x61, + 0x72, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x40, 0x0a, 0x04, + 0x4e, 0x55, 0x4c, 0x4c, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x45, + 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x38, 0x0a, 0x18, 0x74, + 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, + 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x40, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, + 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x48, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x54, 0x5a, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x1a, 0x4c, 0x0a, 0x10, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, + 0xb3, 0x01, 0x0a, 0x11, 0x59, 0x65, 0x61, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x65, + 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x08, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, + 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x64, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0xb1, 0x01, 0x0a, 0x0f, 0x44, 0x61, 0x79, 0x54, 0x69, 0x6d, + 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, + 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x58, 0x0a, 0x04, 0x43, 0x68, 0x61, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, + 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x1a, 0x5b, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x43, 0x68, 0x61, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x1a, 0x99, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x05, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x09, 0x70, 0x72, + 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, + 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xa1, 0x01, 0x0a, + 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x34, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x7f, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x70, 0x61, + 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, + 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, 0x70, 0x65, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x1a, 0xa2, 0x01, 0x0a, 0x05, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x3a, 0x0a, 0x0c, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x38, 0x0a, 0x18, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, + 0x74, 0x79, 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0xdb, 0x01, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x32, + 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x5f, 0x6e, 0x75, 0x6c, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x79, + 0x70, 0x65, 0x56, 0x61, 0x72, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x8f, 0x02, 0x0a, 0x03, 0x55, 0x44, 0x54, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x20, 0x0a, 0x09, 0x6a, 0x76, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6a, 0x76, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x79, 0x74, 0x68, + 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x73, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x15, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x71, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x61, 0x72, + 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x07, 0x73, 0x71, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x6a, 0x76, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x79, + 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, + 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x34, 0x0a, 0x08, 0x55, 0x6e, 0x70, 0x61, 0x72, 0x73, + 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x06, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x36, 0x0a, 0x1e, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, + 0x68, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spark_connect_types_proto_rawDescOnce sync.Once + file_spark_connect_types_proto_rawDescData = file_spark_connect_types_proto_rawDesc +) + +func file_spark_connect_types_proto_rawDescGZIP() []byte { + file_spark_connect_types_proto_rawDescOnce.Do(func() { + file_spark_connect_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_spark_connect_types_proto_rawDescData) + }) + return file_spark_connect_types_proto_rawDescData +} + +var file_spark_connect_types_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_spark_connect_types_proto_goTypes = []interface{}{ + (*DataType)(nil), // 0: spark.connect.DataType + (*DataType_Boolean)(nil), // 1: spark.connect.DataType.Boolean + (*DataType_Byte)(nil), // 2: spark.connect.DataType.Byte + (*DataType_Short)(nil), // 3: spark.connect.DataType.Short + (*DataType_Integer)(nil), // 4: spark.connect.DataType.Integer + (*DataType_Long)(nil), // 5: spark.connect.DataType.Long + (*DataType_Float)(nil), // 6: spark.connect.DataType.Float + (*DataType_Double)(nil), // 7: spark.connect.DataType.Double + (*DataType_String)(nil), // 8: spark.connect.DataType.String + (*DataType_Binary)(nil), // 9: spark.connect.DataType.Binary + (*DataType_NULL)(nil), // 10: spark.connect.DataType.NULL + (*DataType_Timestamp)(nil), // 11: spark.connect.DataType.Timestamp + (*DataType_Date)(nil), // 12: spark.connect.DataType.Date + (*DataType_TimestampNTZ)(nil), // 13: spark.connect.DataType.TimestampNTZ + (*DataType_CalendarInterval)(nil), // 14: spark.connect.DataType.CalendarInterval + (*DataType_YearMonthInterval)(nil), // 15: spark.connect.DataType.YearMonthInterval + (*DataType_DayTimeInterval)(nil), // 16: spark.connect.DataType.DayTimeInterval + (*DataType_Char)(nil), // 17: spark.connect.DataType.Char + (*DataType_VarChar)(nil), // 18: spark.connect.DataType.VarChar + (*DataType_Decimal)(nil), // 19: spark.connect.DataType.Decimal + (*DataType_StructField)(nil), // 20: spark.connect.DataType.StructField + (*DataType_Struct)(nil), // 21: spark.connect.DataType.Struct + (*DataType_Array)(nil), // 22: spark.connect.DataType.Array + (*DataType_Map)(nil), // 23: spark.connect.DataType.Map + (*DataType_UDT)(nil), // 24: spark.connect.DataType.UDT + (*DataType_Unparsed)(nil), // 25: spark.connect.DataType.Unparsed +} +var file_spark_connect_types_proto_depIdxs = []int32{ + 10, // 0: spark.connect.DataType.null:type_name -> spark.connect.DataType.NULL + 9, // 1: spark.connect.DataType.binary:type_name -> spark.connect.DataType.Binary + 1, // 2: spark.connect.DataType.boolean:type_name -> spark.connect.DataType.Boolean + 2, // 3: spark.connect.DataType.byte:type_name -> spark.connect.DataType.Byte + 3, // 4: spark.connect.DataType.short:type_name -> spark.connect.DataType.Short + 4, // 5: spark.connect.DataType.integer:type_name -> spark.connect.DataType.Integer + 5, // 6: spark.connect.DataType.long:type_name -> spark.connect.DataType.Long + 6, // 7: spark.connect.DataType.float:type_name -> spark.connect.DataType.Float + 7, // 8: spark.connect.DataType.double:type_name -> spark.connect.DataType.Double + 19, // 9: spark.connect.DataType.decimal:type_name -> spark.connect.DataType.Decimal + 8, // 10: spark.connect.DataType.string:type_name -> spark.connect.DataType.String + 17, // 11: spark.connect.DataType.char:type_name -> spark.connect.DataType.Char + 18, // 12: spark.connect.DataType.var_char:type_name -> spark.connect.DataType.VarChar + 12, // 13: spark.connect.DataType.date:type_name -> spark.connect.DataType.Date + 11, // 14: spark.connect.DataType.timestamp:type_name -> spark.connect.DataType.Timestamp + 13, // 15: spark.connect.DataType.timestamp_ntz:type_name -> spark.connect.DataType.TimestampNTZ + 14, // 16: spark.connect.DataType.calendar_interval:type_name -> spark.connect.DataType.CalendarInterval + 15, // 17: spark.connect.DataType.year_month_interval:type_name -> spark.connect.DataType.YearMonthInterval + 16, // 18: spark.connect.DataType.day_time_interval:type_name -> spark.connect.DataType.DayTimeInterval + 22, // 19: spark.connect.DataType.array:type_name -> spark.connect.DataType.Array + 21, // 20: spark.connect.DataType.struct:type_name -> spark.connect.DataType.Struct + 23, // 21: spark.connect.DataType.map:type_name -> spark.connect.DataType.Map + 24, // 22: spark.connect.DataType.udt:type_name -> spark.connect.DataType.UDT + 25, // 23: spark.connect.DataType.unparsed:type_name -> spark.connect.DataType.Unparsed + 0, // 24: spark.connect.DataType.StructField.data_type:type_name -> spark.connect.DataType + 20, // 25: spark.connect.DataType.Struct.fields:type_name -> spark.connect.DataType.StructField + 0, // 26: spark.connect.DataType.Array.element_type:type_name -> spark.connect.DataType + 0, // 27: spark.connect.DataType.Map.key_type:type_name -> spark.connect.DataType + 0, // 28: spark.connect.DataType.Map.value_type:type_name -> spark.connect.DataType + 0, // 29: spark.connect.DataType.UDT.sql_type:type_name -> spark.connect.DataType + 30, // [30:30] is the sub-list for method output_type + 30, // [30:30] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_spark_connect_types_proto_init() } +func file_spark_connect_types_proto_init() { + if File_spark_connect_types_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_spark_connect_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Boolean); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Byte); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Short); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Integer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Long); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Float); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Double); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_String); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Binary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_NULL); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Date); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_TimestampNTZ); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_CalendarInterval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_YearMonthInterval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_DayTimeInterval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Char); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_VarChar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Decimal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_StructField); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Struct); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Array); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Map); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_UDT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_spark_connect_types_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataType_Unparsed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_spark_connect_types_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*DataType_Null)(nil), + (*DataType_Binary_)(nil), + (*DataType_Boolean_)(nil), + (*DataType_Byte_)(nil), + (*DataType_Short_)(nil), + (*DataType_Integer_)(nil), + (*DataType_Long_)(nil), + (*DataType_Float_)(nil), + (*DataType_Double_)(nil), + (*DataType_Decimal_)(nil), + (*DataType_String_)(nil), + (*DataType_Char_)(nil), + (*DataType_VarChar_)(nil), + (*DataType_Date_)(nil), + (*DataType_Timestamp_)(nil), + (*DataType_TimestampNtz)(nil), + (*DataType_CalendarInterval_)(nil), + (*DataType_YearMonthInterval_)(nil), + (*DataType_DayTimeInterval_)(nil), + (*DataType_Array_)(nil), + (*DataType_Struct_)(nil), + (*DataType_Map_)(nil), + (*DataType_Udt)(nil), + (*DataType_Unparsed_)(nil), + } + file_spark_connect_types_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_spark_connect_types_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_spark_connect_types_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_spark_connect_types_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_spark_connect_types_proto_msgTypes[24].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spark_connect_types_proto_rawDesc, + NumEnums: 0, + NumMessages: 26, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_spark_connect_types_proto_goTypes, + DependencyIndexes: file_spark_connect_types_proto_depIdxs, + MessageInfos: file_spark_connect_types_proto_msgTypes, + }.Build() + File_spark_connect_types_proto = out.File + file_spark_connect_types_proto_rawDesc = nil + file_spark_connect_types_proto_goTypes = nil + file_spark_connect_types_proto_depIdxs = nil +}