blob: cd300d1b4b611ec91207947e902d2c86b641e580 [file] [log] [blame]
//
// 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}
}
type Expression_Cast_EvalMode int32
const (
Expression_Cast_EVAL_MODE_UNSPECIFIED Expression_Cast_EvalMode = 0
Expression_Cast_EVAL_MODE_LEGACY Expression_Cast_EvalMode = 1
Expression_Cast_EVAL_MODE_ANSI Expression_Cast_EvalMode = 2
Expression_Cast_EVAL_MODE_TRY Expression_Cast_EvalMode = 3
)
// Enum value maps for Expression_Cast_EvalMode.
var (
Expression_Cast_EvalMode_name = map[int32]string{
0: "EVAL_MODE_UNSPECIFIED",
1: "EVAL_MODE_LEGACY",
2: "EVAL_MODE_ANSI",
3: "EVAL_MODE_TRY",
}
Expression_Cast_EvalMode_value = map[string]int32{
"EVAL_MODE_UNSPECIFIED": 0,
"EVAL_MODE_LEGACY": 1,
"EVAL_MODE_ANSI": 2,
"EVAL_MODE_TRY": 3,
}
)
func (x Expression_Cast_EvalMode) Enum() *Expression_Cast_EvalMode {
p := new(Expression_Cast_EvalMode)
*p = x
return p
}
func (x Expression_Cast_EvalMode) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Expression_Cast_EvalMode) Descriptor() protoreflect.EnumDescriptor {
return file_spark_connect_expressions_proto_enumTypes[3].Descriptor()
}
func (Expression_Cast_EvalMode) Type() protoreflect.EnumType {
return &file_spark_connect_expressions_proto_enumTypes[3]
}
func (x Expression_Cast_EvalMode) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Expression_Cast_EvalMode.Descriptor instead.
func (Expression_Cast_EvalMode) EnumDescriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 2, 0}
}
type MergeAction_ActionType int32
const (
MergeAction_ACTION_TYPE_INVALID MergeAction_ActionType = 0
MergeAction_ACTION_TYPE_DELETE MergeAction_ActionType = 1
MergeAction_ACTION_TYPE_INSERT MergeAction_ActionType = 2
MergeAction_ACTION_TYPE_INSERT_STAR MergeAction_ActionType = 3
MergeAction_ACTION_TYPE_UPDATE MergeAction_ActionType = 4
MergeAction_ACTION_TYPE_UPDATE_STAR MergeAction_ActionType = 5
)
// Enum value maps for MergeAction_ActionType.
var (
MergeAction_ActionType_name = map[int32]string{
0: "ACTION_TYPE_INVALID",
1: "ACTION_TYPE_DELETE",
2: "ACTION_TYPE_INSERT",
3: "ACTION_TYPE_INSERT_STAR",
4: "ACTION_TYPE_UPDATE",
5: "ACTION_TYPE_UPDATE_STAR",
}
MergeAction_ActionType_value = map[string]int32{
"ACTION_TYPE_INVALID": 0,
"ACTION_TYPE_DELETE": 1,
"ACTION_TYPE_INSERT": 2,
"ACTION_TYPE_INSERT_STAR": 3,
"ACTION_TYPE_UPDATE": 4,
"ACTION_TYPE_UPDATE_STAR": 5,
}
)
func (x MergeAction_ActionType) Enum() *MergeAction_ActionType {
p := new(MergeAction_ActionType)
*p = x
return p
}
func (x MergeAction_ActionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MergeAction_ActionType) Descriptor() protoreflect.EnumDescriptor {
return file_spark_connect_expressions_proto_enumTypes[4].Descriptor()
}
func (MergeAction_ActionType) Type() protoreflect.EnumType {
return &file_spark_connect_expressions_proto_enumTypes[4]
}
func (x MergeAction_ActionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MergeAction_ActionType.Descriptor instead.
func (MergeAction_ActionType) EnumDescriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{9, 0}
}
type SubqueryExpression_SubqueryType int32
const (
SubqueryExpression_SUBQUERY_TYPE_UNKNOWN SubqueryExpression_SubqueryType = 0
SubqueryExpression_SUBQUERY_TYPE_SCALAR SubqueryExpression_SubqueryType = 1
SubqueryExpression_SUBQUERY_TYPE_EXISTS SubqueryExpression_SubqueryType = 2
SubqueryExpression_SUBQUERY_TYPE_TABLE_ARG SubqueryExpression_SubqueryType = 3
SubqueryExpression_SUBQUERY_TYPE_IN SubqueryExpression_SubqueryType = 4
)
// Enum value maps for SubqueryExpression_SubqueryType.
var (
SubqueryExpression_SubqueryType_name = map[int32]string{
0: "SUBQUERY_TYPE_UNKNOWN",
1: "SUBQUERY_TYPE_SCALAR",
2: "SUBQUERY_TYPE_EXISTS",
3: "SUBQUERY_TYPE_TABLE_ARG",
4: "SUBQUERY_TYPE_IN",
}
SubqueryExpression_SubqueryType_value = map[string]int32{
"SUBQUERY_TYPE_UNKNOWN": 0,
"SUBQUERY_TYPE_SCALAR": 1,
"SUBQUERY_TYPE_EXISTS": 2,
"SUBQUERY_TYPE_TABLE_ARG": 3,
"SUBQUERY_TYPE_IN": 4,
}
)
func (x SubqueryExpression_SubqueryType) Enum() *SubqueryExpression_SubqueryType {
p := new(SubqueryExpression_SubqueryType)
*p = x
return p
}
func (x SubqueryExpression_SubqueryType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SubqueryExpression_SubqueryType) Descriptor() protoreflect.EnumDescriptor {
return file_spark_connect_expressions_proto_enumTypes[5].Descriptor()
}
func (SubqueryExpression_SubqueryType) Type() protoreflect.EnumType {
return &file_spark_connect_expressions_proto_enumTypes[5]
}
func (x SubqueryExpression_SubqueryType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SubqueryExpression_SubqueryType.Descriptor instead.
func (SubqueryExpression_SubqueryType) EnumDescriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{10, 0}
}
// 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
Common *ExpressionCommon `protobuf:"bytes,18,opt,name=common,proto3" json:"common,omitempty"`
// 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_CallFunction
// *Expression_NamedArgumentExpression
// *Expression_MergeAction
// *Expression_TypedAggregateExpression
// *Expression_SubqueryExpression
// *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 (x *Expression) GetCommon() *ExpressionCommon {
if x != nil {
return x.Common
}
return nil
}
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) GetCallFunction() *CallFunction {
if x, ok := x.GetExprType().(*Expression_CallFunction); ok {
return x.CallFunction
}
return nil
}
func (x *Expression) GetNamedArgumentExpression() *NamedArgumentExpression {
if x, ok := x.GetExprType().(*Expression_NamedArgumentExpression); ok {
return x.NamedArgumentExpression
}
return nil
}
func (x *Expression) GetMergeAction() *MergeAction {
if x, ok := x.GetExprType().(*Expression_MergeAction); ok {
return x.MergeAction
}
return nil
}
func (x *Expression) GetTypedAggregateExpression() *TypedAggregateExpression {
if x, ok := x.GetExprType().(*Expression_TypedAggregateExpression); ok {
return x.TypedAggregateExpression
}
return nil
}
func (x *Expression) GetSubqueryExpression() *SubqueryExpression {
if x, ok := x.GetExprType().(*Expression_SubqueryExpression); ok {
return x.SubqueryExpression
}
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_CallFunction struct {
CallFunction *CallFunction `protobuf:"bytes,16,opt,name=call_function,json=callFunction,proto3,oneof"`
}
type Expression_NamedArgumentExpression struct {
NamedArgumentExpression *NamedArgumentExpression `protobuf:"bytes,17,opt,name=named_argument_expression,json=namedArgumentExpression,proto3,oneof"`
}
type Expression_MergeAction struct {
MergeAction *MergeAction `protobuf:"bytes,19,opt,name=merge_action,json=mergeAction,proto3,oneof"`
}
type Expression_TypedAggregateExpression struct {
TypedAggregateExpression *TypedAggregateExpression `protobuf:"bytes,20,opt,name=typed_aggregate_expression,json=typedAggregateExpression,proto3,oneof"`
}
type Expression_SubqueryExpression struct {
SubqueryExpression *SubqueryExpression `protobuf:"bytes,21,opt,name=subquery_expression,json=subqueryExpression,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_CallFunction) isExpression_ExprType() {}
func (*Expression_NamedArgumentExpression) isExpression_ExprType() {}
func (*Expression_MergeAction) isExpression_ExprType() {}
func (*Expression_TypedAggregateExpression) isExpression_ExprType() {}
func (*Expression_SubqueryExpression) isExpression_ExprType() {}
func (*Expression_Extension) isExpression_ExprType() {}
type ExpressionCommon struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) Keep the information of the origin for this expression such as stacktrace.
Origin *Origin `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"`
}
func (x *ExpressionCommon) Reset() {
*x = ExpressionCommon{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ExpressionCommon) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ExpressionCommon) ProtoMessage() {}
func (x *ExpressionCommon) 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 ExpressionCommon.ProtoReflect.Descriptor instead.
func (*ExpressionCommon) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{1}
}
func (x *ExpressionCommon) GetOrigin() *Origin {
if x != nil {
return x.Origin
}
return nil
}
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"`
// (Required) Indicate if this function should be applied on distinct values.
IsDistinct bool `protobuf:"varint,7,opt,name=is_distinct,json=isDistinct,proto3" json:"is_distinct,omitempty"`
}
func (x *CommonInlineUserDefinedFunction) Reset() {
*x = CommonInlineUserDefinedFunction{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[2]
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[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 CommonInlineUserDefinedFunction.ProtoReflect.Descriptor instead.
func (*CommonInlineUserDefinedFunction) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{2}
}
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
}
func (x *CommonInlineUserDefinedFunction) GetIsDistinct() bool {
if x != nil {
return x.IsDistinct
}
return false
}
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"`
// (Optional) Additional includes for the Python UDF.
AdditionalIncludes []string `protobuf:"bytes,5,rep,name=additional_includes,json=additionalIncludes,proto3" json:"additional_includes,omitempty"`
}
func (x *PythonUDF) Reset() {
*x = PythonUDF{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[3]
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[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 PythonUDF.ProtoReflect.Descriptor instead.
func (*PythonUDF) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{3}
}
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 ""
}
func (x *PythonUDF) GetAdditionalIncludes() []string {
if x != nil {
return x.AdditionalIncludes
}
return nil
}
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"`
// (Required) Indicate if the UDF is an aggregate function
Aggregate bool `protobuf:"varint,5,opt,name=aggregate,proto3" json:"aggregate,omitempty"`
}
func (x *ScalarScalaUDF) Reset() {
*x = ScalarScalaUDF{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[4]
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[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 ScalarScalaUDF.ProtoReflect.Descriptor instead.
func (*ScalarScalaUDF) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{4}
}
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
}
func (x *ScalarScalaUDF) GetAggregate() bool {
if x != nil {
return x.Aggregate
}
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[5]
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[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 JavaUDF.ProtoReflect.Descriptor instead.
func (*JavaUDF) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{5}
}
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
}
type TypedAggregateExpression struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) The aggregate function object packed into bytes.
ScalarScalaUdf *ScalarScalaUDF `protobuf:"bytes,1,opt,name=scalar_scala_udf,json=scalarScalaUdf,proto3" json:"scalar_scala_udf,omitempty"`
}
func (x *TypedAggregateExpression) Reset() {
*x = TypedAggregateExpression{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TypedAggregateExpression) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TypedAggregateExpression) ProtoMessage() {}
func (x *TypedAggregateExpression) 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 TypedAggregateExpression.ProtoReflect.Descriptor instead.
func (*TypedAggregateExpression) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{6}
}
func (x *TypedAggregateExpression) GetScalarScalaUdf() *ScalarScalaUDF {
if x != nil {
return x.ScalarScalaUdf
}
return nil
}
type CallFunction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) Unparsed name of the SQL 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"`
}
func (x *CallFunction) Reset() {
*x = CallFunction{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CallFunction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallFunction) ProtoMessage() {}
func (x *CallFunction) 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 CallFunction.ProtoReflect.Descriptor instead.
func (*CallFunction) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{7}
}
func (x *CallFunction) GetFunctionName() string {
if x != nil {
return x.FunctionName
}
return ""
}
func (x *CallFunction) GetArguments() []*Expression {
if x != nil {
return x.Arguments
}
return nil
}
type NamedArgumentExpression struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) The key of the named argument.
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// (Required) The value expression of the named argument.
Value *Expression `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *NamedArgumentExpression) Reset() {
*x = NamedArgumentExpression{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NamedArgumentExpression) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NamedArgumentExpression) ProtoMessage() {}
func (x *NamedArgumentExpression) 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 NamedArgumentExpression.ProtoReflect.Descriptor instead.
func (*NamedArgumentExpression) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{8}
}
func (x *NamedArgumentExpression) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *NamedArgumentExpression) GetValue() *Expression {
if x != nil {
return x.Value
}
return nil
}
type MergeAction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) The action type of the merge action.
ActionType MergeAction_ActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,proto3,enum=spark.connect.MergeAction_ActionType" json:"action_type,omitempty"`
// (Optional) The condition expression of the merge action.
Condition *Expression `protobuf:"bytes,2,opt,name=condition,proto3,oneof" json:"condition,omitempty"`
// (Optional) The assignments of the merge action. Required for ActionTypes INSERT and UPDATE.
Assignments []*MergeAction_Assignment `protobuf:"bytes,3,rep,name=assignments,proto3" json:"assignments,omitempty"`
}
func (x *MergeAction) Reset() {
*x = MergeAction{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MergeAction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MergeAction) ProtoMessage() {}
func (x *MergeAction) 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 MergeAction.ProtoReflect.Descriptor instead.
func (*MergeAction) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{9}
}
func (x *MergeAction) GetActionType() MergeAction_ActionType {
if x != nil {
return x.ActionType
}
return MergeAction_ACTION_TYPE_INVALID
}
func (x *MergeAction) GetCondition() *Expression {
if x != nil {
return x.Condition
}
return nil
}
func (x *MergeAction) GetAssignments() []*MergeAction_Assignment {
if x != nil {
return x.Assignments
}
return nil
}
type SubqueryExpression struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) The ID of the corresponding connect plan.
PlanId int64 `protobuf:"varint,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"`
// (Required) The type of the subquery.
SubqueryType SubqueryExpression_SubqueryType `protobuf:"varint,2,opt,name=subquery_type,json=subqueryType,proto3,enum=spark.connect.SubqueryExpression_SubqueryType" json:"subquery_type,omitempty"`
// (Optional) Options specific to table arguments.
TableArgOptions *SubqueryExpression_TableArgOptions `protobuf:"bytes,3,opt,name=table_arg_options,json=tableArgOptions,proto3,oneof" json:"table_arg_options,omitempty"`
// (Optional) IN subquery values.
InSubqueryValues []*Expression `protobuf:"bytes,4,rep,name=in_subquery_values,json=inSubqueryValues,proto3" json:"in_subquery_values,omitempty"`
}
func (x *SubqueryExpression) Reset() {
*x = SubqueryExpression{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubqueryExpression) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubqueryExpression) ProtoMessage() {}
func (x *SubqueryExpression) 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 SubqueryExpression.ProtoReflect.Descriptor instead.
func (*SubqueryExpression) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{10}
}
func (x *SubqueryExpression) GetPlanId() int64 {
if x != nil {
return x.PlanId
}
return 0
}
func (x *SubqueryExpression) GetSubqueryType() SubqueryExpression_SubqueryType {
if x != nil {
return x.SubqueryType
}
return SubqueryExpression_SUBQUERY_TYPE_UNKNOWN
}
func (x *SubqueryExpression) GetTableArgOptions() *SubqueryExpression_TableArgOptions {
if x != nil {
return x.TableArgOptions
}
return nil
}
func (x *SubqueryExpression) GetInSubqueryValues() []*Expression {
if x != nil {
return x.InSubqueryValues
}
return nil
}
// 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[11]
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[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_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[12]
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[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_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"`
// (Optional) The expression evaluation mode.
EvalMode Expression_Cast_EvalMode `protobuf:"varint,4,opt,name=eval_mode,json=evalMode,proto3,enum=spark.connect.Expression_Cast_EvalMode" json:"eval_mode,omitempty"`
}
func (x *Expression_Cast) Reset() {
*x = Expression_Cast{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[13]
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[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_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 ""
}
func (x *Expression_Cast) GetEvalMode() Expression_Cast_EvalMode {
if x != nil {
return x.EvalMode
}
return Expression_Cast_EVAL_MODE_UNSPECIFIED
}
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_
// *Expression_Literal_SpecializedArray_
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[14]
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[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_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
}
func (x *Expression_Literal) GetSpecializedArray() *Expression_Literal_SpecializedArray {
if x, ok := x.GetLiteralType().(*Expression_Literal_SpecializedArray_); ok {
return x.SpecializedArray
}
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"`
}
type Expression_Literal_SpecializedArray_ struct {
SpecializedArray *Expression_Literal_SpecializedArray `protobuf:"bytes,25,opt,name=specialized_array,json=specializedArray,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() {}
func (*Expression_Literal_SpecializedArray_) 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"`
// (Optional) The requested column is a metadata column.
IsMetadataColumn *bool `protobuf:"varint,3,opt,name=is_metadata_column,json=isMetadataColumn,proto3,oneof" json:"is_metadata_column,omitempty"`
}
func (x *Expression_UnresolvedAttribute) Reset() {
*x = Expression_UnresolvedAttribute{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[15]
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[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_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
}
func (x *Expression_UnresolvedAttribute) GetIsMetadataColumn() bool {
if x != nil && x.IsMetadataColumn != nil {
return *x.IsMetadataColumn
}
return false
}
// 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"`
// (Optional) Indicate if this function is defined in the internal function registry.
// If not set, the server will try to look up the function in the internal function registry
// and decide appropriately.
IsInternal *bool `protobuf:"varint,5,opt,name=is_internal,json=isInternal,proto3,oneof" json:"is_internal,omitempty"`
}
func (x *Expression_UnresolvedFunction) Reset() {
*x = Expression_UnresolvedFunction{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[16]
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[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_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
}
func (x *Expression_UnresolvedFunction) GetIsInternal() bool {
if x != nil && x.IsInternal != nil {
return *x.IsInternal
}
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[17]
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[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_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"`
// (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_UnresolvedStar) Reset() {
*x = Expression_UnresolvedStar{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[18]
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[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_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 ""
}
func (x *Expression_UnresolvedStar) GetPlanId() int64 {
if x != nil && x.PlanId != nil {
return *x.PlanId
}
return 0
}
// 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[19]
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[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_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[20]
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[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_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[21]
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[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_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[22]
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[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_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[23]
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[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_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[24]
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[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_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[25]
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[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_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[26]
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[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 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[27]
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[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 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[28]
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[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 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[29]
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[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 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[30]
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[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 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[31]
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[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 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
}
type Expression_Literal_SpecializedArray struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to ValueType:
//
// *Expression_Literal_SpecializedArray_Bools
// *Expression_Literal_SpecializedArray_Ints
// *Expression_Literal_SpecializedArray_Longs
// *Expression_Literal_SpecializedArray_Floats
// *Expression_Literal_SpecializedArray_Doubles
// *Expression_Literal_SpecializedArray_Strings
ValueType isExpression_Literal_SpecializedArray_ValueType `protobuf_oneof:"value_type"`
}
func (x *Expression_Literal_SpecializedArray) Reset() {
*x = Expression_Literal_SpecializedArray{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Expression_Literal_SpecializedArray) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Expression_Literal_SpecializedArray) ProtoMessage() {}
func (x *Expression_Literal_SpecializedArray) ProtoReflect() protoreflect.Message {
mi := &file_spark_connect_expressions_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 Expression_Literal_SpecializedArray.ProtoReflect.Descriptor instead.
func (*Expression_Literal_SpecializedArray) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{0, 3, 5}
}
func (m *Expression_Literal_SpecializedArray) GetValueType() isExpression_Literal_SpecializedArray_ValueType {
if m != nil {
return m.ValueType
}
return nil
}
func (x *Expression_Literal_SpecializedArray) GetBools() *Bools {
if x, ok := x.GetValueType().(*Expression_Literal_SpecializedArray_Bools); ok {
return x.Bools
}
return nil
}
func (x *Expression_Literal_SpecializedArray) GetInts() *Ints {
if x, ok := x.GetValueType().(*Expression_Literal_SpecializedArray_Ints); ok {
return x.Ints
}
return nil
}
func (x *Expression_Literal_SpecializedArray) GetLongs() *Longs {
if x, ok := x.GetValueType().(*Expression_Literal_SpecializedArray_Longs); ok {
return x.Longs
}
return nil
}
func (x *Expression_Literal_SpecializedArray) GetFloats() *Floats {
if x, ok := x.GetValueType().(*Expression_Literal_SpecializedArray_Floats); ok {
return x.Floats
}
return nil
}
func (x *Expression_Literal_SpecializedArray) GetDoubles() *Doubles {
if x, ok := x.GetValueType().(*Expression_Literal_SpecializedArray_Doubles); ok {
return x.Doubles
}
return nil
}
func (x *Expression_Literal_SpecializedArray) GetStrings() *Strings {
if x, ok := x.GetValueType().(*Expression_Literal_SpecializedArray_Strings); ok {
return x.Strings
}
return nil
}
type isExpression_Literal_SpecializedArray_ValueType interface {
isExpression_Literal_SpecializedArray_ValueType()
}
type Expression_Literal_SpecializedArray_Bools struct {
Bools *Bools `protobuf:"bytes,1,opt,name=bools,proto3,oneof"`
}
type Expression_Literal_SpecializedArray_Ints struct {
Ints *Ints `protobuf:"bytes,2,opt,name=ints,proto3,oneof"`
}
type Expression_Literal_SpecializedArray_Longs struct {
Longs *Longs `protobuf:"bytes,3,opt,name=longs,proto3,oneof"`
}
type Expression_Literal_SpecializedArray_Floats struct {
Floats *Floats `protobuf:"bytes,4,opt,name=floats,proto3,oneof"`
}
type Expression_Literal_SpecializedArray_Doubles struct {
Doubles *Doubles `protobuf:"bytes,5,opt,name=doubles,proto3,oneof"`
}
type Expression_Literal_SpecializedArray_Strings struct {
Strings *Strings `protobuf:"bytes,6,opt,name=strings,proto3,oneof"`
}
func (*Expression_Literal_SpecializedArray_Bools) isExpression_Literal_SpecializedArray_ValueType() {}
func (*Expression_Literal_SpecializedArray_Ints) isExpression_Literal_SpecializedArray_ValueType() {}
func (*Expression_Literal_SpecializedArray_Longs) isExpression_Literal_SpecializedArray_ValueType() {}
func (*Expression_Literal_SpecializedArray_Floats) isExpression_Literal_SpecializedArray_ValueType() {
}
func (*Expression_Literal_SpecializedArray_Doubles) isExpression_Literal_SpecializedArray_ValueType() {
}
func (*Expression_Literal_SpecializedArray_Strings) isExpression_Literal_SpecializedArray_ValueType() {
}
type MergeAction_Assignment struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Required) The key of the assignment.
Key *Expression `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// (Required) The value of the assignment.
Value *Expression `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *MergeAction_Assignment) Reset() {
*x = MergeAction_Assignment{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MergeAction_Assignment) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MergeAction_Assignment) ProtoMessage() {}
func (x *MergeAction_Assignment) ProtoReflect() protoreflect.Message {
mi := &file_spark_connect_expressions_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 MergeAction_Assignment.ProtoReflect.Descriptor instead.
func (*MergeAction_Assignment) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{9, 0}
}
func (x *MergeAction_Assignment) GetKey() *Expression {
if x != nil {
return x.Key
}
return nil
}
func (x *MergeAction_Assignment) GetValue() *Expression {
if x != nil {
return x.Value
}
return nil
}
// Nested message for table argument options.
type SubqueryExpression_TableArgOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// (Optional) The way that input rows are partitioned.
PartitionSpec []*Expression `protobuf:"bytes,1,rep,name=partition_spec,json=partitionSpec,proto3" json:"partition_spec,omitempty"`
// (Optional) Ordering of rows in a partition.
OrderSpec []*Expression_SortOrder `protobuf:"bytes,2,rep,name=order_spec,json=orderSpec,proto3" json:"order_spec,omitempty"`
// (Optional) Whether this is a single partition.
WithSinglePartition *bool `protobuf:"varint,3,opt,name=with_single_partition,json=withSinglePartition,proto3,oneof" json:"with_single_partition,omitempty"`
}
func (x *SubqueryExpression_TableArgOptions) Reset() {
*x = SubqueryExpression_TableArgOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_spark_connect_expressions_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubqueryExpression_TableArgOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubqueryExpression_TableArgOptions) ProtoMessage() {}
func (x *SubqueryExpression_TableArgOptions) ProtoReflect() protoreflect.Message {
mi := &file_spark_connect_expressions_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 SubqueryExpression_TableArgOptions.ProtoReflect.Descriptor instead.
func (*SubqueryExpression_TableArgOptions) Descriptor() ([]byte, []int) {
return file_spark_connect_expressions_proto_rawDescGZIP(), []int{10, 0}
}
func (x *SubqueryExpression_TableArgOptions) GetPartitionSpec() []*Expression {
if x != nil {
return x.PartitionSpec
}
return nil
}
func (x *SubqueryExpression_TableArgOptions) GetOrderSpec() []*Expression_SortOrder {
if x != nil {
return x.OrderSpec
}
return nil
}
func (x *SubqueryExpression_TableArgOptions) GetWithSinglePartition() bool {
if x != nil && x.WithSinglePartition != nil {
return *x.WithSinglePartition
}
return false
}
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, 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, 0x22, 0xf3, 0x34, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x12, 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, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 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, 0x42,
0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x19, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x75,
0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x75, 0x6d,
0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
0x17, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x78,
0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0c, 0x6d, 0x65, 0x72, 0x67,
0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4d,
0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x65,
0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x1a, 0x74, 0x79, 0x70,
0x65, 0x64, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70,
0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x54, 0x79,
0x70, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x18, 0x74, 0x79, 0x70, 0x65, 0x64, 0x41,
0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65,
0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78,
0x70, 0x72, 0x65, 0x73, 0x73, 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, 0xbb, 0x02,
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, 0x12, 0x44, 0x0a, 0x09, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0e, 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,
0x43, 0x61, 0x73, 0x74, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65,
0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x62, 0x0a, 0x08, 0x45, 0x76, 0x61, 0x6c, 0x4d,
0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14,
0x0a, 0x10, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x45, 0x47, 0x41,
0x43, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x44,
0x45, 0x5f, 0x41, 0x4e, 0x53, 0x49, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x56, 0x41, 0x4c,
0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x52, 0x59, 0x10, 0x03, 0x42, 0x0e, 0x0a, 0x0c, 0x63,
0x61, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xc1, 0x0f, 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, 0x12,
0x61, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61,
0x72, 0x72, 0x61, 0x79, 0x18, 0x19, 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, 0x53, 0x70,
0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00,
0x52, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x72, 0x72,
0x61, 0x79, 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, 0x1a, 0xc0, 0x02, 0x0a,
0x10, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x72, 0x72, 0x61,
0x79, 0x12, 0x2c, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x12,
0x29, 0x0a, 0x04, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x49, 0x6e,
0x74, 0x73, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x6f,
0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x70, 0x61, 0x72,
0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x73, 0x48,
0x00, 0x52, 0x05, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x66, 0x6c, 0x6f, 0x61,
0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b,
0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x48,
0x00, 0x52, 0x06, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x64, 0x6f, 0x75,
0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x61,
0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c,
0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a,
0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42,
0x0e, 0x0a, 0x0c, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a,
0xba, 0x01, 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, 0x12, 0x31, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x6c,
0x61, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x74,
0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0x82, 0x02, 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, 0x12, 0x24, 0x0a, 0x0b, 0x69,
0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
0x48, 0x00, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x88, 0x01,
0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 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, 0x7c, 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, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64,
0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x75, 0x6e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64,
0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x6c, 0x61, 0x6e,
0x5f, 0x69, 0x64, 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, 0x41, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x72,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x06,
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73,
0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x72, 0x69,
0x67, 0x69, 0x6e, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0x8d, 0x03, 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, 0x12, 0x1f,
0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x07, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x42,
0x0a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 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, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x64, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73,
0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x22, 0xd6, 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, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67,
0x61, 0x74, 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, 0x22, 0x63, 0x0a, 0x18, 0x54,
0x79, 0x70, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70,
0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x73, 0x63, 0x61, 0x6c, 0x61,
0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x5f, 0x75, 0x64, 0x66, 0x18, 0x01, 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,
0x52, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x55, 0x64, 0x66,
0x22, 0x6c, 0x0a, 0x0c, 0x43, 0x61, 0x6c, 0x6c, 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, 0x22, 0x5c,
0x0a, 0x17, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x45,
0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 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, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x80, 0x04, 0x0a,
0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0b,
0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
0x74, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 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, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x88,
0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e,
0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b,
0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x6a, 0x0a, 0x0a, 0x41,
0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x03, 0x6b, 0x65, 0x79,
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, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e,
0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12,
0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44,
0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f,
0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x02, 0x12,
0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49,
0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12,
0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41,
0x54, 0x45, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x10,
0x05, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0xc5, 0x05, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x72,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12,
0x53, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45,
0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x75, 0x62, 0x71, 0x75, 0x65,
0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79,
0x54, 0x79, 0x70, 0x65, 0x12, 0x62, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72,
0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x31, 0x2e, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e,
0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x12, 0x69, 0x6e, 0x5f, 0x73,
0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 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,
0x10, 0x69, 0x6e, 0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x73, 0x1a, 0xea, 0x01, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 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, 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, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x15, 0x77,
0x69, 0x74, 0x68, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x13, 0x77, 0x69,
0x74, 0x68, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90,
0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12,
0x19, 0x0a, 0x15, 0x53, 0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45,
0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x55,
0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c,
0x41, 0x52, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59,
0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x02, 0x12, 0x1b,
0x0a, 0x17, 0x53, 0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x53,
0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x10,
0x04, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x67, 0x5f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 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_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, 6)
var file_spark_connect_expressions_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
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_Cast_EvalMode)(0), // 3: spark.connect.Expression.Cast.EvalMode
(MergeAction_ActionType)(0), // 4: spark.connect.MergeAction.ActionType
(SubqueryExpression_SubqueryType)(0), // 5: spark.connect.SubqueryExpression.SubqueryType
(*Expression)(nil), // 6: spark.connect.Expression
(*ExpressionCommon)(nil), // 7: spark.connect.ExpressionCommon
(*CommonInlineUserDefinedFunction)(nil), // 8: spark.connect.CommonInlineUserDefinedFunction
(*PythonUDF)(nil), // 9: spark.connect.PythonUDF
(*ScalarScalaUDF)(nil), // 10: spark.connect.ScalarScalaUDF
(*JavaUDF)(nil), // 11: spark.connect.JavaUDF
(*TypedAggregateExpression)(nil), // 12: spark.connect.TypedAggregateExpression
(*CallFunction)(nil), // 13: spark.connect.CallFunction
(*NamedArgumentExpression)(nil), // 14: spark.connect.NamedArgumentExpression
(*MergeAction)(nil), // 15: spark.connect.MergeAction
(*SubqueryExpression)(nil), // 16: spark.connect.SubqueryExpression
(*Expression_Window)(nil), // 17: spark.connect.Expression.Window
(*Expression_SortOrder)(nil), // 18: spark.connect.Expression.SortOrder
(*Expression_Cast)(nil), // 19: spark.connect.Expression.Cast
(*Expression_Literal)(nil), // 20: spark.connect.Expression.Literal
(*Expression_UnresolvedAttribute)(nil), // 21: spark.connect.Expression.UnresolvedAttribute
(*Expression_UnresolvedFunction)(nil), // 22: spark.connect.Expression.UnresolvedFunction
(*Expression_ExpressionString)(nil), // 23: spark.connect.Expression.ExpressionString
(*Expression_UnresolvedStar)(nil), // 24: spark.connect.Expression.UnresolvedStar
(*Expression_UnresolvedRegex)(nil), // 25: spark.connect.Expression.UnresolvedRegex
(*Expression_UnresolvedExtractValue)(nil), // 26: spark.connect.Expression.UnresolvedExtractValue
(*Expression_UpdateFields)(nil), // 27: spark.connect.Expression.UpdateFields
(*Expression_Alias)(nil), // 28: spark.connect.Expression.Alias
(*Expression_LambdaFunction)(nil), // 29: spark.connect.Expression.LambdaFunction
(*Expression_UnresolvedNamedLambdaVariable)(nil), // 30: spark.connect.Expression.UnresolvedNamedLambdaVariable
(*Expression_Window_WindowFrame)(nil), // 31: spark.connect.Expression.Window.WindowFrame
(*Expression_Window_WindowFrame_FrameBoundary)(nil), // 32: spark.connect.Expression.Window.WindowFrame.FrameBoundary
(*Expression_Literal_Decimal)(nil), // 33: spark.connect.Expression.Literal.Decimal
(*Expression_Literal_CalendarInterval)(nil), // 34: spark.connect.Expression.Literal.CalendarInterval
(*Expression_Literal_Array)(nil), // 35: spark.connect.Expression.Literal.Array
(*Expression_Literal_Map)(nil), // 36: spark.connect.Expression.Literal.Map
(*Expression_Literal_Struct)(nil), // 37: spark.connect.Expression.Literal.Struct
(*Expression_Literal_SpecializedArray)(nil), // 38: spark.connect.Expression.Literal.SpecializedArray
(*MergeAction_Assignment)(nil), // 39: spark.connect.MergeAction.Assignment
(*SubqueryExpression_TableArgOptions)(nil), // 40: spark.connect.SubqueryExpression.TableArgOptions
(*anypb.Any)(nil), // 41: google.protobuf.Any
(*Origin)(nil), // 42: spark.connect.Origin
(*DataType)(nil), // 43: spark.connect.DataType
(*Bools)(nil), // 44: spark.connect.Bools
(*Ints)(nil), // 45: spark.connect.Ints
(*Longs)(nil), // 46: spark.connect.Longs
(*Floats)(nil), // 47: spark.connect.Floats
(*Doubles)(nil), // 48: spark.connect.Doubles
(*Strings)(nil), // 49: spark.connect.Strings
}
var file_spark_connect_expressions_proto_depIdxs = []int32{
7, // 0: spark.connect.Expression.common:type_name -> spark.connect.ExpressionCommon
20, // 1: spark.connect.Expression.literal:type_name -> spark.connect.Expression.Literal
21, // 2: spark.connect.Expression.unresolved_attribute:type_name -> spark.connect.Expression.UnresolvedAttribute
22, // 3: spark.connect.Expression.unresolved_function:type_name -> spark.connect.Expression.UnresolvedFunction
23, // 4: spark.connect.Expression.expression_string:type_name -> spark.connect.Expression.ExpressionString
24, // 5: spark.connect.Expression.unresolved_star:type_name -> spark.connect.Expression.UnresolvedStar
28, // 6: spark.connect.Expression.alias:type_name -> spark.connect.Expression.Alias
19, // 7: spark.connect.Expression.cast:type_name -> spark.connect.Expression.Cast
25, // 8: spark.connect.Expression.unresolved_regex:type_name -> spark.connect.Expression.UnresolvedRegex
18, // 9: spark.connect.Expression.sort_order:type_name -> spark.connect.Expression.SortOrder
29, // 10: spark.connect.Expression.lambda_function:type_name -> spark.connect.Expression.LambdaFunction
17, // 11: spark.connect.Expression.window:type_name -> spark.connect.Expression.Window
26, // 12: spark.connect.Expression.unresolved_extract_value:type_name -> spark.connect.Expression.UnresolvedExtractValue
27, // 13: spark.connect.Expression.update_fields:type_name -> spark.connect.Expression.UpdateFields
30, // 14: spark.connect.Expression.unresolved_named_lambda_variable:type_name -> spark.connect.Expression.UnresolvedNamedLambdaVariable
8, // 15: spark.connect.Expression.common_inline_user_defined_function:type_name -> spark.connect.CommonInlineUserDefinedFunction
13, // 16: spark.connect.Expression.call_function:type_name -> spark.connect.CallFunction
14, // 17: spark.connect.Expression.named_argument_expression:type_name -> spark.connect.NamedArgumentExpression
15, // 18: spark.connect.Expression.merge_action:type_name -> spark.connect.MergeAction
12, // 19: spark.connect.Expression.typed_aggregate_expression:type_name -> spark.connect.TypedAggregateExpression
16, // 20: spark.connect.Expression.subquery_expression:type_name -> spark.connect.SubqueryExpression
41, // 21: spark.connect.Expression.extension:type_name -> google.protobuf.Any
42, // 22: spark.connect.ExpressionCommon.origin:type_name -> spark.connect.Origin
6, // 23: spark.connect.CommonInlineUserDefinedFunction.arguments:type_name -> spark.connect.Expression
9, // 24: spark.connect.CommonInlineUserDefinedFunction.python_udf:type_name -> spark.connect.PythonUDF
10, // 25: spark.connect.CommonInlineUserDefinedFunction.scalar_scala_udf:type_name -> spark.connect.ScalarScalaUDF
11, // 26: spark.connect.CommonInlineUserDefinedFunction.java_udf:type_name -> spark.connect.JavaUDF
43, // 27: spark.connect.PythonUDF.output_type:type_name -> spark.connect.DataType
43, // 28: spark.connect.ScalarScalaUDF.inputTypes:type_name -> spark.connect.DataType
43, // 29: spark.connect.ScalarScalaUDF.outputType:type_name -> spark.connect.DataType
43, // 30: spark.connect.JavaUDF.output_type:type_name -> spark.connect.DataType
10, // 31: spark.connect.TypedAggregateExpression.scalar_scala_udf:type_name -> spark.connect.ScalarScalaUDF
6, // 32: spark.connect.CallFunction.arguments:type_name -> spark.connect.Expression
6, // 33: spark.connect.NamedArgumentExpression.value:type_name -> spark.connect.Expression
4, // 34: spark.connect.MergeAction.action_type:type_name -> spark.connect.MergeAction.ActionType
6, // 35: spark.connect.MergeAction.condition:type_name -> spark.connect.Expression
39, // 36: spark.connect.MergeAction.assignments:type_name -> spark.connect.MergeAction.Assignment
5, // 37: spark.connect.SubqueryExpression.subquery_type:type_name -> spark.connect.SubqueryExpression.SubqueryType
40, // 38: spark.connect.SubqueryExpression.table_arg_options:type_name -> spark.connect.SubqueryExpression.TableArgOptions
6, // 39: spark.connect.SubqueryExpression.in_subquery_values:type_name -> spark.connect.Expression
6, // 40: spark.connect.Expression.Window.window_function:type_name -> spark.connect.Expression
6, // 41: spark.connect.Expression.Window.partition_spec:type_name -> spark.connect.Expression
18, // 42: spark.connect.Expression.Window.order_spec:type_name -> spark.connect.Expression.SortOrder
31, // 43: spark.connect.Expression.Window.frame_spec:type_name -> spark.connect.Expression.Window.WindowFrame
6, // 44: spark.connect.Expression.SortOrder.child:type_name -> spark.connect.Expression
1, // 45: spark.connect.Expression.SortOrder.direction:type_name -> spark.connect.Expression.SortOrder.SortDirection
2, // 46: spark.connect.Expression.SortOrder.null_ordering:type_name -> spark.connect.Expression.SortOrder.NullOrdering
6, // 47: spark.connect.Expression.Cast.expr:type_name -> spark.connect.Expression
43, // 48: spark.connect.Expression.Cast.type:type_name -> spark.connect.DataType
3, // 49: spark.connect.Expression.Cast.eval_mode:type_name -> spark.connect.Expression.Cast.EvalMode
43, // 50: spark.connect.Expression.Literal.null:type_name -> spark.connect.DataType
33, // 51: spark.connect.Expression.Literal.decimal:type_name -> spark.connect.Expression.Literal.Decimal
34, // 52: spark.connect.Expression.Literal.calendar_interval:type_name -> spark.connect.Expression.Literal.CalendarInterval
35, // 53: spark.connect.Expression.Literal.array:type_name -> spark.connect.Expression.Literal.Array
36, // 54: spark.connect.Expression.Literal.map:type_name -> spark.connect.Expression.Literal.Map
37, // 55: spark.connect.Expression.Literal.struct:type_name -> spark.connect.Expression.Literal.Struct
38, // 56: spark.connect.Expression.Literal.specialized_array:type_name -> spark.connect.Expression.Literal.SpecializedArray
6, // 57: spark.connect.Expression.UnresolvedFunction.arguments:type_name -> spark.connect.Expression
6, // 58: spark.connect.Expression.UnresolvedExtractValue.child:type_name -> spark.connect.Expression
6, // 59: spark.connect.Expression.UnresolvedExtractValue.extraction:type_name -> spark.connect.Expression
6, // 60: spark.connect.Expression.UpdateFields.struct_expression:type_name -> spark.connect.Expression
6, // 61: spark.connect.Expression.UpdateFields.value_expression:type_name -> spark.connect.Expression
6, // 62: spark.connect.Expression.Alias.expr:type_name -> spark.connect.Expression
6, // 63: spark.connect.Expression.LambdaFunction.function:type_name -> spark.connect.Expression
30, // 64: spark.connect.Expression.LambdaFunction.arguments:type_name -> spark.connect.Expression.UnresolvedNamedLambdaVariable
0, // 65: spark.connect.Expression.Window.WindowFrame.frame_type:type_name -> spark.connect.Expression.Window.WindowFrame.FrameType
32, // 66: spark.connect.Expression.Window.WindowFrame.lower:type_name -> spark.connect.Expression.Window.WindowFrame.FrameBoundary
32, // 67: spark.connect.Expression.Window.WindowFrame.upper:type_name -> spark.connect.Expression.Window.WindowFrame.FrameBoundary
6, // 68: spark.connect.Expression.Window.WindowFrame.FrameBoundary.value:type_name -> spark.connect.Expression
43, // 69: spark.connect.Expression.Literal.Array.element_type:type_name -> spark.connect.DataType
20, // 70: spark.connect.Expression.Literal.Array.elements:type_name -> spark.connect.Expression.Literal
43, // 71: spark.connect.Expression.Literal.Map.key_type:type_name -> spark.connect.DataType
43, // 72: spark.connect.Expression.Literal.Map.value_type:type_name -> spark.connect.DataType
20, // 73: spark.connect.Expression.Literal.Map.keys:type_name -> spark.connect.Expression.Literal
20, // 74: spark.connect.Expression.Literal.Map.values:type_name -> spark.connect.Expression.Literal
43, // 75: spark.connect.Expression.Literal.Struct.struct_type:type_name -> spark.connect.DataType
20, // 76: spark.connect.Expression.Literal.Struct.elements:type_name -> spark.connect.Expression.Literal
44, // 77: spark.connect.Expression.Literal.SpecializedArray.bools:type_name -> spark.connect.Bools
45, // 78: spark.connect.Expression.Literal.SpecializedArray.ints:type_name -> spark.connect.Ints
46, // 79: spark.connect.Expression.Literal.SpecializedArray.longs:type_name -> spark.connect.Longs
47, // 80: spark.connect.Expression.Literal.SpecializedArray.floats:type_name -> spark.connect.Floats
48, // 81: spark.connect.Expression.Literal.SpecializedArray.doubles:type_name -> spark.connect.Doubles
49, // 82: spark.connect.Expression.Literal.SpecializedArray.strings:type_name -> spark.connect.Strings
6, // 83: spark.connect.MergeAction.Assignment.key:type_name -> spark.connect.Expression
6, // 84: spark.connect.MergeAction.Assignment.value:type_name -> spark.connect.Expression
6, // 85: spark.connect.SubqueryExpression.TableArgOptions.partition_spec:type_name -> spark.connect.Expression
18, // 86: spark.connect.SubqueryExpression.TableArgOptions.order_spec:type_name -> spark.connect.Expression.SortOrder
87, // [87:87] is the sub-list for method output_type
87, // [87:87] is the sub-list for method input_type
87, // [87:87] is the sub-list for extension type_name
87, // [87:87] is the sub-list for extension extendee
0, // [0:87] 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()
file_spark_connect_common_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.(*ExpressionCommon); 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.(*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[3].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[4].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[5].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[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TypedAggregateExpression); 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.(*CallFunction); 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.(*NamedArgumentExpression); 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.(*MergeAction); 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.(*SubqueryExpression); 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_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[12].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[13].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[14].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[15].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[16].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[17].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[18].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[19].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[20].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[21].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[22].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[23].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[24].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[25].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[26].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[27].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[28].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[29].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[30].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[31].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[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Expression_Literal_SpecializedArray); 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[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MergeAction_Assignment); 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[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubqueryExpression_TableArgOptions); 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_CallFunction)(nil),
(*Expression_NamedArgumentExpression)(nil),
(*Expression_MergeAction)(nil),
(*Expression_TypedAggregateExpression)(nil),
(*Expression_SubqueryExpression)(nil),
(*Expression_Extension)(nil),
}
file_spark_connect_expressions_proto_msgTypes[2].OneofWrappers = []interface{}{
(*CommonInlineUserDefinedFunction_PythonUdf)(nil),
(*CommonInlineUserDefinedFunction_ScalarScalaUdf)(nil),
(*CommonInlineUserDefinedFunction_JavaUdf)(nil),
}
file_spark_connect_expressions_proto_msgTypes[5].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[9].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[10].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[13].OneofWrappers = []interface{}{
(*Expression_Cast_Type)(nil),
(*Expression_Cast_TypeStr)(nil),
}
file_spark_connect_expressions_proto_msgTypes[14].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),
(*Expression_Literal_SpecializedArray_)(nil),
}
file_spark_connect_expressions_proto_msgTypes[15].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[16].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[18].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[19].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[22].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[26].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[27].OneofWrappers = []interface{}{}
file_spark_connect_expressions_proto_msgTypes[32].OneofWrappers = []interface{}{
(*Expression_Literal_SpecializedArray_Bools)(nil),
(*Expression_Literal_SpecializedArray_Ints)(nil),
(*Expression_Literal_SpecializedArray_Longs)(nil),
(*Expression_Literal_SpecializedArray_Floats)(nil),
(*Expression_Literal_SpecializedArray_Doubles)(nil),
(*Expression_Literal_SpecializedArray_Strings)(nil),
}
file_spark_connect_expressions_proto_msgTypes[34].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spark_connect_expressions_proto_rawDesc,
NumEnums: 6,
NumMessages: 35,
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
}