From c9e74bfef38159d5708091197a32e4e397d5a43b Mon Sep 17 00:00:00 2001 From: Noble Mittal Date: Fri, 17 Jan 2025 18:34:41 +0530 Subject: [PATCH] LookupVindex: Multiple lookup tables support for LookupVindexCreate Signed-off-by: Noble Mittal --- .../vreplication/lookupvindex/lookupvindex.go | 116 +- go/vt/proto/vtctldata/vtctldata.pb.go | 938 +++++++++------ go/vt/proto/vtctldata/vtctldata_vtproto.pb.go | 1043 +++++++++++++++-- go/vt/vtctl/workflow/lookup_vindex.go | 299 ++++- go/vt/vtctl/workflow/server.go | 14 +- proto/vtctldata.proto | 34 + web/vtadmin/src/proto/vtadmin.d.ts | 260 ++++ web/vtadmin/src/proto/vtadmin.js | 805 +++++++++++++ 8 files changed, 3032 insertions(+), 477 deletions(-) diff --git a/go/cmd/vtctldclient/command/vreplication/lookupvindex/lookupvindex.go b/go/cmd/vtctldclient/command/vreplication/lookupvindex/lookupvindex.go index 9650a52e8a5..3799bb45ec7 100644 --- a/go/cmd/vtctldclient/command/vreplication/lookupvindex/lookupvindex.go +++ b/go/cmd/vtctldclient/command/vreplication/lookupvindex/lookupvindex.go @@ -18,12 +18,14 @@ package lookupvindex import ( "fmt" + "os" "strings" "github.com/spf13/cobra" "vitess.io/vitess/go/cmd/vtctldclient/cli" "vitess.io/vitess/go/cmd/vtctldclient/command/vreplication/common" + "vitess.io/vitess/go/json2" topodatapb "vitess.io/vitess/go/vt/proto/topodata" vschemapb "vitess.io/vitess/go/vt/proto/vschema" @@ -68,6 +70,7 @@ var ( TabletTypesInPreferenceOrder bool IgnoreNulls bool ContinueAfterCopyWithOwner bool + ParamsFile string }{} externalizeOptions = struct { @@ -75,6 +78,30 @@ var ( }{} parseAndValidateCreate = func(cmd *cobra.Command, args []string) error { + if createOptions.ParamsFile != "" { + paramsFile, err := os.ReadFile(createOptions.ParamsFile) + if err != nil { + return err + } + createParams := &vtctldatapb.LookupVindexCreateParams{} + err = json2.UnmarshalPB(paramsFile, createParams) + if err != nil { + return err + } + return parseCreateParams(createParams) + } + if createOptions.Keyspace == "" { + return fmt.Errorf("keyspace is a required flag.") + } + if createOptions.TableOwner == "" { + return fmt.Errorf("table-owner is a required flag.") + } + if len(createOptions.TableOwnerColumns) == 0 { + return fmt.Errorf("table-owner-columns is a required flag.") + } + if createOptions.Keyspace == "" { + return fmt.Errorf("keyspace is a required flag.") + } if createOptions.TableName == "" { // Use vindex name createOptions.TableName = baseOptions.Name } @@ -130,6 +157,87 @@ var ( return nil } + parseCreateParams = func(params *vtctldatapb.LookupVindexCreateParams) error { + if params.Keyspace == "" { + return fmt.Errorf("keyspace cannot be empty") + } + createOptions.Keyspace = params.Keyspace + + if len(params.Vindexes) == 0 { + return fmt.Errorf("atleast 1 vindex is required") + } + + vindexes := map[string]*vschemapb.Vindex{} + tables := map[string]*vschemapb.Table{} + for _, vindex := range params.Vindexes { + if vindex.TableName == "" { + vindex.TableName = vindex.Name + } + + if !strings.Contains(vindex.LookupVindexType, "lookup") { + return fmt.Errorf("%s is not a lookup vindex type.", vindex.LookupVindexType) + } + + vindexes[vindex.Name] = &vschemapb.Vindex{ + Type: vindex.LookupVindexType, + Params: map[string]string{ + "table": baseOptions.TableKeyspace + "." + vindex.TableName, + "from": strings.Join(vindex.TableOwnerColumns, ","), + "to": "keyspace_id", + "ignore_nulls": fmt.Sprintf("%t", vindex.IgnoreNulls), + }, + Owner: vindex.TableOwner, + } + + targetTableColumnVindex := &vschemapb.ColumnVindex{ + // If the vindex name/type is empty then we'll fill this in + // later using the defult for the column types. + Name: params.TableVindexType, + Columns: vindex.TableOwnerColumns, + } + sourceTableColumnVindex := &vschemapb.ColumnVindex{ + Name: vindex.Name, + Columns: vindex.TableOwnerColumns, + } + + if table, ok := tables[vindex.TableName]; !ok { + tables[vindex.TableName] = &vschemapb.Table{ + ColumnVindexes: []*vschemapb.ColumnVindex{targetTableColumnVindex}, + } + } else { + table.ColumnVindexes = append(table.ColumnVindexes, targetTableColumnVindex) + } + + if table, ok := tables[vindex.TableOwner]; !ok { + tables[vindex.TableOwner] = &vschemapb.Table{ + ColumnVindexes: []*vschemapb.ColumnVindex{sourceTableColumnVindex}, + } + } else { + table.ColumnVindexes = append(table.ColumnVindexes, sourceTableColumnVindex) + } + } + + baseOptions.Vschema = &vschemapb.Keyspace{ + Vindexes: vindexes, + Tables: tables, + } + + // VReplication specific flags. + if len(params.TabletTypes) == 0 { + createOptions.TabletTypes = tabletTypesDefault + } else { + createOptions.TabletTypes = params.TabletTypes + } + + if len(params.Cells) != 0 { + for i, cell := range createOptions.Cells { + createOptions.Cells[i] = strings.TrimSpace(cell) + } + } + + return nil + } + // cancel makes a WorkflowDelete call to a vtctld. cancel = &cobra.Command{ Use: "cancel", @@ -143,9 +251,10 @@ var ( } // create makes a LookupVindexCreate call to a vtctld. + // TODO: Refactor description for multiple lookup vindexes. create = &cobra.Command{ Use: "create", - Short: "Create the Lookup Vindex in the specified keyspace and backfill it with a VReplication workflow.", + Short: "Create the Lookup Vindex(es) in the specified keyspace and backfill them with a VReplication workflow.", Example: `vtctldclient --server localhost:15999 LookupVindex --name corder_lookup_vdx --table-keyspace customer create --keyspace customer --type consistent_lookup_unique --table-owner corder --table-owner-columns sku --table-name corder_lookup_tbl --table-vindex-type unicode_loose_xxhash`, SilenceUsage: true, DisableFlagsInUseLine: true, @@ -283,17 +392,14 @@ func registerCommands(root *cobra.Command) { // This will create the lookup vindex in the specified keyspace // and setup a VReplication workflow to backfill its lookup table. create.Flags().StringVar(&createOptions.Keyspace, "keyspace", "", "The keyspace to create the Lookup Vindex in. This is also where the table-owner must exist.") - create.MarkFlagRequired("keyspace") create.Flags().StringVar(&createOptions.Type, "type", "", "The type of Lookup Vindex to create.") - create.MarkFlagRequired("type") create.Flags().StringVar(&createOptions.TableOwner, "table-owner", "", "The table holding the data which we should use to backfill the Lookup Vindex. This must exist in the same keyspace as the Lookup Vindex.") - create.MarkFlagRequired("table-owner") create.Flags().StringSliceVar(&createOptions.TableOwnerColumns, "table-owner-columns", nil, "The columns to read from the owner table. These will be used to build the hash which gets stored as the keyspace_id value in the lookup table.") - create.MarkFlagRequired("table-owner-columns") create.Flags().StringVar(&createOptions.TableName, "table-name", "", "The name of the lookup table. If not specified, then it will be created using the same name as the Lookup Vindex.") create.Flags().StringVar(&createOptions.TableVindexType, "table-vindex-type", "", "The primary vindex name/type to use for the lookup table, if the table-keyspace is sharded. If no value is provided then the default type will be used based on the table-owner-columns types.") create.Flags().BoolVar(&createOptions.IgnoreNulls, "ignore-nulls", false, "Do not add corresponding records in the lookup table if any of the owner table's 'from' fields are NULL.") create.Flags().BoolVar(&createOptions.ContinueAfterCopyWithOwner, "continue-after-copy-with-owner", true, "Vindex will continue materialization after the backfill completes when an owner is provided.") + create.Flags().StringVar(&createOptions.ParamsFile, "params-file", "", "JSON file containing lookup vindex create options. Use this for creating multiple lookup vindexes.") // VReplication specific flags. create.Flags().StringSliceVar(&createOptions.Cells, "cells", nil, "Cells to look in for source tablets to replicate from.") create.Flags().Var((*topoprotopb.TabletTypeListFlag)(&createOptions.TabletTypes), "tablet-types", "Source tablet types to replicate from.") diff --git a/go/vt/proto/vtctldata/vtctldata.pb.go b/go/vt/proto/vtctldata/vtctldata.pb.go index f675a190faa..e975bbadb47 100644 --- a/go/vt/proto/vtctldata/vtctldata.pb.go +++ b/go/vt/proto/vtctldata/vtctldata.pb.go @@ -15803,6 +15803,198 @@ func (x *WorkflowMirrorTrafficResponse) GetCurrentState() string { return "" } +type LookupVindexCreateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Keyspace to create the Lookup Vindex(es) in. + Keyspace string `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"` + // The primary vindex name/type to use for the lookup tables, + // if the table-keyspace is sharded. + TableVindexType string `protobuf:"bytes,2,opt,name=table_vindex_type,json=tableVindexType,proto3" json:"table_vindex_type,omitempty"` + // Vindex(es) configuration. + Vindexes []*VindexParams `protobuf:"bytes,3,rep,name=vindexes,proto3" json:"vindexes,omitempty"` + // VReplication specific options. + Cells []string `protobuf:"bytes,4,rep,name=cells,proto3" json:"cells,omitempty"` + TabletTypes []topodata.TabletType `protobuf:"varint,5,rep,packed,name=tablet_types,json=tabletTypes,proto3,enum=topodata.TabletType" json:"tablet_types,omitempty"` + ContinueAfterCopyWithOwner bool `protobuf:"varint,6,opt,name=continue_after_copy_with_owner,json=continueAfterCopyWithOwner,proto3" json:"continue_after_copy_with_owner,omitempty"` + TabletTypesInPreferenceOrder bool `protobuf:"varint,7,opt,name=tablet_types_in_preference_order,json=tabletTypesInPreferenceOrder,proto3" json:"tablet_types_in_preference_order,omitempty"` +} + +func (x *LookupVindexCreateParams) Reset() { + *x = LookupVindexCreateParams{} + mi := &file_vtctldata_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LookupVindexCreateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LookupVindexCreateParams) ProtoMessage() {} + +func (x *LookupVindexCreateParams) ProtoReflect() protoreflect.Message { + mi := &file_vtctldata_proto_msgTypes[258] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LookupVindexCreateParams.ProtoReflect.Descriptor instead. +func (*LookupVindexCreateParams) Descriptor() ([]byte, []int) { + return file_vtctldata_proto_rawDescGZIP(), []int{258} +} + +func (x *LookupVindexCreateParams) GetKeyspace() string { + if x != nil { + return x.Keyspace + } + return "" +} + +func (x *LookupVindexCreateParams) GetTableVindexType() string { + if x != nil { + return x.TableVindexType + } + return "" +} + +func (x *LookupVindexCreateParams) GetVindexes() []*VindexParams { + if x != nil { + return x.Vindexes + } + return nil +} + +func (x *LookupVindexCreateParams) GetCells() []string { + if x != nil { + return x.Cells + } + return nil +} + +func (x *LookupVindexCreateParams) GetTabletTypes() []topodata.TabletType { + if x != nil { + return x.TabletTypes + } + return nil +} + +func (x *LookupVindexCreateParams) GetContinueAfterCopyWithOwner() bool { + if x != nil { + return x.ContinueAfterCopyWithOwner + } + return false +} + +func (x *LookupVindexCreateParams) GetTabletTypesInPreferenceOrder() bool { + if x != nil { + return x.TabletTypesInPreferenceOrder + } + return false +} + +type VindexParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the Lookup Vindex to create. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Type of Lookup Vindex to create. + LookupVindexType string `protobuf:"bytes,2,opt,name=lookup_vindex_type,json=lookupVindexType,proto3" json:"lookup_vindex_type,omitempty"` + // Table holding the data which we should use to backfill the Lookup Vindex. + // This must exist in the same keyspace as the Lookup Vindex. + TableOwner string `protobuf:"bytes,3,opt,name=table_owner,json=tableOwner,proto3" json:"table_owner,omitempty"` + // Columns to read from the owner table. + TableOwnerColumns []string `protobuf:"bytes,4,rep,name=table_owner_columns,json=tableOwnerColumns,proto3" json:"table_owner_columns,omitempty"` + // Name of the lookup table. If not specified, then it will be created using + // the same name as the Lookup Vindex. + TableName string `protobuf:"bytes,5,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + // Do not add corresponding records in the lookup table if any of the owner + // table's 'from' fields are NULL. + IgnoreNulls bool `protobuf:"varint,6,opt,name=ignore_nulls,json=ignoreNulls,proto3" json:"ignore_nulls,omitempty"` +} + +func (x *VindexParams) Reset() { + *x = VindexParams{} + mi := &file_vtctldata_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VindexParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VindexParams) ProtoMessage() {} + +func (x *VindexParams) ProtoReflect() protoreflect.Message { + mi := &file_vtctldata_proto_msgTypes[259] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VindexParams.ProtoReflect.Descriptor instead. +func (*VindexParams) Descriptor() ([]byte, []int) { + return file_vtctldata_proto_rawDescGZIP(), []int{259} +} + +func (x *VindexParams) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VindexParams) GetLookupVindexType() string { + if x != nil { + return x.LookupVindexType + } + return "" +} + +func (x *VindexParams) GetTableOwner() string { + if x != nil { + return x.TableOwner + } + return "" +} + +func (x *VindexParams) GetTableOwnerColumns() []string { + if x != nil { + return x.TableOwnerColumns + } + return nil +} + +func (x *VindexParams) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *VindexParams) GetIgnoreNulls() bool { + if x != nil { + return x.IgnoreNulls + } + return false +} + type Workflow_ReplicationLocation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -15814,7 +16006,7 @@ type Workflow_ReplicationLocation struct { func (x *Workflow_ReplicationLocation) Reset() { *x = Workflow_ReplicationLocation{} - mi := &file_vtctldata_proto_msgTypes[260] + mi := &file_vtctldata_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15826,7 +16018,7 @@ func (x *Workflow_ReplicationLocation) String() string { func (*Workflow_ReplicationLocation) ProtoMessage() {} func (x *Workflow_ReplicationLocation) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[260] + mi := &file_vtctldata_proto_msgTypes[262] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15868,7 +16060,7 @@ type Workflow_ShardStream struct { func (x *Workflow_ShardStream) Reset() { *x = Workflow_ShardStream{} - mi := &file_vtctldata_proto_msgTypes[261] + mi := &file_vtctldata_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15880,7 +16072,7 @@ func (x *Workflow_ShardStream) String() string { func (*Workflow_ShardStream) ProtoMessage() {} func (x *Workflow_ShardStream) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[261] + mi := &file_vtctldata_proto_msgTypes[263] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15954,7 +16146,7 @@ type Workflow_Stream struct { func (x *Workflow_Stream) Reset() { *x = Workflow_Stream{} - mi := &file_vtctldata_proto_msgTypes[262] + mi := &file_vtctldata_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15966,7 +16158,7 @@ func (x *Workflow_Stream) String() string { func (*Workflow_Stream) ProtoMessage() {} func (x *Workflow_Stream) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[262] + mi := &file_vtctldata_proto_msgTypes[264] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16134,7 +16326,7 @@ type Workflow_Stream_CopyState struct { func (x *Workflow_Stream_CopyState) Reset() { *x = Workflow_Stream_CopyState{} - mi := &file_vtctldata_proto_msgTypes[263] + mi := &file_vtctldata_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16146,7 +16338,7 @@ func (x *Workflow_Stream_CopyState) String() string { func (*Workflow_Stream_CopyState) ProtoMessage() {} func (x *Workflow_Stream_CopyState) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[263] + mi := &file_vtctldata_proto_msgTypes[265] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16200,7 +16392,7 @@ type Workflow_Stream_Log struct { func (x *Workflow_Stream_Log) Reset() { *x = Workflow_Stream_Log{} - mi := &file_vtctldata_proto_msgTypes[264] + mi := &file_vtctldata_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16212,7 +16404,7 @@ func (x *Workflow_Stream_Log) String() string { func (*Workflow_Stream_Log) ProtoMessage() {} func (x *Workflow_Stream_Log) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[264] + mi := &file_vtctldata_proto_msgTypes[266] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16295,7 +16487,7 @@ type Workflow_Stream_ThrottlerStatus struct { func (x *Workflow_Stream_ThrottlerStatus) Reset() { *x = Workflow_Stream_ThrottlerStatus{} - mi := &file_vtctldata_proto_msgTypes[265] + mi := &file_vtctldata_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16307,7 +16499,7 @@ func (x *Workflow_Stream_ThrottlerStatus) String() string { func (*Workflow_Stream_ThrottlerStatus) ProtoMessage() {} func (x *Workflow_Stream_ThrottlerStatus) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[265] + mi := &file_vtctldata_proto_msgTypes[267] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16347,7 +16539,7 @@ type ApplyVSchemaResponse_ParamList struct { func (x *ApplyVSchemaResponse_ParamList) Reset() { *x = ApplyVSchemaResponse_ParamList{} - mi := &file_vtctldata_proto_msgTypes[268] + mi := &file_vtctldata_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16359,7 +16551,7 @@ func (x *ApplyVSchemaResponse_ParamList) String() string { func (*ApplyVSchemaResponse_ParamList) ProtoMessage() {} func (x *ApplyVSchemaResponse_ParamList) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[268] + mi := &file_vtctldata_proto_msgTypes[270] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16392,7 +16584,7 @@ type GetSrvKeyspaceNamesResponse_NameList struct { func (x *GetSrvKeyspaceNamesResponse_NameList) Reset() { *x = GetSrvKeyspaceNamesResponse_NameList{} - mi := &file_vtctldata_proto_msgTypes[280] + mi := &file_vtctldata_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16404,7 +16596,7 @@ func (x *GetSrvKeyspaceNamesResponse_NameList) String() string { func (*GetSrvKeyspaceNamesResponse_NameList) ProtoMessage() {} func (x *GetSrvKeyspaceNamesResponse_NameList) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[280] + mi := &file_vtctldata_proto_msgTypes[282] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16439,7 +16631,7 @@ type MoveTablesCreateResponse_TabletInfo struct { func (x *MoveTablesCreateResponse_TabletInfo) Reset() { *x = MoveTablesCreateResponse_TabletInfo{} - mi := &file_vtctldata_proto_msgTypes[284] + mi := &file_vtctldata_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16451,7 +16643,7 @@ func (x *MoveTablesCreateResponse_TabletInfo) String() string { func (*MoveTablesCreateResponse_TabletInfo) ProtoMessage() {} func (x *MoveTablesCreateResponse_TabletInfo) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[284] + mi := &file_vtctldata_proto_msgTypes[286] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16493,7 +16685,7 @@ type WorkflowDeleteResponse_TabletInfo struct { func (x *WorkflowDeleteResponse_TabletInfo) Reset() { *x = WorkflowDeleteResponse_TabletInfo{} - mi := &file_vtctldata_proto_msgTypes[294] + mi := &file_vtctldata_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16505,7 +16697,7 @@ func (x *WorkflowDeleteResponse_TabletInfo) String() string { func (*WorkflowDeleteResponse_TabletInfo) ProtoMessage() {} func (x *WorkflowDeleteResponse_TabletInfo) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[294] + mi := &file_vtctldata_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16550,7 +16742,7 @@ type WorkflowStatusResponse_TableCopyState struct { func (x *WorkflowStatusResponse_TableCopyState) Reset() { *x = WorkflowStatusResponse_TableCopyState{} - mi := &file_vtctldata_proto_msgTypes[295] + mi := &file_vtctldata_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16562,7 +16754,7 @@ func (x *WorkflowStatusResponse_TableCopyState) String() string { func (*WorkflowStatusResponse_TableCopyState) ProtoMessage() {} func (x *WorkflowStatusResponse_TableCopyState) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[295] + mi := &file_vtctldata_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16635,7 +16827,7 @@ type WorkflowStatusResponse_ShardStreamState struct { func (x *WorkflowStatusResponse_ShardStreamState) Reset() { *x = WorkflowStatusResponse_ShardStreamState{} - mi := &file_vtctldata_proto_msgTypes[296] + mi := &file_vtctldata_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16647,7 +16839,7 @@ func (x *WorkflowStatusResponse_ShardStreamState) String() string { func (*WorkflowStatusResponse_ShardStreamState) ProtoMessage() {} func (x *WorkflowStatusResponse_ShardStreamState) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[296] + mi := &file_vtctldata_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16715,7 +16907,7 @@ type WorkflowStatusResponse_ShardStreams struct { func (x *WorkflowStatusResponse_ShardStreams) Reset() { *x = WorkflowStatusResponse_ShardStreams{} - mi := &file_vtctldata_proto_msgTypes[297] + mi := &file_vtctldata_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16727,7 +16919,7 @@ func (x *WorkflowStatusResponse_ShardStreams) String() string { func (*WorkflowStatusResponse_ShardStreams) ProtoMessage() {} func (x *WorkflowStatusResponse_ShardStreams) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[297] + mi := &file_vtctldata_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16763,7 +16955,7 @@ type WorkflowUpdateResponse_TabletInfo struct { func (x *WorkflowUpdateResponse_TabletInfo) Reset() { *x = WorkflowUpdateResponse_TabletInfo{} - mi := &file_vtctldata_proto_msgTypes[300] + mi := &file_vtctldata_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16775,7 +16967,7 @@ func (x *WorkflowUpdateResponse_TabletInfo) String() string { func (*WorkflowUpdateResponse_TabletInfo) ProtoMessage() {} func (x *WorkflowUpdateResponse_TabletInfo) ProtoReflect() protoreflect.Message { - mi := &file_vtctldata_proto_msgTypes[300] + mi := &file_vtctldata_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19369,22 +19561,60 @@ var file_vtctldata_proto_rawDesc = []byte{ 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x2a, 0x4a, 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, - 0x54, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, - 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, - 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x2a, 0x42, 0x0a, 0x1c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x65, - 0x64, 0x41, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, - 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, - 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0xf2, 0x02, 0x0a, 0x18, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x08, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, + 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, + 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x70, 0x79, + 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, + 0x43, 0x6f, 0x70, 0x79, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x46, 0x0a, + 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x69, 0x6e, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xe3, 0x01, 0x0a, 0x0c, 0x56, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, + 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x2a, 0x4a, 0x0a, 0x15, 0x4d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f, 0x56, 0x45, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, + 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x2a, 0x42, 0x0a, 0x1c, 0x53, 0x68, 0x61, 0x72, 0x64, 0x65, 0x64, 0x41, 0x75, 0x74, 0x6f, + 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, + 0x67, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, + 0x41, 0x43, 0x45, 0x10, 0x02, 0x42, 0x28, 0x5a, 0x26, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x74, 0x63, 0x74, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -19400,7 +19630,7 @@ func file_vtctldata_proto_rawDescGZIP() []byte { } var file_vtctldata_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_vtctldata_proto_msgTypes = make([]protoimpl.MessageInfo, 301) +var file_vtctldata_proto_msgTypes = make([]protoimpl.MessageInfo, 303) var file_vtctldata_proto_goTypes = []any{ (MaterializationIntent)(0), // 0: vtctldata.MaterializationIntent (QueryOrdering)(0), // 1: vtctldata.QueryOrdering @@ -19665,337 +19895,341 @@ var file_vtctldata_proto_goTypes = []any{ (*GetMirrorRulesResponse)(nil), // 260: vtctldata.GetMirrorRulesResponse (*WorkflowMirrorTrafficRequest)(nil), // 261: vtctldata.WorkflowMirrorTrafficRequest (*WorkflowMirrorTrafficResponse)(nil), // 262: vtctldata.WorkflowMirrorTrafficResponse - nil, // 263: vtctldata.WorkflowOptions.ConfigEntry - nil, // 264: vtctldata.Workflow.ShardStreamsEntry - (*Workflow_ReplicationLocation)(nil), // 265: vtctldata.Workflow.ReplicationLocation - (*Workflow_ShardStream)(nil), // 266: vtctldata.Workflow.ShardStream - (*Workflow_Stream)(nil), // 267: vtctldata.Workflow.Stream - (*Workflow_Stream_CopyState)(nil), // 268: vtctldata.Workflow.Stream.CopyState - (*Workflow_Stream_Log)(nil), // 269: vtctldata.Workflow.Stream.Log - (*Workflow_Stream_ThrottlerStatus)(nil), // 270: vtctldata.Workflow.Stream.ThrottlerStatus - nil, // 271: vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry - nil, // 272: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry - (*ApplyVSchemaResponse_ParamList)(nil), // 273: vtctldata.ApplyVSchemaResponse.ParamList - nil, // 274: vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 275: vtctldata.ChangeTabletTagsRequest.TagsEntry - nil, // 276: vtctldata.ChangeTabletTagsResponse.BeforeTagsEntry - nil, // 277: vtctldata.ChangeTabletTagsResponse.AfterTagsEntry - nil, // 278: vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 279: vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 280: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry - nil, // 281: vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 282: vtctldata.GetCellsAliasesResponse.AliasesEntry - nil, // 283: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry - nil, // 284: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry - (*GetSrvKeyspaceNamesResponse_NameList)(nil), // 285: vtctldata.GetSrvKeyspaceNamesResponse.NameList - nil, // 286: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry - nil, // 287: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry - nil, // 288: vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry - (*MoveTablesCreateResponse_TabletInfo)(nil), // 289: vtctldata.MoveTablesCreateResponse.TabletInfo - nil, // 290: vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry - nil, // 291: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry - nil, // 292: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry - nil, // 293: vtctldata.ValidateResponse.ResultsByKeyspaceEntry - nil, // 294: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry - nil, // 295: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry - nil, // 296: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry - nil, // 297: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry - nil, // 298: vtctldata.VDiffShowResponse.TabletResponsesEntry - (*WorkflowDeleteResponse_TabletInfo)(nil), // 299: vtctldata.WorkflowDeleteResponse.TabletInfo - (*WorkflowStatusResponse_TableCopyState)(nil), // 300: vtctldata.WorkflowStatusResponse.TableCopyState - (*WorkflowStatusResponse_ShardStreamState)(nil), // 301: vtctldata.WorkflowStatusResponse.ShardStreamState - (*WorkflowStatusResponse_ShardStreams)(nil), // 302: vtctldata.WorkflowStatusResponse.ShardStreams - nil, // 303: vtctldata.WorkflowStatusResponse.TableCopyStateEntry - nil, // 304: vtctldata.WorkflowStatusResponse.ShardStreamsEntry - (*WorkflowUpdateResponse_TabletInfo)(nil), // 305: vtctldata.WorkflowUpdateResponse.TabletInfo - (*logutil.Event)(nil), // 306: logutil.Event - (tabletmanagerdata.TabletSelectionPreference)(0), // 307: tabletmanagerdata.TabletSelectionPreference - (*topodata.Keyspace)(nil), // 308: topodata.Keyspace - (*vttime.Time)(nil), // 309: vttime.Time - (*topodata.TabletAlias)(nil), // 310: topodata.TabletAlias - (*vttime.Duration)(nil), // 311: vttime.Duration - (*topodata.Shard)(nil), // 312: topodata.Shard - (*topodata.CellInfo)(nil), // 313: topodata.CellInfo - (*vschema.KeyspaceRoutingRules)(nil), // 314: vschema.KeyspaceRoutingRules - (*vschema.RoutingRules)(nil), // 315: vschema.RoutingRules - (*vschema.ShardRoutingRules)(nil), // 316: vschema.ShardRoutingRules - (*vtrpc.CallerID)(nil), // 317: vtrpc.CallerID - (*vschema.Keyspace)(nil), // 318: vschema.Keyspace - (topodata.TabletType)(0), // 319: topodata.TabletType - (*topodata.Tablet)(nil), // 320: topodata.Tablet - (*tabletmanagerdata.CheckThrottlerResponse)(nil), // 321: tabletmanagerdata.CheckThrottlerResponse - (topodata.KeyspaceType)(0), // 322: topodata.KeyspaceType - (*query.QueryResult)(nil), // 323: query.QueryResult - (*tabletmanagerdata.ExecuteHookRequest)(nil), // 324: tabletmanagerdata.ExecuteHookRequest - (*tabletmanagerdata.ExecuteHookResponse)(nil), // 325: tabletmanagerdata.ExecuteHookResponse - (*mysqlctl.BackupInfo)(nil), // 326: mysqlctl.BackupInfo - (*replicationdata.FullStatus)(nil), // 327: replicationdata.FullStatus - (*tabletmanagerdata.Permissions)(nil), // 328: tabletmanagerdata.Permissions - (*tabletmanagerdata.SchemaDefinition)(nil), // 329: tabletmanagerdata.SchemaDefinition - (*topodata.ThrottledAppRule)(nil), // 330: topodata.ThrottledAppRule - (*vschema.SrvVSchema)(nil), // 331: vschema.SrvVSchema - (*tabletmanagerdata.GetThrottlerStatusResponse)(nil), // 332: tabletmanagerdata.GetThrottlerStatusResponse - (*query.TransactionMetadata)(nil), // 333: query.TransactionMetadata - (*query.Target)(nil), // 334: query.Target - (*topodata.ShardReplicationError)(nil), // 335: topodata.ShardReplicationError - (*topodata.KeyRange)(nil), // 336: topodata.KeyRange - (*topodata.CellsAlias)(nil), // 337: topodata.CellsAlias - (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 338: tabletmanagerdata.UpdateVReplicationWorkflowRequest - (*vschema.MirrorRules)(nil), // 339: vschema.MirrorRules - (*topodata.Shard_TabletControl)(nil), // 340: topodata.Shard.TabletControl - (*binlogdata.BinlogSource)(nil), // 341: binlogdata.BinlogSource - (*topodata.ShardReplication)(nil), // 342: topodata.ShardReplication - (*topodata.SrvKeyspace)(nil), // 343: topodata.SrvKeyspace - (*replicationdata.Status)(nil), // 344: replicationdata.Status - (*tabletmanagerdata.VDiffResponse)(nil), // 345: tabletmanagerdata.VDiffResponse + (*LookupVindexCreateParams)(nil), // 263: vtctldata.LookupVindexCreateParams + (*VindexParams)(nil), // 264: vtctldata.VindexParams + nil, // 265: vtctldata.WorkflowOptions.ConfigEntry + nil, // 266: vtctldata.Workflow.ShardStreamsEntry + (*Workflow_ReplicationLocation)(nil), // 267: vtctldata.Workflow.ReplicationLocation + (*Workflow_ShardStream)(nil), // 268: vtctldata.Workflow.ShardStream + (*Workflow_Stream)(nil), // 269: vtctldata.Workflow.Stream + (*Workflow_Stream_CopyState)(nil), // 270: vtctldata.Workflow.Stream.CopyState + (*Workflow_Stream_Log)(nil), // 271: vtctldata.Workflow.Stream.Log + (*Workflow_Stream_ThrottlerStatus)(nil), // 272: vtctldata.Workflow.Stream.ThrottlerStatus + nil, // 273: vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry + nil, // 274: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry + (*ApplyVSchemaResponse_ParamList)(nil), // 275: vtctldata.ApplyVSchemaResponse.ParamList + nil, // 276: vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 277: vtctldata.ChangeTabletTagsRequest.TagsEntry + nil, // 278: vtctldata.ChangeTabletTagsResponse.BeforeTagsEntry + nil, // 279: vtctldata.ChangeTabletTagsResponse.AfterTagsEntry + nil, // 280: vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 281: vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 282: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry + nil, // 283: vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 284: vtctldata.GetCellsAliasesResponse.AliasesEntry + nil, // 285: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry + nil, // 286: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry + (*GetSrvKeyspaceNamesResponse_NameList)(nil), // 287: vtctldata.GetSrvKeyspaceNamesResponse.NameList + nil, // 288: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry + nil, // 289: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry + nil, // 290: vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry + (*MoveTablesCreateResponse_TabletInfo)(nil), // 291: vtctldata.MoveTablesCreateResponse.TabletInfo + nil, // 292: vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry + nil, // 293: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry + nil, // 294: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry + nil, // 295: vtctldata.ValidateResponse.ResultsByKeyspaceEntry + nil, // 296: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry + nil, // 297: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry + nil, // 298: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry + nil, // 299: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry + nil, // 300: vtctldata.VDiffShowResponse.TabletResponsesEntry + (*WorkflowDeleteResponse_TabletInfo)(nil), // 301: vtctldata.WorkflowDeleteResponse.TabletInfo + (*WorkflowStatusResponse_TableCopyState)(nil), // 302: vtctldata.WorkflowStatusResponse.TableCopyState + (*WorkflowStatusResponse_ShardStreamState)(nil), // 303: vtctldata.WorkflowStatusResponse.ShardStreamState + (*WorkflowStatusResponse_ShardStreams)(nil), // 304: vtctldata.WorkflowStatusResponse.ShardStreams + nil, // 305: vtctldata.WorkflowStatusResponse.TableCopyStateEntry + nil, // 306: vtctldata.WorkflowStatusResponse.ShardStreamsEntry + (*WorkflowUpdateResponse_TabletInfo)(nil), // 307: vtctldata.WorkflowUpdateResponse.TabletInfo + (*logutil.Event)(nil), // 308: logutil.Event + (tabletmanagerdata.TabletSelectionPreference)(0), // 309: tabletmanagerdata.TabletSelectionPreference + (*topodata.Keyspace)(nil), // 310: topodata.Keyspace + (*vttime.Time)(nil), // 311: vttime.Time + (*topodata.TabletAlias)(nil), // 312: topodata.TabletAlias + (*vttime.Duration)(nil), // 313: vttime.Duration + (*topodata.Shard)(nil), // 314: topodata.Shard + (*topodata.CellInfo)(nil), // 315: topodata.CellInfo + (*vschema.KeyspaceRoutingRules)(nil), // 316: vschema.KeyspaceRoutingRules + (*vschema.RoutingRules)(nil), // 317: vschema.RoutingRules + (*vschema.ShardRoutingRules)(nil), // 318: vschema.ShardRoutingRules + (*vtrpc.CallerID)(nil), // 319: vtrpc.CallerID + (*vschema.Keyspace)(nil), // 320: vschema.Keyspace + (topodata.TabletType)(0), // 321: topodata.TabletType + (*topodata.Tablet)(nil), // 322: topodata.Tablet + (*tabletmanagerdata.CheckThrottlerResponse)(nil), // 323: tabletmanagerdata.CheckThrottlerResponse + (topodata.KeyspaceType)(0), // 324: topodata.KeyspaceType + (*query.QueryResult)(nil), // 325: query.QueryResult + (*tabletmanagerdata.ExecuteHookRequest)(nil), // 326: tabletmanagerdata.ExecuteHookRequest + (*tabletmanagerdata.ExecuteHookResponse)(nil), // 327: tabletmanagerdata.ExecuteHookResponse + (*mysqlctl.BackupInfo)(nil), // 328: mysqlctl.BackupInfo + (*replicationdata.FullStatus)(nil), // 329: replicationdata.FullStatus + (*tabletmanagerdata.Permissions)(nil), // 330: tabletmanagerdata.Permissions + (*tabletmanagerdata.SchemaDefinition)(nil), // 331: tabletmanagerdata.SchemaDefinition + (*topodata.ThrottledAppRule)(nil), // 332: topodata.ThrottledAppRule + (*vschema.SrvVSchema)(nil), // 333: vschema.SrvVSchema + (*tabletmanagerdata.GetThrottlerStatusResponse)(nil), // 334: tabletmanagerdata.GetThrottlerStatusResponse + (*query.TransactionMetadata)(nil), // 335: query.TransactionMetadata + (*query.Target)(nil), // 336: query.Target + (*topodata.ShardReplicationError)(nil), // 337: topodata.ShardReplicationError + (*topodata.KeyRange)(nil), // 338: topodata.KeyRange + (*topodata.CellsAlias)(nil), // 339: topodata.CellsAlias + (*tabletmanagerdata.UpdateVReplicationWorkflowRequest)(nil), // 340: tabletmanagerdata.UpdateVReplicationWorkflowRequest + (*vschema.MirrorRules)(nil), // 341: vschema.MirrorRules + (*topodata.Shard_TabletControl)(nil), // 342: topodata.Shard.TabletControl + (*binlogdata.BinlogSource)(nil), // 343: binlogdata.BinlogSource + (*topodata.ShardReplication)(nil), // 344: topodata.ShardReplication + (*topodata.SrvKeyspace)(nil), // 345: topodata.SrvKeyspace + (*replicationdata.Status)(nil), // 346: replicationdata.Status + (*tabletmanagerdata.VDiffResponse)(nil), // 347: tabletmanagerdata.VDiffResponse } var file_vtctldata_proto_depIdxs = []int32{ - 306, // 0: vtctldata.ExecuteVtctlCommandResponse.event:type_name -> logutil.Event + 308, // 0: vtctldata.ExecuteVtctlCommandResponse.event:type_name -> logutil.Event 7, // 1: vtctldata.MaterializeSettings.table_settings:type_name -> vtctldata.TableMaterializeSettings 0, // 2: vtctldata.MaterializeSettings.materialization_intent:type_name -> vtctldata.MaterializationIntent - 307, // 3: vtctldata.MaterializeSettings.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 309, // 3: vtctldata.MaterializeSettings.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference 12, // 4: vtctldata.MaterializeSettings.workflow_options:type_name -> vtctldata.WorkflowOptions - 308, // 5: vtctldata.Keyspace.keyspace:type_name -> topodata.Keyspace + 310, // 5: vtctldata.Keyspace.keyspace:type_name -> topodata.Keyspace 3, // 6: vtctldata.SchemaMigration.strategy:type_name -> vtctldata.SchemaMigration.Strategy - 309, // 7: vtctldata.SchemaMigration.added_at:type_name -> vttime.Time - 309, // 8: vtctldata.SchemaMigration.requested_at:type_name -> vttime.Time - 309, // 9: vtctldata.SchemaMigration.ready_at:type_name -> vttime.Time - 309, // 10: vtctldata.SchemaMigration.started_at:type_name -> vttime.Time - 309, // 11: vtctldata.SchemaMigration.liveness_timestamp:type_name -> vttime.Time - 309, // 12: vtctldata.SchemaMigration.completed_at:type_name -> vttime.Time - 309, // 13: vtctldata.SchemaMigration.cleaned_up_at:type_name -> vttime.Time + 311, // 7: vtctldata.SchemaMigration.added_at:type_name -> vttime.Time + 311, // 8: vtctldata.SchemaMigration.requested_at:type_name -> vttime.Time + 311, // 9: vtctldata.SchemaMigration.ready_at:type_name -> vttime.Time + 311, // 10: vtctldata.SchemaMigration.started_at:type_name -> vttime.Time + 311, // 11: vtctldata.SchemaMigration.liveness_timestamp:type_name -> vttime.Time + 311, // 12: vtctldata.SchemaMigration.completed_at:type_name -> vttime.Time + 311, // 13: vtctldata.SchemaMigration.cleaned_up_at:type_name -> vttime.Time 4, // 14: vtctldata.SchemaMigration.status:type_name -> vtctldata.SchemaMigration.Status - 310, // 15: vtctldata.SchemaMigration.tablet:type_name -> topodata.TabletAlias - 311, // 16: vtctldata.SchemaMigration.artifact_retention:type_name -> vttime.Duration - 309, // 17: vtctldata.SchemaMigration.last_throttled_at:type_name -> vttime.Time - 309, // 18: vtctldata.SchemaMigration.cancelled_at:type_name -> vttime.Time - 309, // 19: vtctldata.SchemaMigration.reviewed_at:type_name -> vttime.Time - 309, // 20: vtctldata.SchemaMigration.ready_to_complete_at:type_name -> vttime.Time - 312, // 21: vtctldata.Shard.shard:type_name -> topodata.Shard + 312, // 15: vtctldata.SchemaMigration.tablet:type_name -> topodata.TabletAlias + 313, // 16: vtctldata.SchemaMigration.artifact_retention:type_name -> vttime.Duration + 311, // 17: vtctldata.SchemaMigration.last_throttled_at:type_name -> vttime.Time + 311, // 18: vtctldata.SchemaMigration.cancelled_at:type_name -> vttime.Time + 311, // 19: vtctldata.SchemaMigration.reviewed_at:type_name -> vttime.Time + 311, // 20: vtctldata.SchemaMigration.ready_to_complete_at:type_name -> vttime.Time + 314, // 21: vtctldata.Shard.shard:type_name -> topodata.Shard 2, // 22: vtctldata.WorkflowOptions.sharded_auto_increment_handling:type_name -> vtctldata.ShardedAutoIncrementHandling - 263, // 23: vtctldata.WorkflowOptions.config:type_name -> vtctldata.WorkflowOptions.ConfigEntry - 265, // 24: vtctldata.Workflow.source:type_name -> vtctldata.Workflow.ReplicationLocation - 265, // 25: vtctldata.Workflow.target:type_name -> vtctldata.Workflow.ReplicationLocation - 264, // 26: vtctldata.Workflow.shard_streams:type_name -> vtctldata.Workflow.ShardStreamsEntry + 265, // 23: vtctldata.WorkflowOptions.config:type_name -> vtctldata.WorkflowOptions.ConfigEntry + 267, // 24: vtctldata.Workflow.source:type_name -> vtctldata.Workflow.ReplicationLocation + 267, // 25: vtctldata.Workflow.target:type_name -> vtctldata.Workflow.ReplicationLocation + 266, // 26: vtctldata.Workflow.shard_streams:type_name -> vtctldata.Workflow.ShardStreamsEntry 12, // 27: vtctldata.Workflow.options:type_name -> vtctldata.WorkflowOptions - 313, // 28: vtctldata.AddCellInfoRequest.cell_info:type_name -> topodata.CellInfo - 314, // 29: vtctldata.ApplyKeyspaceRoutingRulesRequest.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules - 314, // 30: vtctldata.ApplyKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules - 315, // 31: vtctldata.ApplyRoutingRulesRequest.routing_rules:type_name -> vschema.RoutingRules - 316, // 32: vtctldata.ApplyShardRoutingRulesRequest.shard_routing_rules:type_name -> vschema.ShardRoutingRules - 311, // 33: vtctldata.ApplySchemaRequest.wait_replicas_timeout:type_name -> vttime.Duration - 317, // 34: vtctldata.ApplySchemaRequest.caller_id:type_name -> vtrpc.CallerID - 271, // 35: vtctldata.ApplySchemaResponse.rows_affected_by_shard:type_name -> vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry - 318, // 36: vtctldata.ApplyVSchemaRequest.v_schema:type_name -> vschema.Keyspace - 318, // 37: vtctldata.ApplyVSchemaResponse.v_schema:type_name -> vschema.Keyspace - 272, // 38: vtctldata.ApplyVSchemaResponse.unknown_vindex_params:type_name -> vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry - 310, // 39: vtctldata.BackupRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 40: vtctldata.BackupResponse.tablet_alias:type_name -> topodata.TabletAlias - 306, // 41: vtctldata.BackupResponse.event:type_name -> logutil.Event - 274, // 42: vtctldata.CancelSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry - 310, // 43: vtctldata.ChangeTabletTagsRequest.tablet_alias:type_name -> topodata.TabletAlias - 275, // 44: vtctldata.ChangeTabletTagsRequest.tags:type_name -> vtctldata.ChangeTabletTagsRequest.TagsEntry - 276, // 45: vtctldata.ChangeTabletTagsResponse.before_tags:type_name -> vtctldata.ChangeTabletTagsResponse.BeforeTagsEntry - 277, // 46: vtctldata.ChangeTabletTagsResponse.after_tags:type_name -> vtctldata.ChangeTabletTagsResponse.AfterTagsEntry - 310, // 47: vtctldata.ChangeTabletTypeRequest.tablet_alias:type_name -> topodata.TabletAlias - 319, // 48: vtctldata.ChangeTabletTypeRequest.db_type:type_name -> topodata.TabletType - 320, // 49: vtctldata.ChangeTabletTypeResponse.before_tablet:type_name -> topodata.Tablet - 320, // 50: vtctldata.ChangeTabletTypeResponse.after_tablet:type_name -> topodata.Tablet - 310, // 51: vtctldata.CheckThrottlerRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 52: vtctldata.CheckThrottlerResponse.tablet_alias:type_name -> topodata.TabletAlias - 321, // 53: vtctldata.CheckThrottlerResponse.Check:type_name -> tabletmanagerdata.CheckThrottlerResponse - 278, // 54: vtctldata.CleanupSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry - 279, // 55: vtctldata.CompleteSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry - 322, // 56: vtctldata.CreateKeyspaceRequest.type:type_name -> topodata.KeyspaceType - 309, // 57: vtctldata.CreateKeyspaceRequest.snapshot_time:type_name -> vttime.Time + 315, // 28: vtctldata.AddCellInfoRequest.cell_info:type_name -> topodata.CellInfo + 316, // 29: vtctldata.ApplyKeyspaceRoutingRulesRequest.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules + 316, // 30: vtctldata.ApplyKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules + 317, // 31: vtctldata.ApplyRoutingRulesRequest.routing_rules:type_name -> vschema.RoutingRules + 318, // 32: vtctldata.ApplyShardRoutingRulesRequest.shard_routing_rules:type_name -> vschema.ShardRoutingRules + 313, // 33: vtctldata.ApplySchemaRequest.wait_replicas_timeout:type_name -> vttime.Duration + 319, // 34: vtctldata.ApplySchemaRequest.caller_id:type_name -> vtrpc.CallerID + 273, // 35: vtctldata.ApplySchemaResponse.rows_affected_by_shard:type_name -> vtctldata.ApplySchemaResponse.RowsAffectedByShardEntry + 320, // 36: vtctldata.ApplyVSchemaRequest.v_schema:type_name -> vschema.Keyspace + 320, // 37: vtctldata.ApplyVSchemaResponse.v_schema:type_name -> vschema.Keyspace + 274, // 38: vtctldata.ApplyVSchemaResponse.unknown_vindex_params:type_name -> vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry + 312, // 39: vtctldata.BackupRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 40: vtctldata.BackupResponse.tablet_alias:type_name -> topodata.TabletAlias + 308, // 41: vtctldata.BackupResponse.event:type_name -> logutil.Event + 276, // 42: vtctldata.CancelSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CancelSchemaMigrationResponse.RowsAffectedByShardEntry + 312, // 43: vtctldata.ChangeTabletTagsRequest.tablet_alias:type_name -> topodata.TabletAlias + 277, // 44: vtctldata.ChangeTabletTagsRequest.tags:type_name -> vtctldata.ChangeTabletTagsRequest.TagsEntry + 278, // 45: vtctldata.ChangeTabletTagsResponse.before_tags:type_name -> vtctldata.ChangeTabletTagsResponse.BeforeTagsEntry + 279, // 46: vtctldata.ChangeTabletTagsResponse.after_tags:type_name -> vtctldata.ChangeTabletTagsResponse.AfterTagsEntry + 312, // 47: vtctldata.ChangeTabletTypeRequest.tablet_alias:type_name -> topodata.TabletAlias + 321, // 48: vtctldata.ChangeTabletTypeRequest.db_type:type_name -> topodata.TabletType + 322, // 49: vtctldata.ChangeTabletTypeResponse.before_tablet:type_name -> topodata.Tablet + 322, // 50: vtctldata.ChangeTabletTypeResponse.after_tablet:type_name -> topodata.Tablet + 312, // 51: vtctldata.CheckThrottlerRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 52: vtctldata.CheckThrottlerResponse.tablet_alias:type_name -> topodata.TabletAlias + 323, // 53: vtctldata.CheckThrottlerResponse.Check:type_name -> tabletmanagerdata.CheckThrottlerResponse + 280, // 54: vtctldata.CleanupSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CleanupSchemaMigrationResponse.RowsAffectedByShardEntry + 281, // 55: vtctldata.CompleteSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.CompleteSchemaMigrationResponse.RowsAffectedByShardEntry + 324, // 56: vtctldata.CreateKeyspaceRequest.type:type_name -> topodata.KeyspaceType + 311, // 57: vtctldata.CreateKeyspaceRequest.snapshot_time:type_name -> vttime.Time 9, // 58: vtctldata.CreateKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace 9, // 59: vtctldata.CreateShardResponse.keyspace:type_name -> vtctldata.Keyspace 11, // 60: vtctldata.CreateShardResponse.shard:type_name -> vtctldata.Shard 11, // 61: vtctldata.DeleteShardsRequest.shards:type_name -> vtctldata.Shard - 310, // 62: vtctldata.DeleteTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias - 310, // 63: vtctldata.EmergencyReparentShardRequest.new_primary:type_name -> topodata.TabletAlias - 310, // 64: vtctldata.EmergencyReparentShardRequest.ignore_replicas:type_name -> topodata.TabletAlias - 311, // 65: vtctldata.EmergencyReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration - 310, // 66: vtctldata.EmergencyReparentShardRequest.expected_primary:type_name -> topodata.TabletAlias - 310, // 67: vtctldata.EmergencyReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias - 306, // 68: vtctldata.EmergencyReparentShardResponse.events:type_name -> logutil.Event - 310, // 69: vtctldata.ExecuteFetchAsAppRequest.tablet_alias:type_name -> topodata.TabletAlias - 323, // 70: vtctldata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult - 310, // 71: vtctldata.ExecuteFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias - 323, // 72: vtctldata.ExecuteFetchAsDBAResponse.result:type_name -> query.QueryResult - 310, // 73: vtctldata.ExecuteHookRequest.tablet_alias:type_name -> topodata.TabletAlias - 324, // 74: vtctldata.ExecuteHookRequest.tablet_hook_request:type_name -> tabletmanagerdata.ExecuteHookRequest - 325, // 75: vtctldata.ExecuteHookResponse.hook_result:type_name -> tabletmanagerdata.ExecuteHookResponse - 310, // 76: vtctldata.ExecuteMultiFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias - 323, // 77: vtctldata.ExecuteMultiFetchAsDBAResponse.results:type_name -> query.QueryResult - 280, // 78: vtctldata.FindAllShardsInKeyspaceResponse.shards:type_name -> vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry - 281, // 79: vtctldata.ForceCutOverSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry - 326, // 80: vtctldata.GetBackupsResponse.backups:type_name -> mysqlctl.BackupInfo - 313, // 81: vtctldata.GetCellInfoResponse.cell_info:type_name -> topodata.CellInfo - 282, // 82: vtctldata.GetCellsAliasesResponse.aliases:type_name -> vtctldata.GetCellsAliasesResponse.AliasesEntry - 310, // 83: vtctldata.GetFullStatusRequest.tablet_alias:type_name -> topodata.TabletAlias - 327, // 84: vtctldata.GetFullStatusResponse.status:type_name -> replicationdata.FullStatus + 312, // 62: vtctldata.DeleteTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias + 312, // 63: vtctldata.EmergencyReparentShardRequest.new_primary:type_name -> topodata.TabletAlias + 312, // 64: vtctldata.EmergencyReparentShardRequest.ignore_replicas:type_name -> topodata.TabletAlias + 313, // 65: vtctldata.EmergencyReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration + 312, // 66: vtctldata.EmergencyReparentShardRequest.expected_primary:type_name -> topodata.TabletAlias + 312, // 67: vtctldata.EmergencyReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias + 308, // 68: vtctldata.EmergencyReparentShardResponse.events:type_name -> logutil.Event + 312, // 69: vtctldata.ExecuteFetchAsAppRequest.tablet_alias:type_name -> topodata.TabletAlias + 325, // 70: vtctldata.ExecuteFetchAsAppResponse.result:type_name -> query.QueryResult + 312, // 71: vtctldata.ExecuteFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias + 325, // 72: vtctldata.ExecuteFetchAsDBAResponse.result:type_name -> query.QueryResult + 312, // 73: vtctldata.ExecuteHookRequest.tablet_alias:type_name -> topodata.TabletAlias + 326, // 74: vtctldata.ExecuteHookRequest.tablet_hook_request:type_name -> tabletmanagerdata.ExecuteHookRequest + 327, // 75: vtctldata.ExecuteHookResponse.hook_result:type_name -> tabletmanagerdata.ExecuteHookResponse + 312, // 76: vtctldata.ExecuteMultiFetchAsDBARequest.tablet_alias:type_name -> topodata.TabletAlias + 325, // 77: vtctldata.ExecuteMultiFetchAsDBAResponse.results:type_name -> query.QueryResult + 282, // 78: vtctldata.FindAllShardsInKeyspaceResponse.shards:type_name -> vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry + 283, // 79: vtctldata.ForceCutOverSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.ForceCutOverSchemaMigrationResponse.RowsAffectedByShardEntry + 328, // 80: vtctldata.GetBackupsResponse.backups:type_name -> mysqlctl.BackupInfo + 315, // 81: vtctldata.GetCellInfoResponse.cell_info:type_name -> topodata.CellInfo + 284, // 82: vtctldata.GetCellsAliasesResponse.aliases:type_name -> vtctldata.GetCellsAliasesResponse.AliasesEntry + 312, // 83: vtctldata.GetFullStatusRequest.tablet_alias:type_name -> topodata.TabletAlias + 329, // 84: vtctldata.GetFullStatusResponse.status:type_name -> replicationdata.FullStatus 9, // 85: vtctldata.GetKeyspacesResponse.keyspaces:type_name -> vtctldata.Keyspace 9, // 86: vtctldata.GetKeyspaceResponse.keyspace:type_name -> vtctldata.Keyspace - 310, // 87: vtctldata.GetPermissionsRequest.tablet_alias:type_name -> topodata.TabletAlias - 328, // 88: vtctldata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions - 314, // 89: vtctldata.GetKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules - 315, // 90: vtctldata.GetRoutingRulesResponse.routing_rules:type_name -> vschema.RoutingRules - 310, // 91: vtctldata.GetSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias - 329, // 92: vtctldata.GetSchemaResponse.schema:type_name -> tabletmanagerdata.SchemaDefinition + 312, // 87: vtctldata.GetPermissionsRequest.tablet_alias:type_name -> topodata.TabletAlias + 330, // 88: vtctldata.GetPermissionsResponse.permissions:type_name -> tabletmanagerdata.Permissions + 316, // 89: vtctldata.GetKeyspaceRoutingRulesResponse.keyspace_routing_rules:type_name -> vschema.KeyspaceRoutingRules + 317, // 90: vtctldata.GetRoutingRulesResponse.routing_rules:type_name -> vschema.RoutingRules + 312, // 91: vtctldata.GetSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias + 331, // 92: vtctldata.GetSchemaResponse.schema:type_name -> tabletmanagerdata.SchemaDefinition 4, // 93: vtctldata.GetSchemaMigrationsRequest.status:type_name -> vtctldata.SchemaMigration.Status - 311, // 94: vtctldata.GetSchemaMigrationsRequest.recent:type_name -> vttime.Duration + 313, // 94: vtctldata.GetSchemaMigrationsRequest.recent:type_name -> vttime.Duration 1, // 95: vtctldata.GetSchemaMigrationsRequest.order:type_name -> vtctldata.QueryOrdering 10, // 96: vtctldata.GetSchemaMigrationsResponse.migrations:type_name -> vtctldata.SchemaMigration - 283, // 97: vtctldata.GetShardReplicationResponse.shard_replication_by_cell:type_name -> vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry + 285, // 97: vtctldata.GetShardReplicationResponse.shard_replication_by_cell:type_name -> vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry 11, // 98: vtctldata.GetShardResponse.shard:type_name -> vtctldata.Shard - 316, // 99: vtctldata.GetShardRoutingRulesResponse.shard_routing_rules:type_name -> vschema.ShardRoutingRules - 284, // 100: vtctldata.GetSrvKeyspaceNamesResponse.names:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry - 286, // 101: vtctldata.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry - 330, // 102: vtctldata.UpdateThrottlerConfigRequest.throttled_app:type_name -> topodata.ThrottledAppRule - 331, // 103: vtctldata.GetSrvVSchemaResponse.srv_v_schema:type_name -> vschema.SrvVSchema - 287, // 104: vtctldata.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry - 310, // 105: vtctldata.GetTabletRequest.tablet_alias:type_name -> topodata.TabletAlias - 320, // 106: vtctldata.GetTabletResponse.tablet:type_name -> topodata.Tablet - 310, // 107: vtctldata.GetTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias - 319, // 108: vtctldata.GetTabletsRequest.tablet_type:type_name -> topodata.TabletType - 320, // 109: vtctldata.GetTabletsResponse.tablets:type_name -> topodata.Tablet - 310, // 110: vtctldata.GetThrottlerStatusRequest.tablet_alias:type_name -> topodata.TabletAlias - 332, // 111: vtctldata.GetThrottlerStatusResponse.status:type_name -> tabletmanagerdata.GetThrottlerStatusResponse + 318, // 99: vtctldata.GetShardRoutingRulesResponse.shard_routing_rules:type_name -> vschema.ShardRoutingRules + 286, // 100: vtctldata.GetSrvKeyspaceNamesResponse.names:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry + 288, // 101: vtctldata.GetSrvKeyspacesResponse.srv_keyspaces:type_name -> vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry + 332, // 102: vtctldata.UpdateThrottlerConfigRequest.throttled_app:type_name -> topodata.ThrottledAppRule + 333, // 103: vtctldata.GetSrvVSchemaResponse.srv_v_schema:type_name -> vschema.SrvVSchema + 289, // 104: vtctldata.GetSrvVSchemasResponse.srv_v_schemas:type_name -> vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry + 312, // 105: vtctldata.GetTabletRequest.tablet_alias:type_name -> topodata.TabletAlias + 322, // 106: vtctldata.GetTabletResponse.tablet:type_name -> topodata.Tablet + 312, // 107: vtctldata.GetTabletsRequest.tablet_aliases:type_name -> topodata.TabletAlias + 321, // 108: vtctldata.GetTabletsRequest.tablet_type:type_name -> topodata.TabletType + 322, // 109: vtctldata.GetTabletsResponse.tablets:type_name -> topodata.Tablet + 312, // 110: vtctldata.GetThrottlerStatusRequest.tablet_alias:type_name -> topodata.TabletAlias + 334, // 111: vtctldata.GetThrottlerStatusResponse.status:type_name -> tabletmanagerdata.GetThrottlerStatusResponse 121, // 112: vtctldata.GetTopologyPathResponse.cell:type_name -> vtctldata.TopologyCell - 333, // 113: vtctldata.GetUnresolvedTransactionsResponse.transactions:type_name -> query.TransactionMetadata - 333, // 114: vtctldata.GetTransactionInfoResponse.metadata:type_name -> query.TransactionMetadata + 335, // 113: vtctldata.GetUnresolvedTransactionsResponse.transactions:type_name -> query.TransactionMetadata + 335, // 114: vtctldata.GetTransactionInfoResponse.metadata:type_name -> query.TransactionMetadata 125, // 115: vtctldata.GetTransactionInfoResponse.shard_states:type_name -> vtctldata.ShardTransactionState - 334, // 116: vtctldata.ConcludeTransactionRequest.participants:type_name -> query.Target - 310, // 117: vtctldata.GetVersionRequest.tablet_alias:type_name -> topodata.TabletAlias - 318, // 118: vtctldata.GetVSchemaResponse.v_schema:type_name -> vschema.Keyspace + 336, // 116: vtctldata.ConcludeTransactionRequest.participants:type_name -> query.Target + 312, // 117: vtctldata.GetVersionRequest.tablet_alias:type_name -> topodata.TabletAlias + 320, // 118: vtctldata.GetVSchemaResponse.v_schema:type_name -> vschema.Keyspace 13, // 119: vtctldata.GetWorkflowsResponse.workflows:type_name -> vtctldata.Workflow - 310, // 120: vtctldata.InitShardPrimaryRequest.primary_elect_tablet_alias:type_name -> topodata.TabletAlias - 311, // 121: vtctldata.InitShardPrimaryRequest.wait_replicas_timeout:type_name -> vttime.Duration - 306, // 122: vtctldata.InitShardPrimaryResponse.events:type_name -> logutil.Event - 288, // 123: vtctldata.LaunchSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry - 318, // 124: vtctldata.LookupVindexCreateRequest.vindex:type_name -> vschema.Keyspace - 319, // 125: vtctldata.LookupVindexCreateRequest.tablet_types:type_name -> topodata.TabletType - 307, // 126: vtctldata.LookupVindexCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 312, // 120: vtctldata.InitShardPrimaryRequest.primary_elect_tablet_alias:type_name -> topodata.TabletAlias + 313, // 121: vtctldata.InitShardPrimaryRequest.wait_replicas_timeout:type_name -> vttime.Duration + 308, // 122: vtctldata.InitShardPrimaryResponse.events:type_name -> logutil.Event + 290, // 123: vtctldata.LaunchSchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.LaunchSchemaMigrationResponse.RowsAffectedByShardEntry + 320, // 124: vtctldata.LookupVindexCreateRequest.vindex:type_name -> vschema.Keyspace + 321, // 125: vtctldata.LookupVindexCreateRequest.tablet_types:type_name -> topodata.TabletType + 309, // 126: vtctldata.LookupVindexCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference 8, // 127: vtctldata.MaterializeCreateRequest.settings:type_name -> vtctldata.MaterializeSettings - 319, // 128: vtctldata.MigrateCreateRequest.tablet_types:type_name -> topodata.TabletType - 307, // 129: vtctldata.MigrateCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 319, // 130: vtctldata.MoveTablesCreateRequest.tablet_types:type_name -> topodata.TabletType - 307, // 131: vtctldata.MoveTablesCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 321, // 128: vtctldata.MigrateCreateRequest.tablet_types:type_name -> topodata.TabletType + 309, // 129: vtctldata.MigrateCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 321, // 130: vtctldata.MoveTablesCreateRequest.tablet_types:type_name -> topodata.TabletType + 309, // 131: vtctldata.MoveTablesCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference 12, // 132: vtctldata.MoveTablesCreateRequest.workflow_options:type_name -> vtctldata.WorkflowOptions - 289, // 133: vtctldata.MoveTablesCreateResponse.details:type_name -> vtctldata.MoveTablesCreateResponse.TabletInfo - 310, // 134: vtctldata.PingTabletRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 135: vtctldata.PlannedReparentShardRequest.new_primary:type_name -> topodata.TabletAlias - 310, // 136: vtctldata.PlannedReparentShardRequest.avoid_primary:type_name -> topodata.TabletAlias - 311, // 137: vtctldata.PlannedReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration - 311, // 138: vtctldata.PlannedReparentShardRequest.tolerable_replication_lag:type_name -> vttime.Duration - 310, // 139: vtctldata.PlannedReparentShardRequest.expected_primary:type_name -> topodata.TabletAlias - 310, // 140: vtctldata.PlannedReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias - 306, // 141: vtctldata.PlannedReparentShardResponse.events:type_name -> logutil.Event - 310, // 142: vtctldata.RefreshStateRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 143: vtctldata.ReloadSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias - 306, // 144: vtctldata.ReloadSchemaKeyspaceResponse.events:type_name -> logutil.Event - 306, // 145: vtctldata.ReloadSchemaShardResponse.events:type_name -> logutil.Event - 310, // 146: vtctldata.ReparentTabletRequest.tablet:type_name -> topodata.TabletAlias - 310, // 147: vtctldata.ReparentTabletResponse.primary:type_name -> topodata.TabletAlias - 319, // 148: vtctldata.ReshardCreateRequest.tablet_types:type_name -> topodata.TabletType - 307, // 149: vtctldata.ReshardCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 291, // 133: vtctldata.MoveTablesCreateResponse.details:type_name -> vtctldata.MoveTablesCreateResponse.TabletInfo + 312, // 134: vtctldata.PingTabletRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 135: vtctldata.PlannedReparentShardRequest.new_primary:type_name -> topodata.TabletAlias + 312, // 136: vtctldata.PlannedReparentShardRequest.avoid_primary:type_name -> topodata.TabletAlias + 313, // 137: vtctldata.PlannedReparentShardRequest.wait_replicas_timeout:type_name -> vttime.Duration + 313, // 138: vtctldata.PlannedReparentShardRequest.tolerable_replication_lag:type_name -> vttime.Duration + 312, // 139: vtctldata.PlannedReparentShardRequest.expected_primary:type_name -> topodata.TabletAlias + 312, // 140: vtctldata.PlannedReparentShardResponse.promoted_primary:type_name -> topodata.TabletAlias + 308, // 141: vtctldata.PlannedReparentShardResponse.events:type_name -> logutil.Event + 312, // 142: vtctldata.RefreshStateRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 143: vtctldata.ReloadSchemaRequest.tablet_alias:type_name -> topodata.TabletAlias + 308, // 144: vtctldata.ReloadSchemaKeyspaceResponse.events:type_name -> logutil.Event + 308, // 145: vtctldata.ReloadSchemaShardResponse.events:type_name -> logutil.Event + 312, // 146: vtctldata.ReparentTabletRequest.tablet:type_name -> topodata.TabletAlias + 312, // 147: vtctldata.ReparentTabletResponse.primary:type_name -> topodata.TabletAlias + 321, // 148: vtctldata.ReshardCreateRequest.tablet_types:type_name -> topodata.TabletType + 309, // 149: vtctldata.ReshardCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference 12, // 150: vtctldata.ReshardCreateRequest.workflow_options:type_name -> vtctldata.WorkflowOptions - 310, // 151: vtctldata.RestoreFromBackupRequest.tablet_alias:type_name -> topodata.TabletAlias - 309, // 152: vtctldata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time - 309, // 153: vtctldata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time - 310, // 154: vtctldata.RestoreFromBackupResponse.tablet_alias:type_name -> topodata.TabletAlias - 306, // 155: vtctldata.RestoreFromBackupResponse.event:type_name -> logutil.Event - 290, // 156: vtctldata.RetrySchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry - 310, // 157: vtctldata.RunHealthCheckRequest.tablet_alias:type_name -> topodata.TabletAlias - 308, // 158: vtctldata.SetKeyspaceDurabilityPolicyResponse.keyspace:type_name -> topodata.Keyspace - 308, // 159: vtctldata.SetKeyspaceShardingInfoResponse.keyspace:type_name -> topodata.Keyspace - 312, // 160: vtctldata.SetShardIsPrimaryServingResponse.shard:type_name -> topodata.Shard - 319, // 161: vtctldata.SetShardTabletControlRequest.tablet_type:type_name -> topodata.TabletType - 312, // 162: vtctldata.SetShardTabletControlResponse.shard:type_name -> topodata.Shard - 310, // 163: vtctldata.SetWritableRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 164: vtctldata.ShardReplicationAddRequest.tablet_alias:type_name -> topodata.TabletAlias - 335, // 165: vtctldata.ShardReplicationFixResponse.error:type_name -> topodata.ShardReplicationError - 291, // 166: vtctldata.ShardReplicationPositionsResponse.replication_statuses:type_name -> vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry - 292, // 167: vtctldata.ShardReplicationPositionsResponse.tablet_map:type_name -> vtctldata.ShardReplicationPositionsResponse.TabletMapEntry - 310, // 168: vtctldata.ShardReplicationRemoveRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 169: vtctldata.SleepTabletRequest.tablet_alias:type_name -> topodata.TabletAlias - 311, // 170: vtctldata.SleepTabletRequest.duration:type_name -> vttime.Duration - 336, // 171: vtctldata.SourceShardAddRequest.key_range:type_name -> topodata.KeyRange - 312, // 172: vtctldata.SourceShardAddResponse.shard:type_name -> topodata.Shard - 312, // 173: vtctldata.SourceShardDeleteResponse.shard:type_name -> topodata.Shard - 310, // 174: vtctldata.StartReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 175: vtctldata.StopReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias - 310, // 176: vtctldata.TabletExternallyReparentedRequest.tablet:type_name -> topodata.TabletAlias - 310, // 177: vtctldata.TabletExternallyReparentedResponse.new_primary:type_name -> topodata.TabletAlias - 310, // 178: vtctldata.TabletExternallyReparentedResponse.old_primary:type_name -> topodata.TabletAlias - 313, // 179: vtctldata.UpdateCellInfoRequest.cell_info:type_name -> topodata.CellInfo - 313, // 180: vtctldata.UpdateCellInfoResponse.cell_info:type_name -> topodata.CellInfo - 337, // 181: vtctldata.UpdateCellsAliasRequest.cells_alias:type_name -> topodata.CellsAlias - 337, // 182: vtctldata.UpdateCellsAliasResponse.cells_alias:type_name -> topodata.CellsAlias - 293, // 183: vtctldata.ValidateResponse.results_by_keyspace:type_name -> vtctldata.ValidateResponse.ResultsByKeyspaceEntry - 294, // 184: vtctldata.ValidateKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry - 295, // 185: vtctldata.ValidateSchemaKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry - 296, // 186: vtctldata.ValidateVersionKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry - 297, // 187: vtctldata.ValidateVSchemaResponse.results_by_shard:type_name -> vtctldata.ValidateVSchemaResponse.ResultsByShardEntry - 319, // 188: vtctldata.VDiffCreateRequest.tablet_types:type_name -> topodata.TabletType - 307, // 189: vtctldata.VDiffCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 311, // 190: vtctldata.VDiffCreateRequest.filtered_replication_wait_time:type_name -> vttime.Duration - 311, // 191: vtctldata.VDiffCreateRequest.wait_update_interval:type_name -> vttime.Duration - 311, // 192: vtctldata.VDiffCreateRequest.max_diff_duration:type_name -> vttime.Duration - 298, // 193: vtctldata.VDiffShowResponse.tablet_responses:type_name -> vtctldata.VDiffShowResponse.TabletResponsesEntry - 299, // 194: vtctldata.WorkflowDeleteResponse.details:type_name -> vtctldata.WorkflowDeleteResponse.TabletInfo - 303, // 195: vtctldata.WorkflowStatusResponse.table_copy_state:type_name -> vtctldata.WorkflowStatusResponse.TableCopyStateEntry - 304, // 196: vtctldata.WorkflowStatusResponse.shard_streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamsEntry - 319, // 197: vtctldata.WorkflowSwitchTrafficRequest.tablet_types:type_name -> topodata.TabletType - 311, // 198: vtctldata.WorkflowSwitchTrafficRequest.max_replication_lag_allowed:type_name -> vttime.Duration - 311, // 199: vtctldata.WorkflowSwitchTrafficRequest.timeout:type_name -> vttime.Duration - 338, // 200: vtctldata.WorkflowUpdateRequest.tablet_request:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest - 305, // 201: vtctldata.WorkflowUpdateResponse.details:type_name -> vtctldata.WorkflowUpdateResponse.TabletInfo - 339, // 202: vtctldata.GetMirrorRulesResponse.mirror_rules:type_name -> vschema.MirrorRules - 319, // 203: vtctldata.WorkflowMirrorTrafficRequest.tablet_types:type_name -> topodata.TabletType - 266, // 204: vtctldata.Workflow.ShardStreamsEntry.value:type_name -> vtctldata.Workflow.ShardStream - 267, // 205: vtctldata.Workflow.ShardStream.streams:type_name -> vtctldata.Workflow.Stream - 340, // 206: vtctldata.Workflow.ShardStream.tablet_controls:type_name -> topodata.Shard.TabletControl - 310, // 207: vtctldata.Workflow.Stream.tablet:type_name -> topodata.TabletAlias - 341, // 208: vtctldata.Workflow.Stream.binlog_source:type_name -> binlogdata.BinlogSource - 309, // 209: vtctldata.Workflow.Stream.transaction_timestamp:type_name -> vttime.Time - 309, // 210: vtctldata.Workflow.Stream.time_updated:type_name -> vttime.Time - 268, // 211: vtctldata.Workflow.Stream.copy_states:type_name -> vtctldata.Workflow.Stream.CopyState - 269, // 212: vtctldata.Workflow.Stream.logs:type_name -> vtctldata.Workflow.Stream.Log - 270, // 213: vtctldata.Workflow.Stream.throttler_status:type_name -> vtctldata.Workflow.Stream.ThrottlerStatus - 319, // 214: vtctldata.Workflow.Stream.tablet_types:type_name -> topodata.TabletType - 307, // 215: vtctldata.Workflow.Stream.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference - 309, // 216: vtctldata.Workflow.Stream.Log.created_at:type_name -> vttime.Time - 309, // 217: vtctldata.Workflow.Stream.Log.updated_at:type_name -> vttime.Time - 309, // 218: vtctldata.Workflow.Stream.ThrottlerStatus.time_throttled:type_name -> vttime.Time - 273, // 219: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry.value:type_name -> vtctldata.ApplyVSchemaResponse.ParamList - 11, // 220: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry.value:type_name -> vtctldata.Shard - 337, // 221: vtctldata.GetCellsAliasesResponse.AliasesEntry.value:type_name -> topodata.CellsAlias - 342, // 222: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry.value:type_name -> topodata.ShardReplication - 285, // 223: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry.value:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NameList - 343, // 224: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> topodata.SrvKeyspace - 331, // 225: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry.value:type_name -> vschema.SrvVSchema - 310, // 226: vtctldata.MoveTablesCreateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias - 344, // 227: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry.value:type_name -> replicationdata.Status - 320, // 228: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry.value:type_name -> topodata.Tablet - 230, // 229: vtctldata.ValidateResponse.ResultsByKeyspaceEntry.value:type_name -> vtctldata.ValidateKeyspaceResponse - 234, // 230: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 234, // 231: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 234, // 232: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 234, // 233: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse - 345, // 234: vtctldata.VDiffShowResponse.TabletResponsesEntry.value:type_name -> tabletmanagerdata.VDiffResponse - 310, // 235: vtctldata.WorkflowDeleteResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias - 310, // 236: vtctldata.WorkflowStatusResponse.ShardStreamState.tablet:type_name -> topodata.TabletAlias - 301, // 237: vtctldata.WorkflowStatusResponse.ShardStreams.streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamState - 300, // 238: vtctldata.WorkflowStatusResponse.TableCopyStateEntry.value:type_name -> vtctldata.WorkflowStatusResponse.TableCopyState - 302, // 239: vtctldata.WorkflowStatusResponse.ShardStreamsEntry.value:type_name -> vtctldata.WorkflowStatusResponse.ShardStreams - 310, // 240: vtctldata.WorkflowUpdateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias - 241, // [241:241] is the sub-list for method output_type - 241, // [241:241] is the sub-list for method input_type - 241, // [241:241] is the sub-list for extension type_name - 241, // [241:241] is the sub-list for extension extendee - 0, // [0:241] is the sub-list for field type_name + 312, // 151: vtctldata.RestoreFromBackupRequest.tablet_alias:type_name -> topodata.TabletAlias + 311, // 152: vtctldata.RestoreFromBackupRequest.backup_time:type_name -> vttime.Time + 311, // 153: vtctldata.RestoreFromBackupRequest.restore_to_timestamp:type_name -> vttime.Time + 312, // 154: vtctldata.RestoreFromBackupResponse.tablet_alias:type_name -> topodata.TabletAlias + 308, // 155: vtctldata.RestoreFromBackupResponse.event:type_name -> logutil.Event + 292, // 156: vtctldata.RetrySchemaMigrationResponse.rows_affected_by_shard:type_name -> vtctldata.RetrySchemaMigrationResponse.RowsAffectedByShardEntry + 312, // 157: vtctldata.RunHealthCheckRequest.tablet_alias:type_name -> topodata.TabletAlias + 310, // 158: vtctldata.SetKeyspaceDurabilityPolicyResponse.keyspace:type_name -> topodata.Keyspace + 310, // 159: vtctldata.SetKeyspaceShardingInfoResponse.keyspace:type_name -> topodata.Keyspace + 314, // 160: vtctldata.SetShardIsPrimaryServingResponse.shard:type_name -> topodata.Shard + 321, // 161: vtctldata.SetShardTabletControlRequest.tablet_type:type_name -> topodata.TabletType + 314, // 162: vtctldata.SetShardTabletControlResponse.shard:type_name -> topodata.Shard + 312, // 163: vtctldata.SetWritableRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 164: vtctldata.ShardReplicationAddRequest.tablet_alias:type_name -> topodata.TabletAlias + 337, // 165: vtctldata.ShardReplicationFixResponse.error:type_name -> topodata.ShardReplicationError + 293, // 166: vtctldata.ShardReplicationPositionsResponse.replication_statuses:type_name -> vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry + 294, // 167: vtctldata.ShardReplicationPositionsResponse.tablet_map:type_name -> vtctldata.ShardReplicationPositionsResponse.TabletMapEntry + 312, // 168: vtctldata.ShardReplicationRemoveRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 169: vtctldata.SleepTabletRequest.tablet_alias:type_name -> topodata.TabletAlias + 313, // 170: vtctldata.SleepTabletRequest.duration:type_name -> vttime.Duration + 338, // 171: vtctldata.SourceShardAddRequest.key_range:type_name -> topodata.KeyRange + 314, // 172: vtctldata.SourceShardAddResponse.shard:type_name -> topodata.Shard + 314, // 173: vtctldata.SourceShardDeleteResponse.shard:type_name -> topodata.Shard + 312, // 174: vtctldata.StartReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 175: vtctldata.StopReplicationRequest.tablet_alias:type_name -> topodata.TabletAlias + 312, // 176: vtctldata.TabletExternallyReparentedRequest.tablet:type_name -> topodata.TabletAlias + 312, // 177: vtctldata.TabletExternallyReparentedResponse.new_primary:type_name -> topodata.TabletAlias + 312, // 178: vtctldata.TabletExternallyReparentedResponse.old_primary:type_name -> topodata.TabletAlias + 315, // 179: vtctldata.UpdateCellInfoRequest.cell_info:type_name -> topodata.CellInfo + 315, // 180: vtctldata.UpdateCellInfoResponse.cell_info:type_name -> topodata.CellInfo + 339, // 181: vtctldata.UpdateCellsAliasRequest.cells_alias:type_name -> topodata.CellsAlias + 339, // 182: vtctldata.UpdateCellsAliasResponse.cells_alias:type_name -> topodata.CellsAlias + 295, // 183: vtctldata.ValidateResponse.results_by_keyspace:type_name -> vtctldata.ValidateResponse.ResultsByKeyspaceEntry + 296, // 184: vtctldata.ValidateKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry + 297, // 185: vtctldata.ValidateSchemaKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry + 298, // 186: vtctldata.ValidateVersionKeyspaceResponse.results_by_shard:type_name -> vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry + 299, // 187: vtctldata.ValidateVSchemaResponse.results_by_shard:type_name -> vtctldata.ValidateVSchemaResponse.ResultsByShardEntry + 321, // 188: vtctldata.VDiffCreateRequest.tablet_types:type_name -> topodata.TabletType + 309, // 189: vtctldata.VDiffCreateRequest.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 313, // 190: vtctldata.VDiffCreateRequest.filtered_replication_wait_time:type_name -> vttime.Duration + 313, // 191: vtctldata.VDiffCreateRequest.wait_update_interval:type_name -> vttime.Duration + 313, // 192: vtctldata.VDiffCreateRequest.max_diff_duration:type_name -> vttime.Duration + 300, // 193: vtctldata.VDiffShowResponse.tablet_responses:type_name -> vtctldata.VDiffShowResponse.TabletResponsesEntry + 301, // 194: vtctldata.WorkflowDeleteResponse.details:type_name -> vtctldata.WorkflowDeleteResponse.TabletInfo + 305, // 195: vtctldata.WorkflowStatusResponse.table_copy_state:type_name -> vtctldata.WorkflowStatusResponse.TableCopyStateEntry + 306, // 196: vtctldata.WorkflowStatusResponse.shard_streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamsEntry + 321, // 197: vtctldata.WorkflowSwitchTrafficRequest.tablet_types:type_name -> topodata.TabletType + 313, // 198: vtctldata.WorkflowSwitchTrafficRequest.max_replication_lag_allowed:type_name -> vttime.Duration + 313, // 199: vtctldata.WorkflowSwitchTrafficRequest.timeout:type_name -> vttime.Duration + 340, // 200: vtctldata.WorkflowUpdateRequest.tablet_request:type_name -> tabletmanagerdata.UpdateVReplicationWorkflowRequest + 307, // 201: vtctldata.WorkflowUpdateResponse.details:type_name -> vtctldata.WorkflowUpdateResponse.TabletInfo + 341, // 202: vtctldata.GetMirrorRulesResponse.mirror_rules:type_name -> vschema.MirrorRules + 321, // 203: vtctldata.WorkflowMirrorTrafficRequest.tablet_types:type_name -> topodata.TabletType + 264, // 204: vtctldata.LookupVindexCreateParams.vindexes:type_name -> vtctldata.VindexParams + 321, // 205: vtctldata.LookupVindexCreateParams.tablet_types:type_name -> topodata.TabletType + 268, // 206: vtctldata.Workflow.ShardStreamsEntry.value:type_name -> vtctldata.Workflow.ShardStream + 269, // 207: vtctldata.Workflow.ShardStream.streams:type_name -> vtctldata.Workflow.Stream + 342, // 208: vtctldata.Workflow.ShardStream.tablet_controls:type_name -> topodata.Shard.TabletControl + 312, // 209: vtctldata.Workflow.Stream.tablet:type_name -> topodata.TabletAlias + 343, // 210: vtctldata.Workflow.Stream.binlog_source:type_name -> binlogdata.BinlogSource + 311, // 211: vtctldata.Workflow.Stream.transaction_timestamp:type_name -> vttime.Time + 311, // 212: vtctldata.Workflow.Stream.time_updated:type_name -> vttime.Time + 270, // 213: vtctldata.Workflow.Stream.copy_states:type_name -> vtctldata.Workflow.Stream.CopyState + 271, // 214: vtctldata.Workflow.Stream.logs:type_name -> vtctldata.Workflow.Stream.Log + 272, // 215: vtctldata.Workflow.Stream.throttler_status:type_name -> vtctldata.Workflow.Stream.ThrottlerStatus + 321, // 216: vtctldata.Workflow.Stream.tablet_types:type_name -> topodata.TabletType + 309, // 217: vtctldata.Workflow.Stream.tablet_selection_preference:type_name -> tabletmanagerdata.TabletSelectionPreference + 311, // 218: vtctldata.Workflow.Stream.Log.created_at:type_name -> vttime.Time + 311, // 219: vtctldata.Workflow.Stream.Log.updated_at:type_name -> vttime.Time + 311, // 220: vtctldata.Workflow.Stream.ThrottlerStatus.time_throttled:type_name -> vttime.Time + 275, // 221: vtctldata.ApplyVSchemaResponse.UnknownVindexParamsEntry.value:type_name -> vtctldata.ApplyVSchemaResponse.ParamList + 11, // 222: vtctldata.FindAllShardsInKeyspaceResponse.ShardsEntry.value:type_name -> vtctldata.Shard + 339, // 223: vtctldata.GetCellsAliasesResponse.AliasesEntry.value:type_name -> topodata.CellsAlias + 344, // 224: vtctldata.GetShardReplicationResponse.ShardReplicationByCellEntry.value:type_name -> topodata.ShardReplication + 287, // 225: vtctldata.GetSrvKeyspaceNamesResponse.NamesEntry.value:type_name -> vtctldata.GetSrvKeyspaceNamesResponse.NameList + 345, // 226: vtctldata.GetSrvKeyspacesResponse.SrvKeyspacesEntry.value:type_name -> topodata.SrvKeyspace + 333, // 227: vtctldata.GetSrvVSchemasResponse.SrvVSchemasEntry.value:type_name -> vschema.SrvVSchema + 312, // 228: vtctldata.MoveTablesCreateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias + 346, // 229: vtctldata.ShardReplicationPositionsResponse.ReplicationStatusesEntry.value:type_name -> replicationdata.Status + 322, // 230: vtctldata.ShardReplicationPositionsResponse.TabletMapEntry.value:type_name -> topodata.Tablet + 230, // 231: vtctldata.ValidateResponse.ResultsByKeyspaceEntry.value:type_name -> vtctldata.ValidateKeyspaceResponse + 234, // 232: vtctldata.ValidateKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 234, // 233: vtctldata.ValidateSchemaKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 234, // 234: vtctldata.ValidateVersionKeyspaceResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 234, // 235: vtctldata.ValidateVSchemaResponse.ResultsByShardEntry.value:type_name -> vtctldata.ValidateShardResponse + 347, // 236: vtctldata.VDiffShowResponse.TabletResponsesEntry.value:type_name -> tabletmanagerdata.VDiffResponse + 312, // 237: vtctldata.WorkflowDeleteResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias + 312, // 238: vtctldata.WorkflowStatusResponse.ShardStreamState.tablet:type_name -> topodata.TabletAlias + 303, // 239: vtctldata.WorkflowStatusResponse.ShardStreams.streams:type_name -> vtctldata.WorkflowStatusResponse.ShardStreamState + 302, // 240: vtctldata.WorkflowStatusResponse.TableCopyStateEntry.value:type_name -> vtctldata.WorkflowStatusResponse.TableCopyState + 304, // 241: vtctldata.WorkflowStatusResponse.ShardStreamsEntry.value:type_name -> vtctldata.WorkflowStatusResponse.ShardStreams + 312, // 242: vtctldata.WorkflowUpdateResponse.TabletInfo.tablet:type_name -> topodata.TabletAlias + 243, // [243:243] is the sub-list for method output_type + 243, // [243:243] is the sub-list for method input_type + 243, // [243:243] is the sub-list for extension type_name + 243, // [243:243] is the sub-list for extension extendee + 0, // [0:243] is the sub-list for field type_name } func init() { file_vtctldata_proto_init() } @@ -20011,7 +20245,7 @@ func file_vtctldata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_vtctldata_proto_rawDesc, NumEnums: 5, - NumMessages: 301, + NumMessages: 303, NumExtensions: 0, NumServices: 0, }, diff --git a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go index 947b5ce9f43..eeea873e73f 100644 --- a/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go +++ b/go/vt/proto/vtctldata/vtctldata_vtproto.pb.go @@ -5788,6 +5788,69 @@ func (m *WorkflowMirrorTrafficResponse) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *LookupVindexCreateParams) CloneVT() *LookupVindexCreateParams { + if m == nil { + return (*LookupVindexCreateParams)(nil) + } + r := new(LookupVindexCreateParams) + r.Keyspace = m.Keyspace + r.TableVindexType = m.TableVindexType + r.ContinueAfterCopyWithOwner = m.ContinueAfterCopyWithOwner + r.TabletTypesInPreferenceOrder = m.TabletTypesInPreferenceOrder + if rhs := m.Vindexes; rhs != nil { + tmpContainer := make([]*VindexParams, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Vindexes = tmpContainer + } + if rhs := m.Cells; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.Cells = tmpContainer + } + if rhs := m.TabletTypes; rhs != nil { + tmpContainer := make([]topodata.TabletType, len(rhs)) + copy(tmpContainer, rhs) + r.TabletTypes = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *LookupVindexCreateParams) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *VindexParams) CloneVT() *VindexParams { + if m == nil { + return (*VindexParams)(nil) + } + r := new(VindexParams) + r.Name = m.Name + r.LookupVindexType = m.LookupVindexType + r.TableOwner = m.TableOwner + r.TableName = m.TableName + r.IgnoreNulls = m.IgnoreNulls + if rhs := m.TableOwnerColumns; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.TableOwnerColumns = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *VindexParams) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (m *ExecuteVtctlCommandRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -21567,6 +21630,195 @@ func (m *WorkflowMirrorTrafficResponse) MarshalToSizedBufferVT(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *LookupVindexCreateParams) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LookupVindexCreateParams) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *LookupVindexCreateParams) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.TabletTypesInPreferenceOrder { + i-- + if m.TabletTypesInPreferenceOrder { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.ContinueAfterCopyWithOwner { + i-- + if m.ContinueAfterCopyWithOwner { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if len(m.TabletTypes) > 0 { + var pksize2 int + for _, num := range m.TabletTypes { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range m.TabletTypes { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x2a + } + if len(m.Cells) > 0 { + for iNdEx := len(m.Cells) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Cells[iNdEx]) + copy(dAtA[i:], m.Cells[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Cells[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Vindexes) > 0 { + for iNdEx := len(m.Vindexes) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Vindexes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.TableVindexType) > 0 { + i -= len(m.TableVindexType) + copy(dAtA[i:], m.TableVindexType) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableVindexType))) + i-- + dAtA[i] = 0x12 + } + if len(m.Keyspace) > 0 { + i -= len(m.Keyspace) + copy(dAtA[i:], m.Keyspace) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Keyspace))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *VindexParams) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *VindexParams) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *VindexParams) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.IgnoreNulls { + i-- + if m.IgnoreNulls { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if len(m.TableName) > 0 { + i -= len(m.TableName) + copy(dAtA[i:], m.TableName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableName))) + i-- + dAtA[i] = 0x2a + } + if len(m.TableOwnerColumns) > 0 { + for iNdEx := len(m.TableOwnerColumns) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.TableOwnerColumns[iNdEx]) + copy(dAtA[i:], m.TableOwnerColumns[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableOwnerColumns[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(m.TableOwner) > 0 { + i -= len(m.TableOwner) + copy(dAtA[i:], m.TableOwner) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TableOwner))) + i-- + dAtA[i] = 0x1a + } + if len(m.LookupVindexType) > 0 { + i -= len(m.LookupVindexType) + copy(dAtA[i:], m.LookupVindexType) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LookupVindexType))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ExecuteVtctlCommandRequest) SizeVT() (n int) { if m == nil { return 0 @@ -27505,109 +27757,187 @@ func (m *WorkflowMirrorTrafficResponse) SizeVT() (n int) { return n } -func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ExecuteVtctlCommandRequest: wiretype end group for non-group") +func (m *LookupVindexCreateParams) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Keyspace) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.TableVindexType) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.Vindexes) > 0 { + for _, e := range m.Vindexes { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if fieldNum <= 0 { - return fmt.Errorf("proto: ExecuteVtctlCommandRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + if len(m.Cells) > 0 { + for _, s := range m.Cells { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Args = append(m.Args, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ActionTimeout", wireType) - } - m.ActionTimeout = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ActionTimeout |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy + } + if len(m.TabletTypes) > 0 { + l = 0 + for _, e := range m.TabletTypes { + l += protohelpers.SizeOfVarint(uint64(e)) } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l } + if m.ContinueAfterCopyWithOwner { + n += 2 + } + if m.TabletTypesInPreferenceOrder { + n += 2 + } + n += len(m.unknownFields) + return n +} - if iNdEx > l { - return io.ErrUnexpectedEOF +func (m *VindexParams) SizeVT() (n int) { + if m == nil { + return 0 } - return nil + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.LookupVindexType) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.TableOwner) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.TableOwnerColumns) > 0 { + for _, s := range m.TableOwnerColumns { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + l = len(m.TableName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.IgnoreNulls { + n += 2 + } + n += len(m.unknownFields) + return n } -func (m *ExecuteVtctlCommandResponse) UnmarshalVT(dAtA []byte) error { + +func (m *ExecuteVtctlCommandRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExecuteVtctlCommandRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecuteVtctlCommandRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Args = append(m.Args, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ActionTimeout", wireType) + } + m.ActionTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ActionTimeout |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExecuteVtctlCommandResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -66425,3 +66755,524 @@ func (m *WorkflowMirrorTrafficResponse) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *LookupVindexCreateParams) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: LookupVindexCreateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LookupVindexCreateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Keyspace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Keyspace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TableVindexType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TableVindexType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Vindexes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Vindexes = append(m.Vindexes, &VindexParams{}) + if err := m.Vindexes[len(m.Vindexes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cells", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Cells = append(m.Cells, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType == 0 { + var v topodata.TabletType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= topodata.TabletType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TabletTypes = append(m.TabletTypes, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(m.TabletTypes) == 0 { + m.TabletTypes = make([]topodata.TabletType, 0, elementCount) + } + for iNdEx < postIndex { + var v topodata.TabletType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= topodata.TabletType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TabletTypes = append(m.TabletTypes, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field TabletTypes", wireType) + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ContinueAfterCopyWithOwner", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ContinueAfterCopyWithOwner = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TabletTypesInPreferenceOrder", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TabletTypesInPreferenceOrder = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *VindexParams) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: VindexParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VindexParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LookupVindexType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LookupVindexType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TableOwner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TableOwner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TableOwnerColumns", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TableOwnerColumns = append(m.TableOwnerColumns, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TableName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TableName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IgnoreNulls", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IgnoreNulls = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/go/vt/vtctl/workflow/lookup_vindex.go b/go/vt/vtctl/workflow/lookup_vindex.go index cf9b4833c28..8bec8b55829 100644 --- a/go/vt/vtctl/workflow/lookup_vindex.go +++ b/go/vt/vtctl/workflow/lookup_vindex.go @@ -75,13 +75,27 @@ func (lv *lookupVindex) prepareCreate(ctx context.Context, workflow, keyspace st materializeQuery string ) + if specs == nil { + return nil, nil, nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "no vindex provided") + } + if len(specs.Vindexes) != 1 { + return nil, nil, nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "only one vindex must be specified") + } + + vindexName := maps.Keys(specs.Vindexes)[0] + vindex := maps.Values(specs.Vindexes)[0] + // Validate input vindex. - vindex, vInfo, err := lv.validateAndGetVindex(specs) + vInfo, err := lv.validateAndGetVindexInfo(vindexName, vindex, specs.Tables) if err != nil { return nil, nil, nil, nil, err } - vInfo.sourceTable, vInfo.sourceTableName, err = getSourceTable(specs, vInfo.targetTableName, vInfo.fromCols) + if len(specs.Tables) < 1 || len(specs.Tables) > 2 { + return nil, nil, nil, nil, fmt.Errorf("one or two tables must be specified") + } + + vInfo.sourceTable, vInfo.sourceTableName, err = getSourceTable(specs.Tables, vInfo.targetTableName, vInfo.fromCols) if err != nil { return nil, nil, nil, nil, err } @@ -252,24 +266,14 @@ type vindexInfo struct { } // validateAndGetVindex validates and extracts vindex configuration -func (lv *lookupVindex) validateAndGetVindex(specs *vschemapb.Keyspace) (*vschemapb.Vindex, *vindexInfo, error) { - if specs == nil { - return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "no vindex provided") - } - if len(specs.Vindexes) != 1 { - return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "only one vindex must be specified") - } - - vindexName := maps.Keys(specs.Vindexes)[0] - vindex := maps.Values(specs.Vindexes)[0] - +func (lv *lookupVindex) validateAndGetVindexInfo(vindexName string, vindex *vschemapb.Vindex, tables map[string]*vschemapb.Table) (*vindexInfo, error) { if !strings.Contains(vindex.Type, "lookup") { - return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "vindex %s is not a lookup type", vindex.Type) + return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "vindex %s is not a lookup type", vindex.Type) } targetKeyspace, targetTableName, err := lv.parser.ParseTable(vindex.Params["table"]) if err != nil || targetKeyspace == "" { - return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, + return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "vindex table name (%s) must be in the form .", vindex.Params["table"]) } @@ -280,7 +284,7 @@ func (lv *lookupVindex) validateAndGetVindex(specs *vschemapb.Keyspace) (*vschem if strings.Contains(vindex.Type, "unique") { if len(vindexFromCols) != 1 { - return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "unique vindex 'from' should have only one column") + return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "unique vindex 'from' should have only one column") } } @@ -291,7 +295,7 @@ func (lv *lookupVindex) validateAndGetVindex(specs *vschemapb.Keyspace) (*vschem // See if we can create the vindex without errors. if _, err := vindexes.CreateVindex(vindex.Type, vindexName, vindex.Params); err != nil { - return nil, nil, err + return nil, err } ignoreNulls := false @@ -303,18 +307,18 @@ func (lv *lookupVindex) validateAndGetVindex(specs *vschemapb.Keyspace) (*vschem case "false": ignoreNulls = false default: - return nil, nil, + return nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "ignore_nulls (%s) value must be 'true' or 'false'", ignoreNullsStr) } } // Validate input table. - if len(specs.Tables) < 1 || len(specs.Tables) > 2 { - return nil, nil, fmt.Errorf("one or two tables must be specified") + if len(tables) < 1 { + return nil, fmt.Errorf("atleast one table must be specified") } - return vindex, &vindexInfo{ + return &vindexInfo{ name: vindexName, targetKeyspace: targetKeyspace, targetTableName: targetTableName, @@ -352,9 +356,9 @@ func (lv *lookupVindex) getTargetAndSourceVSchema(ctx context.Context, sourceKey return sourceVSchema, targetVSchema, nil } -func getSourceTable(specs *vschemapb.Keyspace, targetTableName string, fromCols []string) (sourceTable *vschemapb.Table, sourceTableName string, err error) { +func getSourceTable(tables map[string]*vschemapb.Table, targetTableName string, fromCols []string) (sourceTable *vschemapb.Table, sourceTableName string, err error) { // Loop executes once or twice. - for tableName, table := range specs.Tables { + for tableName, table := range tables { if len(table.ColumnVindexes) != 1 { return nil, "", vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "exactly one ColumnVindex must be specified for the %s table", tableName) @@ -540,3 +544,252 @@ func generateColDef(lines []string, sourceVindexCol, vindexFromCol string) (stri } return "", fmt.Errorf("column %s not found in schema %v", sourceVindexCol, lines) } + +func (lv *lookupVindex) prepareMultipleCreate(ctx context.Context, workflow, keyspace string, specs *vschemapb.Keyspace, continueAfterCopyWithOwner bool) ( + ms *vtctldatapb.MaterializeSettings, sourceVSchema, targetVSchema *vschemapb.Keyspace, cancelFunc func() error, err error) { + var ( + // sourceVSchemaTable is the table info present in the vschema. + sourceVSchemaTable *vschemapb.Table + // sourceVindexColumns are computed from the input sourceTable. + sourceVindexColumns []string + + // sourceColVindex is the ColumnVindex for the source table obtained from `specs`. + sourceColVindex *vschemapb.ColumnVindex + // ogTargetVSchema is the original target keyspace VSchema. + // If any error occurs, we can revert back to the original VSchema. + ogTargetVSchema *vschemapb.Keyspace + + // Target table info. + createDDL string + materializeQuery string + + targetKeyspace string + tableSettings []*vtctldatapb.TableMaterializeSettings + ) + + if specs == nil || len(specs.Vindexes) == 0 { + return nil, nil, nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "no vindex provided") + } + + // Validate input vindexes & get VindexInfos. + vInfos, err := lv.validateAndGetVindexInfoMultiple(specs) + if err != nil { + return nil, nil, nil, nil, err + } + + targetVSchemaChanged := false + + for _, vInfo := range vInfos { + vindex := specs.Vindexes[vInfo.name] + + // TODO: Current implementation expects only owned lookup vindexes. + var ok bool + if vInfo.sourceTable, ok = specs.Tables[vindex.Owner]; !ok { + return nil, nil, nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "table owner not found for vindex %s", vInfo.name) + } + vInfo.sourceTableName = vindex.Owner + + targetTable, ok := specs.Tables[vInfo.targetTableName] + if !ok { + return nil, nil, nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "target table not found for vindex %s", vInfo.name) + } + + sourceColVindex, sourceVindexColumns, err = validateSourceTableAndGetVindexColumnsMultiple(vInfo, vindex) + if err != nil { + return nil, nil, nil, nil, err + } + + // This should be possible only for the first iteration. + if sourceVSchema == nil || targetVSchema == nil { + targetKeyspace = vInfo.targetKeyspace + sourceVSchema, targetVSchema, err = lv.getTargetAndSourceVSchema(ctx, keyspace, vInfo.targetKeyspace) + if err != nil { + return nil, nil, nil, nil, err + } + // Save a copy of the original vschema if we modify it and need to provide + // a cancelFunc. + ogTargetVSchema = targetVSchema.CloneVT() + } + + if existing, ok := sourceVSchema.Vindexes[vInfo.name]; ok { + if !proto.Equal(existing, vindex) { // If the exact same vindex already exists then we can re-use it + return nil, nil, nil, nil, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "a conflicting vindex named %s already exists in the %s keyspace", + vInfo.name, keyspace) + } + } + + sourceVSchemaTable = sourceVSchema.Tables[vInfo.sourceTableName] + if sourceVSchemaTable == nil && !schema.IsInternalOperationTableName(vInfo.sourceTableName) { + return nil, nil, nil, nil, + vterrors.Errorf(vtrpcpb.Code_INTERNAL, "table %s not found in the %s keyspace", vInfo.sourceTableName, keyspace) + } + if err := validateNonConflictingColumnVindex(sourceVSchemaTable, vInfo, sourceVindexColumns, keyspace); err != nil { + return nil, nil, nil, nil, err + } + + // Validate against source schema. + sourceShards, err := lv.ts.GetServingShards(ctx, keyspace) + if err != nil { + return nil, nil, nil, nil, err + } + onesource := sourceShards[0] + if onesource.PrimaryAlias == nil { + return nil, nil, nil, nil, + vterrors.Errorf(vtrpcpb.Code_INTERNAL, "source shard %s has no primary", onesource.ShardName()) + } + + req := &tabletmanagerdatapb.GetSchemaRequest{Tables: []string{vInfo.sourceTableName}} + tableSchema, err := schematools.GetSchema(ctx, lv.ts, lv.tmc, onesource.PrimaryAlias, req) + if err != nil { + return nil, nil, nil, nil, err + } + if len(tableSchema.TableDefinitions) != 1 { + return nil, nil, nil, nil, + vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected number of tables (%d) returned from %s schema", + len(tableSchema.TableDefinitions), keyspace) + } + + // Generate "create table" statement. + createDDL, err = lv.generateCreateDDLStatement(tableSchema, sourceVindexColumns, vInfo, vindex) + if err != nil { + return nil, nil, nil, nil, err + } + + // Generate vreplication query. + materializeQuery = generateMaterializeQuery(vInfo, vindex, sourceVindexColumns) + + // Update targetVSchema. + if targetVSchema.Sharded { + // Choose a primary vindex type for the lookup table based on the source + // definition if one was not explicitly specified. + var targetVindexType string + var targetVindex *vschemapb.Vindex + for _, field := range tableSchema.TableDefinitions[0].Fields { + if sourceVindexColumns[0] == field.Name { + if targetTable != nil && len(targetTable.ColumnVindexes) > 0 { + targetVindexType = targetTable.ColumnVindexes[0].Name + } + if targetVindexType == "" { + targetVindexType, err = vindexes.ChooseVindexForType(field.Type) + if err != nil { + return nil, nil, nil, nil, err + } + } + targetVindex = &vschemapb.Vindex{ + Type: targetVindexType, + } + break + } + } + if targetVindex == nil { + // Unreachable. We validated column names when generating the DDL. + return nil, nil, nil, nil, + vterrors.Errorf(vtrpcpb.Code_INTERNAL, "column %s not found in target schema %s", + sourceVindexColumns[0], tableSchema.TableDefinitions[0].Schema) + } + + if existing, ok := targetVSchema.Vindexes[targetVindexType]; ok { + if !proto.Equal(existing, targetVindex) { + return nil, nil, nil, nil, + vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "a conflicting vindex named %v already exists in the %s keyspace", + targetVindexType, vInfo.targetKeyspace) + } + } else { + targetVSchema.Vindexes[targetVindexType] = targetVindex + targetVSchemaChanged = true + } + + targetTable = &vschemapb.Table{ + ColumnVindexes: []*vschemapb.ColumnVindex{{ + Column: vInfo.fromCols[0], + Name: targetVindexType, + }}, + } + } else { + targetTable = &vschemapb.Table{} + } + if existing, ok := targetVSchema.Tables[vInfo.targetTableName]; ok { + if !proto.Equal(existing, targetTable) { + return nil, nil, nil, nil, + vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "a conflicting table named %s already exists in the %s vschema", + vInfo.targetTableName, vInfo.targetKeyspace) + } + } else { + targetVSchema.Tables[vInfo.targetTableName] = targetTable + targetVSchemaChanged = true + } + + materializeTableSettings := &vtctldatapb.TableMaterializeSettings{ + TargetTable: vInfo.targetTableName, + SourceExpression: materializeQuery, + CreateDdl: createDDL, + } + + tableSettings = append(tableSettings, materializeTableSettings) + // Update sourceVSchema + sourceVSchema.Vindexes[vInfo.name] = vindex + sourceVSchemaTable.ColumnVindexes = append(sourceVSchemaTable.ColumnVindexes, sourceColVindex) + } + + if targetVSchemaChanged { + cancelFunc = func() error { + // Restore the original target vschema. + return lv.ts.SaveVSchema(ctx, targetKeyspace, ogTargetVSchema) + } + } + + ms = &vtctldatapb.MaterializeSettings{ + Workflow: workflow, + MaterializationIntent: vtctldatapb.MaterializationIntent_CREATELOOKUPINDEX, + SourceKeyspace: keyspace, + TargetKeyspace: targetKeyspace, + StopAfterCopy: !continueAfterCopyWithOwner, + TableSettings: tableSettings, + } + + return ms, sourceVSchema, targetVSchema, cancelFunc, nil +} + +// validateAndGetVindexInfoMultiple validates and extracts vindex configuration for multiple lookup vindexes +func (lv *lookupVindex) validateAndGetVindexInfoMultiple(specs *vschemapb.Keyspace) ([]*vindexInfo, error) { + var vindexInfos []*vindexInfo + for vindexName, vindex := range specs.Vindexes { + vi, err := lv.validateAndGetVindexInfo(vindexName, vindex, specs.Tables) + if err != nil { + return nil, err + } + vindexInfos = append(vindexInfos, vi) + } + return vindexInfos, nil +} + +func validateSourceTableAndGetVindexColumnsMultiple(vInfo *vindexInfo, vindex *vschemapb.Vindex) (colVindex *vschemapb.ColumnVindex, sourceVindexColumns []string, err error) { + colVindexIndex := slices.IndexFunc(vInfo.sourceTable.ColumnVindexes, func(colVindex *vschemapb.ColumnVindex) bool { + return colVindex.Name == vInfo.name + }) + if colVindexIndex < 0 { + return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "ColumnVindex name (%s) not found in table %s", + vInfo.name, vInfo.sourceTableName) + } + colVindex = vInfo.sourceTable.ColumnVindexes[colVindexIndex] + + if vindex.Owner != "" && vindex.Owner != vInfo.sourceTableName { + return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "vindex owner (%s) must match table name (%s)", + vindex.Owner, vInfo.sourceTableName) + } + + if len(colVindex.Columns) != 0 { + sourceVindexColumns = colVindex.Columns + } else { + if colVindex.Column == "" { + return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "at least one column must be specified in ColumnVindexes for the %s table", + vInfo.sourceTableName) + } + sourceVindexColumns = []string{colVindex.Column} + } + if len(sourceVindexColumns) != len(vInfo.fromCols) { + return nil, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "length of table columns (%d) differs from length of vindex columns (%d)", + len(sourceVindexColumns), len(vInfo.fromCols)) + } + return colVindex, sourceVindexColumns, nil +} diff --git a/go/vt/vtctl/workflow/server.go b/go/vt/vtctl/workflow/server.go index f27851275b6..8c8d1a4574e 100644 --- a/go/vt/vtctl/workflow/server.go +++ b/go/vt/vtctl/workflow/server.go @@ -566,7 +566,19 @@ func (s *Server) LookupVindexCreate(ctx context.Context, req *vtctldatapb.Lookup lv := newLookupVindex(s) - ms, sourceVSchema, targetVSchema, cancelFunc, err := lv.prepareCreate(ctx, req.Workflow, req.Keyspace, req.Vindex, req.ContinueAfterCopyWithOwner) + var ( + ms *vtctldatapb.MaterializeSettings + sourceVSchema *vschemapb.Keyspace + targetVSchema *vschemapb.Keyspace + cancelFunc func() error + err error + ) + if req.Vindex != nil && len(req.Vindex.Vindexes) > 1 { + ms, sourceVSchema, targetVSchema, cancelFunc, err = lv.prepareMultipleCreate(ctx, req.Workflow, req.Keyspace, req.Vindex, req.ContinueAfterCopyWithOwner) + } else { + ms, sourceVSchema, targetVSchema, cancelFunc, err = lv.prepareCreate(ctx, req.Workflow, req.Keyspace, req.Vindex, req.ContinueAfterCopyWithOwner) + } + if err != nil { return nil, err } diff --git a/proto/vtctldata.proto b/proto/vtctldata.proto index b1e5fb215bc..45b2545c472 100644 --- a/proto/vtctldata.proto +++ b/proto/vtctldata.proto @@ -2157,3 +2157,37 @@ message WorkflowMirrorTrafficResponse { string start_state = 2; string current_state = 3; } + +message LookupVindexCreateParams { + // Keyspace to create the Lookup Vindex(es) in. + string keyspace = 1; + // The primary vindex name/type to use for the lookup tables, + // if the table-keyspace is sharded. + string table_vindex_type = 2; + // Vindex(es) configuration. + repeated VindexParams vindexes = 3; + + // VReplication specific options. + repeated string cells = 4; + repeated topodata.TabletType tablet_types = 5; + bool continue_after_copy_with_owner = 6; + bool tablet_types_in_preference_order = 7; +} + +message VindexParams { + // Name of the Lookup Vindex to create. + string name = 1; + // Type of Lookup Vindex to create. + string lookup_vindex_type = 2; + // Table holding the data which we should use to backfill the Lookup Vindex. + // This must exist in the same keyspace as the Lookup Vindex. + string table_owner = 3; + // Columns to read from the owner table. + repeated string table_owner_columns = 4; + // Name of the lookup table. If not specified, then it will be created using + // the same name as the Lookup Vindex. + string table_name = 5; + // Do not add corresponding records in the lookup table if any of the owner + // table's 'from' fields are NULL. + bool ignore_nulls = 6; +} \ No newline at end of file diff --git a/web/vtadmin/src/proto/vtadmin.d.ts b/web/vtadmin/src/proto/vtadmin.d.ts index adb02034c92..21658abbb2f 100644 --- a/web/vtadmin/src/proto/vtadmin.d.ts +++ b/web/vtadmin/src/proto/vtadmin.d.ts @@ -79751,4 +79751,264 @@ export namespace vtctldata { */ public static getTypeUrl(typeUrlPrefix?: string): string; } + + /** Properties of a LookupVindexCreateParams. */ + interface ILookupVindexCreateParams { + + /** LookupVindexCreateParams keyspace */ + keyspace?: (string|null); + + /** LookupVindexCreateParams table_vindex_type */ + table_vindex_type?: (string|null); + + /** LookupVindexCreateParams vindexes */ + vindexes?: (vtctldata.IVindexParams[]|null); + + /** LookupVindexCreateParams cells */ + cells?: (string[]|null); + + /** LookupVindexCreateParams tablet_types */ + tablet_types?: (topodata.TabletType[]|null); + + /** LookupVindexCreateParams continue_after_copy_with_owner */ + continue_after_copy_with_owner?: (boolean|null); + + /** LookupVindexCreateParams tablet_types_in_preference_order */ + tablet_types_in_preference_order?: (boolean|null); + } + + /** Represents a LookupVindexCreateParams. */ + class LookupVindexCreateParams implements ILookupVindexCreateParams { + + /** + * Constructs a new LookupVindexCreateParams. + * @param [properties] Properties to set + */ + constructor(properties?: vtctldata.ILookupVindexCreateParams); + + /** LookupVindexCreateParams keyspace. */ + public keyspace: string; + + /** LookupVindexCreateParams table_vindex_type. */ + public table_vindex_type: string; + + /** LookupVindexCreateParams vindexes. */ + public vindexes: vtctldata.IVindexParams[]; + + /** LookupVindexCreateParams cells. */ + public cells: string[]; + + /** LookupVindexCreateParams tablet_types. */ + public tablet_types: topodata.TabletType[]; + + /** LookupVindexCreateParams continue_after_copy_with_owner. */ + public continue_after_copy_with_owner: boolean; + + /** LookupVindexCreateParams tablet_types_in_preference_order. */ + public tablet_types_in_preference_order: boolean; + + /** + * Creates a new LookupVindexCreateParams instance using the specified properties. + * @param [properties] Properties to set + * @returns LookupVindexCreateParams instance + */ + public static create(properties?: vtctldata.ILookupVindexCreateParams): vtctldata.LookupVindexCreateParams; + + /** + * Encodes the specified LookupVindexCreateParams message. Does not implicitly {@link vtctldata.LookupVindexCreateParams.verify|verify} messages. + * @param message LookupVindexCreateParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: vtctldata.ILookupVindexCreateParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LookupVindexCreateParams message, length delimited. Does not implicitly {@link vtctldata.LookupVindexCreateParams.verify|verify} messages. + * @param message LookupVindexCreateParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: vtctldata.ILookupVindexCreateParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LookupVindexCreateParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LookupVindexCreateParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): vtctldata.LookupVindexCreateParams; + + /** + * Decodes a LookupVindexCreateParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LookupVindexCreateParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): vtctldata.LookupVindexCreateParams; + + /** + * Verifies a LookupVindexCreateParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LookupVindexCreateParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LookupVindexCreateParams + */ + public static fromObject(object: { [k: string]: any }): vtctldata.LookupVindexCreateParams; + + /** + * Creates a plain object from a LookupVindexCreateParams message. Also converts values to other types if specified. + * @param message LookupVindexCreateParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: vtctldata.LookupVindexCreateParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LookupVindexCreateParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LookupVindexCreateParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a VindexParams. */ + interface IVindexParams { + + /** VindexParams name */ + name?: (string|null); + + /** VindexParams lookup_vindex_type */ + lookup_vindex_type?: (string|null); + + /** VindexParams table_owner */ + table_owner?: (string|null); + + /** VindexParams table_owner_columns */ + table_owner_columns?: (string[]|null); + + /** VindexParams table_name */ + table_name?: (string|null); + + /** VindexParams ignore_nulls */ + ignore_nulls?: (boolean|null); + } + + /** Represents a VindexParams. */ + class VindexParams implements IVindexParams { + + /** + * Constructs a new VindexParams. + * @param [properties] Properties to set + */ + constructor(properties?: vtctldata.IVindexParams); + + /** VindexParams name. */ + public name: string; + + /** VindexParams lookup_vindex_type. */ + public lookup_vindex_type: string; + + /** VindexParams table_owner. */ + public table_owner: string; + + /** VindexParams table_owner_columns. */ + public table_owner_columns: string[]; + + /** VindexParams table_name. */ + public table_name: string; + + /** VindexParams ignore_nulls. */ + public ignore_nulls: boolean; + + /** + * Creates a new VindexParams instance using the specified properties. + * @param [properties] Properties to set + * @returns VindexParams instance + */ + public static create(properties?: vtctldata.IVindexParams): vtctldata.VindexParams; + + /** + * Encodes the specified VindexParams message. Does not implicitly {@link vtctldata.VindexParams.verify|verify} messages. + * @param message VindexParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: vtctldata.IVindexParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VindexParams message, length delimited. Does not implicitly {@link vtctldata.VindexParams.verify|verify} messages. + * @param message VindexParams message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: vtctldata.IVindexParams, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VindexParams message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VindexParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): vtctldata.VindexParams; + + /** + * Decodes a VindexParams message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VindexParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): vtctldata.VindexParams; + + /** + * Verifies a VindexParams message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VindexParams message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VindexParams + */ + public static fromObject(object: { [k: string]: any }): vtctldata.VindexParams; + + /** + * Creates a plain object from a VindexParams message. Also converts values to other types if specified. + * @param message VindexParams + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: vtctldata.VindexParams, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VindexParams to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VindexParams + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } } diff --git a/web/vtadmin/src/proto/vtadmin.js b/web/vtadmin/src/proto/vtadmin.js index d71d3e08fe5..a4c51165f32 100644 --- a/web/vtadmin/src/proto/vtadmin.js +++ b/web/vtadmin/src/proto/vtadmin.js @@ -195043,6 +195043,811 @@ export const vtctldata = $root.vtctldata = (() => { return WorkflowMirrorTrafficResponse; })(); + vtctldata.LookupVindexCreateParams = (function() { + + /** + * Properties of a LookupVindexCreateParams. + * @memberof vtctldata + * @interface ILookupVindexCreateParams + * @property {string|null} [keyspace] LookupVindexCreateParams keyspace + * @property {string|null} [table_vindex_type] LookupVindexCreateParams table_vindex_type + * @property {Array.|null} [vindexes] LookupVindexCreateParams vindexes + * @property {Array.|null} [cells] LookupVindexCreateParams cells + * @property {Array.|null} [tablet_types] LookupVindexCreateParams tablet_types + * @property {boolean|null} [continue_after_copy_with_owner] LookupVindexCreateParams continue_after_copy_with_owner + * @property {boolean|null} [tablet_types_in_preference_order] LookupVindexCreateParams tablet_types_in_preference_order + */ + + /** + * Constructs a new LookupVindexCreateParams. + * @memberof vtctldata + * @classdesc Represents a LookupVindexCreateParams. + * @implements ILookupVindexCreateParams + * @constructor + * @param {vtctldata.ILookupVindexCreateParams=} [properties] Properties to set + */ + function LookupVindexCreateParams(properties) { + this.vindexes = []; + this.cells = []; + this.tablet_types = []; + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LookupVindexCreateParams keyspace. + * @member {string} keyspace + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.keyspace = ""; + + /** + * LookupVindexCreateParams table_vindex_type. + * @member {string} table_vindex_type + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.table_vindex_type = ""; + + /** + * LookupVindexCreateParams vindexes. + * @member {Array.} vindexes + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.vindexes = $util.emptyArray; + + /** + * LookupVindexCreateParams cells. + * @member {Array.} cells + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.cells = $util.emptyArray; + + /** + * LookupVindexCreateParams tablet_types. + * @member {Array.} tablet_types + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.tablet_types = $util.emptyArray; + + /** + * LookupVindexCreateParams continue_after_copy_with_owner. + * @member {boolean} continue_after_copy_with_owner + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.continue_after_copy_with_owner = false; + + /** + * LookupVindexCreateParams tablet_types_in_preference_order. + * @member {boolean} tablet_types_in_preference_order + * @memberof vtctldata.LookupVindexCreateParams + * @instance + */ + LookupVindexCreateParams.prototype.tablet_types_in_preference_order = false; + + /** + * Creates a new LookupVindexCreateParams instance using the specified properties. + * @function create + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {vtctldata.ILookupVindexCreateParams=} [properties] Properties to set + * @returns {vtctldata.LookupVindexCreateParams} LookupVindexCreateParams instance + */ + LookupVindexCreateParams.create = function create(properties) { + return new LookupVindexCreateParams(properties); + }; + + /** + * Encodes the specified LookupVindexCreateParams message. Does not implicitly {@link vtctldata.LookupVindexCreateParams.verify|verify} messages. + * @function encode + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {vtctldata.ILookupVindexCreateParams} message LookupVindexCreateParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LookupVindexCreateParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.keyspace != null && Object.hasOwnProperty.call(message, "keyspace")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.keyspace); + if (message.table_vindex_type != null && Object.hasOwnProperty.call(message, "table_vindex_type")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.table_vindex_type); + if (message.vindexes != null && message.vindexes.length) + for (let i = 0; i < message.vindexes.length; ++i) + $root.vtctldata.VindexParams.encode(message.vindexes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.cells != null && message.cells.length) + for (let i = 0; i < message.cells.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.cells[i]); + if (message.tablet_types != null && message.tablet_types.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (let i = 0; i < message.tablet_types.length; ++i) + writer.int32(message.tablet_types[i]); + writer.ldelim(); + } + if (message.continue_after_copy_with_owner != null && Object.hasOwnProperty.call(message, "continue_after_copy_with_owner")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.continue_after_copy_with_owner); + if (message.tablet_types_in_preference_order != null && Object.hasOwnProperty.call(message, "tablet_types_in_preference_order")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.tablet_types_in_preference_order); + return writer; + }; + + /** + * Encodes the specified LookupVindexCreateParams message, length delimited. Does not implicitly {@link vtctldata.LookupVindexCreateParams.verify|verify} messages. + * @function encodeDelimited + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {vtctldata.ILookupVindexCreateParams} message LookupVindexCreateParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LookupVindexCreateParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LookupVindexCreateParams message from the specified reader or buffer. + * @function decode + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {vtctldata.LookupVindexCreateParams} LookupVindexCreateParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LookupVindexCreateParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vtctldata.LookupVindexCreateParams(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.keyspace = reader.string(); + break; + } + case 2: { + message.table_vindex_type = reader.string(); + break; + } + case 3: { + if (!(message.vindexes && message.vindexes.length)) + message.vindexes = []; + message.vindexes.push($root.vtctldata.VindexParams.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.cells && message.cells.length)) + message.cells = []; + message.cells.push(reader.string()); + break; + } + case 5: { + if (!(message.tablet_types && message.tablet_types.length)) + message.tablet_types = []; + if ((tag & 7) === 2) { + let end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.tablet_types.push(reader.int32()); + } else + message.tablet_types.push(reader.int32()); + break; + } + case 6: { + message.continue_after_copy_with_owner = reader.bool(); + break; + } + case 7: { + message.tablet_types_in_preference_order = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LookupVindexCreateParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {vtctldata.LookupVindexCreateParams} LookupVindexCreateParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LookupVindexCreateParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LookupVindexCreateParams message. + * @function verify + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LookupVindexCreateParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.keyspace != null && message.hasOwnProperty("keyspace")) + if (!$util.isString(message.keyspace)) + return "keyspace: string expected"; + if (message.table_vindex_type != null && message.hasOwnProperty("table_vindex_type")) + if (!$util.isString(message.table_vindex_type)) + return "table_vindex_type: string expected"; + if (message.vindexes != null && message.hasOwnProperty("vindexes")) { + if (!Array.isArray(message.vindexes)) + return "vindexes: array expected"; + for (let i = 0; i < message.vindexes.length; ++i) { + let error = $root.vtctldata.VindexParams.verify(message.vindexes[i]); + if (error) + return "vindexes." + error; + } + } + if (message.cells != null && message.hasOwnProperty("cells")) { + if (!Array.isArray(message.cells)) + return "cells: array expected"; + for (let i = 0; i < message.cells.length; ++i) + if (!$util.isString(message.cells[i])) + return "cells: string[] expected"; + } + if (message.tablet_types != null && message.hasOwnProperty("tablet_types")) { + if (!Array.isArray(message.tablet_types)) + return "tablet_types: array expected"; + for (let i = 0; i < message.tablet_types.length; ++i) + switch (message.tablet_types[i]) { + default: + return "tablet_types: enum value[] expected"; + case 0: + case 1: + case 1: + case 2: + case 3: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } + } + if (message.continue_after_copy_with_owner != null && message.hasOwnProperty("continue_after_copy_with_owner")) + if (typeof message.continue_after_copy_with_owner !== "boolean") + return "continue_after_copy_with_owner: boolean expected"; + if (message.tablet_types_in_preference_order != null && message.hasOwnProperty("tablet_types_in_preference_order")) + if (typeof message.tablet_types_in_preference_order !== "boolean") + return "tablet_types_in_preference_order: boolean expected"; + return null; + }; + + /** + * Creates a LookupVindexCreateParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {Object.} object Plain object + * @returns {vtctldata.LookupVindexCreateParams} LookupVindexCreateParams + */ + LookupVindexCreateParams.fromObject = function fromObject(object) { + if (object instanceof $root.vtctldata.LookupVindexCreateParams) + return object; + let message = new $root.vtctldata.LookupVindexCreateParams(); + if (object.keyspace != null) + message.keyspace = String(object.keyspace); + if (object.table_vindex_type != null) + message.table_vindex_type = String(object.table_vindex_type); + if (object.vindexes) { + if (!Array.isArray(object.vindexes)) + throw TypeError(".vtctldata.LookupVindexCreateParams.vindexes: array expected"); + message.vindexes = []; + for (let i = 0; i < object.vindexes.length; ++i) { + if (typeof object.vindexes[i] !== "object") + throw TypeError(".vtctldata.LookupVindexCreateParams.vindexes: object expected"); + message.vindexes[i] = $root.vtctldata.VindexParams.fromObject(object.vindexes[i]); + } + } + if (object.cells) { + if (!Array.isArray(object.cells)) + throw TypeError(".vtctldata.LookupVindexCreateParams.cells: array expected"); + message.cells = []; + for (let i = 0; i < object.cells.length; ++i) + message.cells[i] = String(object.cells[i]); + } + if (object.tablet_types) { + if (!Array.isArray(object.tablet_types)) + throw TypeError(".vtctldata.LookupVindexCreateParams.tablet_types: array expected"); + message.tablet_types = []; + for (let i = 0; i < object.tablet_types.length; ++i) + switch (object.tablet_types[i]) { + default: + if (typeof object.tablet_types[i] === "number") { + message.tablet_types[i] = object.tablet_types[i]; + break; + } + case "UNKNOWN": + case 0: + message.tablet_types[i] = 0; + break; + case "PRIMARY": + case 1: + message.tablet_types[i] = 1; + break; + case "MASTER": + case 1: + message.tablet_types[i] = 1; + break; + case "REPLICA": + case 2: + message.tablet_types[i] = 2; + break; + case "RDONLY": + case 3: + message.tablet_types[i] = 3; + break; + case "BATCH": + case 3: + message.tablet_types[i] = 3; + break; + case "SPARE": + case 4: + message.tablet_types[i] = 4; + break; + case "EXPERIMENTAL": + case 5: + message.tablet_types[i] = 5; + break; + case "BACKUP": + case 6: + message.tablet_types[i] = 6; + break; + case "RESTORE": + case 7: + message.tablet_types[i] = 7; + break; + case "DRAINED": + case 8: + message.tablet_types[i] = 8; + break; + } + } + if (object.continue_after_copy_with_owner != null) + message.continue_after_copy_with_owner = Boolean(object.continue_after_copy_with_owner); + if (object.tablet_types_in_preference_order != null) + message.tablet_types_in_preference_order = Boolean(object.tablet_types_in_preference_order); + return message; + }; + + /** + * Creates a plain object from a LookupVindexCreateParams message. Also converts values to other types if specified. + * @function toObject + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {vtctldata.LookupVindexCreateParams} message LookupVindexCreateParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LookupVindexCreateParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + let object = {}; + if (options.arrays || options.defaults) { + object.vindexes = []; + object.cells = []; + object.tablet_types = []; + } + if (options.defaults) { + object.keyspace = ""; + object.table_vindex_type = ""; + object.continue_after_copy_with_owner = false; + object.tablet_types_in_preference_order = false; + } + if (message.keyspace != null && message.hasOwnProperty("keyspace")) + object.keyspace = message.keyspace; + if (message.table_vindex_type != null && message.hasOwnProperty("table_vindex_type")) + object.table_vindex_type = message.table_vindex_type; + if (message.vindexes && message.vindexes.length) { + object.vindexes = []; + for (let j = 0; j < message.vindexes.length; ++j) + object.vindexes[j] = $root.vtctldata.VindexParams.toObject(message.vindexes[j], options); + } + if (message.cells && message.cells.length) { + object.cells = []; + for (let j = 0; j < message.cells.length; ++j) + object.cells[j] = message.cells[j]; + } + if (message.tablet_types && message.tablet_types.length) { + object.tablet_types = []; + for (let j = 0; j < message.tablet_types.length; ++j) + object.tablet_types[j] = options.enums === String ? $root.topodata.TabletType[message.tablet_types[j]] === undefined ? message.tablet_types[j] : $root.topodata.TabletType[message.tablet_types[j]] : message.tablet_types[j]; + } + if (message.continue_after_copy_with_owner != null && message.hasOwnProperty("continue_after_copy_with_owner")) + object.continue_after_copy_with_owner = message.continue_after_copy_with_owner; + if (message.tablet_types_in_preference_order != null && message.hasOwnProperty("tablet_types_in_preference_order")) + object.tablet_types_in_preference_order = message.tablet_types_in_preference_order; + return object; + }; + + /** + * Converts this LookupVindexCreateParams to JSON. + * @function toJSON + * @memberof vtctldata.LookupVindexCreateParams + * @instance + * @returns {Object.} JSON object + */ + LookupVindexCreateParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LookupVindexCreateParams + * @function getTypeUrl + * @memberof vtctldata.LookupVindexCreateParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LookupVindexCreateParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/vtctldata.LookupVindexCreateParams"; + }; + + return LookupVindexCreateParams; + })(); + + vtctldata.VindexParams = (function() { + + /** + * Properties of a VindexParams. + * @memberof vtctldata + * @interface IVindexParams + * @property {string|null} [name] VindexParams name + * @property {string|null} [lookup_vindex_type] VindexParams lookup_vindex_type + * @property {string|null} [table_owner] VindexParams table_owner + * @property {Array.|null} [table_owner_columns] VindexParams table_owner_columns + * @property {string|null} [table_name] VindexParams table_name + * @property {boolean|null} [ignore_nulls] VindexParams ignore_nulls + */ + + /** + * Constructs a new VindexParams. + * @memberof vtctldata + * @classdesc Represents a VindexParams. + * @implements IVindexParams + * @constructor + * @param {vtctldata.IVindexParams=} [properties] Properties to set + */ + function VindexParams(properties) { + this.table_owner_columns = []; + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * VindexParams name. + * @member {string} name + * @memberof vtctldata.VindexParams + * @instance + */ + VindexParams.prototype.name = ""; + + /** + * VindexParams lookup_vindex_type. + * @member {string} lookup_vindex_type + * @memberof vtctldata.VindexParams + * @instance + */ + VindexParams.prototype.lookup_vindex_type = ""; + + /** + * VindexParams table_owner. + * @member {string} table_owner + * @memberof vtctldata.VindexParams + * @instance + */ + VindexParams.prototype.table_owner = ""; + + /** + * VindexParams table_owner_columns. + * @member {Array.} table_owner_columns + * @memberof vtctldata.VindexParams + * @instance + */ + VindexParams.prototype.table_owner_columns = $util.emptyArray; + + /** + * VindexParams table_name. + * @member {string} table_name + * @memberof vtctldata.VindexParams + * @instance + */ + VindexParams.prototype.table_name = ""; + + /** + * VindexParams ignore_nulls. + * @member {boolean} ignore_nulls + * @memberof vtctldata.VindexParams + * @instance + */ + VindexParams.prototype.ignore_nulls = false; + + /** + * Creates a new VindexParams instance using the specified properties. + * @function create + * @memberof vtctldata.VindexParams + * @static + * @param {vtctldata.IVindexParams=} [properties] Properties to set + * @returns {vtctldata.VindexParams} VindexParams instance + */ + VindexParams.create = function create(properties) { + return new VindexParams(properties); + }; + + /** + * Encodes the specified VindexParams message. Does not implicitly {@link vtctldata.VindexParams.verify|verify} messages. + * @function encode + * @memberof vtctldata.VindexParams + * @static + * @param {vtctldata.IVindexParams} message VindexParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VindexParams.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.lookup_vindex_type != null && Object.hasOwnProperty.call(message, "lookup_vindex_type")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.lookup_vindex_type); + if (message.table_owner != null && Object.hasOwnProperty.call(message, "table_owner")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.table_owner); + if (message.table_owner_columns != null && message.table_owner_columns.length) + for (let i = 0; i < message.table_owner_columns.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.table_owner_columns[i]); + if (message.table_name != null && Object.hasOwnProperty.call(message, "table_name")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.table_name); + if (message.ignore_nulls != null && Object.hasOwnProperty.call(message, "ignore_nulls")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.ignore_nulls); + return writer; + }; + + /** + * Encodes the specified VindexParams message, length delimited. Does not implicitly {@link vtctldata.VindexParams.verify|verify} messages. + * @function encodeDelimited + * @memberof vtctldata.VindexParams + * @static + * @param {vtctldata.IVindexParams} message VindexParams message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + VindexParams.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a VindexParams message from the specified reader or buffer. + * @function decode + * @memberof vtctldata.VindexParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {vtctldata.VindexParams} VindexParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VindexParams.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.vtctldata.VindexParams(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.lookup_vindex_type = reader.string(); + break; + } + case 3: { + message.table_owner = reader.string(); + break; + } + case 4: { + if (!(message.table_owner_columns && message.table_owner_columns.length)) + message.table_owner_columns = []; + message.table_owner_columns.push(reader.string()); + break; + } + case 5: { + message.table_name = reader.string(); + break; + } + case 6: { + message.ignore_nulls = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a VindexParams message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof vtctldata.VindexParams + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {vtctldata.VindexParams} VindexParams + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + VindexParams.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a VindexParams message. + * @function verify + * @memberof vtctldata.VindexParams + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + VindexParams.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.lookup_vindex_type != null && message.hasOwnProperty("lookup_vindex_type")) + if (!$util.isString(message.lookup_vindex_type)) + return "lookup_vindex_type: string expected"; + if (message.table_owner != null && message.hasOwnProperty("table_owner")) + if (!$util.isString(message.table_owner)) + return "table_owner: string expected"; + if (message.table_owner_columns != null && message.hasOwnProperty("table_owner_columns")) { + if (!Array.isArray(message.table_owner_columns)) + return "table_owner_columns: array expected"; + for (let i = 0; i < message.table_owner_columns.length; ++i) + if (!$util.isString(message.table_owner_columns[i])) + return "table_owner_columns: string[] expected"; + } + if (message.table_name != null && message.hasOwnProperty("table_name")) + if (!$util.isString(message.table_name)) + return "table_name: string expected"; + if (message.ignore_nulls != null && message.hasOwnProperty("ignore_nulls")) + if (typeof message.ignore_nulls !== "boolean") + return "ignore_nulls: boolean expected"; + return null; + }; + + /** + * Creates a VindexParams message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof vtctldata.VindexParams + * @static + * @param {Object.} object Plain object + * @returns {vtctldata.VindexParams} VindexParams + */ + VindexParams.fromObject = function fromObject(object) { + if (object instanceof $root.vtctldata.VindexParams) + return object; + let message = new $root.vtctldata.VindexParams(); + if (object.name != null) + message.name = String(object.name); + if (object.lookup_vindex_type != null) + message.lookup_vindex_type = String(object.lookup_vindex_type); + if (object.table_owner != null) + message.table_owner = String(object.table_owner); + if (object.table_owner_columns) { + if (!Array.isArray(object.table_owner_columns)) + throw TypeError(".vtctldata.VindexParams.table_owner_columns: array expected"); + message.table_owner_columns = []; + for (let i = 0; i < object.table_owner_columns.length; ++i) + message.table_owner_columns[i] = String(object.table_owner_columns[i]); + } + if (object.table_name != null) + message.table_name = String(object.table_name); + if (object.ignore_nulls != null) + message.ignore_nulls = Boolean(object.ignore_nulls); + return message; + }; + + /** + * Creates a plain object from a VindexParams message. Also converts values to other types if specified. + * @function toObject + * @memberof vtctldata.VindexParams + * @static + * @param {vtctldata.VindexParams} message VindexParams + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + VindexParams.toObject = function toObject(message, options) { + if (!options) + options = {}; + let object = {}; + if (options.arrays || options.defaults) + object.table_owner_columns = []; + if (options.defaults) { + object.name = ""; + object.lookup_vindex_type = ""; + object.table_owner = ""; + object.table_name = ""; + object.ignore_nulls = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.lookup_vindex_type != null && message.hasOwnProperty("lookup_vindex_type")) + object.lookup_vindex_type = message.lookup_vindex_type; + if (message.table_owner != null && message.hasOwnProperty("table_owner")) + object.table_owner = message.table_owner; + if (message.table_owner_columns && message.table_owner_columns.length) { + object.table_owner_columns = []; + for (let j = 0; j < message.table_owner_columns.length; ++j) + object.table_owner_columns[j] = message.table_owner_columns[j]; + } + if (message.table_name != null && message.hasOwnProperty("table_name")) + object.table_name = message.table_name; + if (message.ignore_nulls != null && message.hasOwnProperty("ignore_nulls")) + object.ignore_nulls = message.ignore_nulls; + return object; + }; + + /** + * Converts this VindexParams to JSON. + * @function toJSON + * @memberof vtctldata.VindexParams + * @instance + * @returns {Object.} JSON object + */ + VindexParams.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for VindexParams + * @function getTypeUrl + * @memberof vtctldata.VindexParams + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + VindexParams.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/vtctldata.VindexParams"; + }; + + return VindexParams; + })(); + return vtctldata; })();