diff --git a/go/vt/discovery/tablet_stats_cache.go b/go/vt/discovery/tablet_stats_cache.go index 92208266e1c..14771e7aec9 100644 --- a/go/vt/discovery/tablet_stats_cache.go +++ b/go/vt/discovery/tablet_stats_cache.go @@ -17,7 +17,6 @@ limitations under the License. package discovery import ( - "math" "sync" "golang.org/x/net/context" @@ -27,7 +26,6 @@ import ( "vitess.io/vitess/go/vt/srvtopo" "vitess.io/vitess/go/vt/topo" "vitess.io/vitess/go/vt/topo/topoproto" - "vitess.io/vitess/go/vt/topotools" ) // TabletStatsCache is a HealthCheckStatsListener that keeps both the @@ -47,8 +45,6 @@ type TabletStatsCache struct { cell string // ts is the topo server in use. ts *topo.Server - // aggregatesChan is used to send notifications to listeners. - aggregatesChan chan []*srvtopo.TargetStatsEntry // mu protects the following fields. It does not protect individual // entries in the entries map. mu sync.RWMutex @@ -70,8 +66,6 @@ type tabletStatsCacheEntry struct { all map[string]*TabletStats // healthy only has the healthy ones. healthy []*TabletStats - // aggregates has the per-alias aggregates. - aggregates map[string]*querypb.AggregateStats } func (e *tabletStatsCacheEntry) updateHealthyMapForMaster(ts *TabletStats) { @@ -131,12 +125,11 @@ func NewTabletStatsCacheDoNotSetListener(ts *topo.Server, cell string) *TabletSt func newTabletStatsCache(hc HealthCheck, ts *topo.Server, cell string, setListener bool) *TabletStatsCache { tc := &TabletStatsCache{ - cell: cell, - ts: ts, - aggregatesChan: make(chan []*srvtopo.TargetStatsEntry, 100), - entries: make(map[string]map[string]map[topodatapb.TabletType]*tabletStatsCacheEntry), - tsm: srvtopo.NewTargetStatsMultiplexer(), - cellAliases: make(map[string]string), + cell: cell, + ts: ts, + entries: make(map[string]map[string]map[topodatapb.TabletType]*tabletStatsCacheEntry), + tsm: srvtopo.NewTargetStatsMultiplexer(), + cellAliases: make(map[string]string), } if setListener { @@ -188,8 +181,7 @@ func (tc *TabletStatsCache) getOrCreateEntry(target *querypb.Target) *tabletStat e, ok := t[target.TabletType] if !ok { e = &tabletStatsCacheEntry{ - all: make(map[string]*TabletStats), - aggregates: make(map[string]*querypb.AggregateStats), + all: make(map[string]*TabletStats), } t[target.TabletType] = e } @@ -258,9 +250,6 @@ func (tc *TabletStatsCache) StatsUpdate(ts *TabletStats) { // The healthy list is different for TabletType_MASTER: we // only keep the most recent one. e.updateHealthyMapForMaster(ts) - for _, s := range e.all { - allArray = append(allArray, s) - } } else { // For non-master, if it is a trivial update, // we just skip everything else. We don't even update the @@ -276,45 +265,6 @@ func (tc *TabletStatsCache) StatsUpdate(ts *TabletStats) { } e.healthy = FilterByReplicationLag(allArray) } - - tc.updateAggregateMap(ts.Target.Keyspace, ts.Target.Shard, ts.Target.TabletType, e, allArray) -} - -// makeAggregateMap takes a list of TabletStats and builds a per-alias -// AggregateStats map. -func (tc *TabletStatsCache) makeAggregateMap(stats []*TabletStats) map[string]*querypb.AggregateStats { - result := make(map[string]*querypb.AggregateStats) - for _, ts := range stats { - alias := tc.getAliasByCell(ts.Tablet.Alias.Cell) - agg, ok := result[alias] - if !ok { - agg = &querypb.AggregateStats{ - SecondsBehindMasterMin: math.MaxUint32, - } - result[alias] = agg - } - - if ts.Serving && ts.LastError == nil { - agg.HealthyTabletCount++ - if ts.Stats.SecondsBehindMaster < agg.SecondsBehindMasterMin { - agg.SecondsBehindMasterMin = ts.Stats.SecondsBehindMaster - } - if ts.Stats.SecondsBehindMaster > agg.SecondsBehindMasterMax { - agg.SecondsBehindMasterMax = ts.Stats.SecondsBehindMaster - } - } else { - agg.UnhealthyTabletCount++ - } - } - return result -} - -// updateAggregateMap will update the aggregate map for the -// tabletStatsCacheEntry. It may broadcast the changes too if we have listeners. -// e.mu needs to be locked. -func (tc *TabletStatsCache) updateAggregateMap(keyspace, shard string, tabletType topodatapb.TabletType, e *tabletStatsCacheEntry, stats []*TabletStats) { - // Save the new value - e.aggregates = tc.makeAggregateMap(stats) } // GetTabletStats returns the full list of available targets. @@ -361,53 +311,5 @@ func (tc *TabletStatsCache) ResetForTesting() { tc.entries = make(map[string]map[string]map[topodatapb.TabletType]*tabletStatsCacheEntry) } -// GetAggregateStats is part of the TargetStatsListener interface. -func (tc *TabletStatsCache) GetAggregateStats(target *querypb.Target) (*querypb.AggregateStats, error) { - e := tc.getEntry(target.Keyspace, target.Shard, target.TabletType) - if e == nil { - return nil, topo.NewError(topo.NoNode, topotools.TargetIdent(target)) - } - - e.mu.RLock() - defer e.mu.RUnlock() - if target.TabletType == topodatapb.TabletType_MASTER { - if len(e.aggregates) == 0 { - return nil, topo.NewError(topo.NoNode, topotools.TargetIdent(target)) - } - for _, agg := range e.aggregates { - return agg, nil - } - } - targetAlias := tc.getAliasByCell(target.Cell) - agg, ok := e.aggregates[targetAlias] - if !ok { - return nil, topo.NewError(topo.NoNode, topotools.TargetIdent(target)) - } - return agg, nil -} - -// GetMasterCell is part of the TargetStatsListener interface. -func (tc *TabletStatsCache) GetMasterCell(keyspace, shard string) (cell string, err error) { - e := tc.getEntry(keyspace, shard, topodatapb.TabletType_MASTER) - if e == nil { - return "", topo.NewError(topo.NoNode, topotools.TargetIdent(&querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_MASTER, - })) - } - - e.mu.RLock() - defer e.mu.RUnlock() - for cell := range e.aggregates { - return cell, nil - } - return "", topo.NewError(topo.NoNode, topotools.TargetIdent(&querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_MASTER, - })) -} - // Compile-time interface check. var _ HealthCheckStatsListener = (*TabletStatsCache)(nil) diff --git a/go/vt/proto/query/query.pb.go b/go/vt/proto/query/query.pb.go index d536cc1c24c..acbf4ea49da 100644 --- a/go/vt/proto/query/query.pb.go +++ b/go/vt/proto/query/query.pb.go @@ -3882,14 +3882,10 @@ func (m *AggregateStats) GetSecondsBehindMasterMax() uint32 { } // StreamHealthResponse is streamed by StreamHealth on a regular basis. -// When StreamHealth is used between a vtgate and vttablet: +// It is expected to be used between a vtgate and vttablet: // - target describes the tablet. // - realtime_stats is set. -// - aggregate_stats is not set. -// When StreamHealth is used between two vtgates: -// - target describes the group of tablets. -// - realtime_stats is not set. -// - aggregate_stats is set. +// - aggregate_stats is not set (deprecated) type StreamHealthResponse struct { // target is the current server type. Only queries with that exact Target // record will be accepted (the cell may not match, however). @@ -3928,9 +3924,6 @@ type StreamHealthResponse struct { // realtime_stats contains information about the tablet status. // It is only filled in if the information is about a tablet. RealtimeStats *RealtimeStats `protobuf:"bytes,4,opt,name=realtime_stats,json=realtimeStats,proto3" json:"realtime_stats,omitempty"` - // AggregateStats constrains information about the group of tablet status. - // It is only filled in if the information is about a group of tablets. - AggregateStats *AggregateStats `protobuf:"bytes,6,opt,name=aggregate_stats,json=aggregateStats,proto3" json:"aggregate_stats,omitempty"` // tablet_alias is the alias of the sending tablet. The discovery/healthcheck.go // code uses it to verify that it's talking to the correct tablet and that it // hasn't changed in the meantime e.g. due to tablet restarts where ports or @@ -3994,13 +3987,6 @@ func (m *StreamHealthResponse) GetRealtimeStats() *RealtimeStats { return nil } -func (m *StreamHealthResponse) GetAggregateStats() *AggregateStats { - if m != nil { - return m.AggregateStats - } - return nil -} - func (m *StreamHealthResponse) GetTabletAlias() *topodata.TabletAlias { if m != nil { return m.TabletAlias @@ -4267,210 +4253,209 @@ func init() { func init() { proto.RegisterFile("query.proto", fileDescriptor_5c6ac9b241082464) } var fileDescriptor_5c6ac9b241082464 = []byte{ - // 3270 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x73, 0x1b, 0xc9, - 0x79, 0xd7, 0xe0, 0x45, 0xe0, 0x03, 0x01, 0x36, 0x1b, 0xa4, 0x84, 0xe5, 0xbe, 0xe8, 0xb1, 0xd7, - 0x66, 0x68, 0x87, 0xd2, 0x72, 0x65, 0x45, 0x59, 0x3b, 0x8e, 0x86, 0xe0, 0x50, 0x0b, 0x0b, 0x18, - 0x40, 0x8d, 0x81, 0x64, 0x6d, 0xb9, 0x6a, 0x6a, 0x08, 0xb4, 0xc0, 0x29, 0x0e, 0x66, 0xa0, 0x99, - 0x01, 0x29, 0xde, 0x94, 0x38, 0xce, 0xfb, 0xb1, 0x79, 0x6e, 0x9c, 0x54, 0x36, 0xa9, 0xca, 0x21, - 0xb7, 0xfc, 0x0d, 0xa9, 0x1c, 0x72, 0xcc, 0x2d, 0x87, 0x24, 0x87, 0x1c, 0x52, 0xa9, 0xdc, 0x5c, - 0x39, 0xe5, 0x90, 0x43, 0x2a, 0xd5, 0x8f, 0x19, 0x0c, 0x48, 0xec, 0x4a, 0x56, 0x7c, 0xa1, 0x76, - 0x6f, 0xdd, 0xdf, 0xf7, 0xf5, 0xe3, 0xf7, 0xfb, 0xbe, 0xf9, 0xba, 0xa7, 0xbb, 0xa1, 0xfc, 0x64, - 0x4a, 0x83, 0xb3, 0x9d, 0x49, 0xe0, 0x47, 0x3e, 0xce, 0xf3, 0xca, 0x46, 0x35, 0xf2, 0x27, 0xfe, - 0xd0, 0x8e, 0x6c, 0x21, 0xde, 0x28, 0x9f, 0x44, 0xc1, 0x64, 0x20, 0x2a, 0xea, 0x0f, 0x15, 0x28, - 0x98, 0x76, 0x30, 0xa2, 0x11, 0xde, 0x80, 0xe2, 0x31, 0x3d, 0x0b, 0x27, 0xf6, 0x80, 0xd6, 0x95, - 0x4d, 0x65, 0xab, 0x44, 0x92, 0x3a, 0x5e, 0x83, 0x7c, 0x78, 0x64, 0x07, 0xc3, 0x7a, 0x86, 0x2b, - 0x44, 0x05, 0x7f, 0x13, 0xca, 0x91, 0x7d, 0xe8, 0xd2, 0xc8, 0x8a, 0xce, 0x26, 0xb4, 0x9e, 0xdd, - 0x54, 0xb6, 0xaa, 0xbb, 0x6b, 0x3b, 0xc9, 0x78, 0x26, 0x57, 0x9a, 0x67, 0x13, 0x4a, 0x20, 0x4a, - 0xca, 0x18, 0x43, 0x6e, 0x40, 0x5d, 0xb7, 0x9e, 0xe3, 0x7d, 0xf1, 0xb2, 0xba, 0x0f, 0xd5, 0x07, - 0xe6, 0x5d, 0x3b, 0xa2, 0x0d, 0xdb, 0x75, 0x69, 0xd0, 0xdc, 0x67, 0xd3, 0x99, 0x86, 0x34, 0xf0, - 0xec, 0x71, 0x32, 0x9d, 0xb8, 0x8e, 0xaf, 0x42, 0x61, 0x14, 0xf8, 0xd3, 0x49, 0x58, 0xcf, 0x6c, - 0x66, 0xb7, 0x4a, 0x44, 0xd6, 0xd4, 0xef, 0x03, 0xe8, 0x27, 0xd4, 0x8b, 0x4c, 0xff, 0x98, 0x7a, - 0xf8, 0x0d, 0x28, 0x45, 0xce, 0x98, 0x86, 0x91, 0x3d, 0x9e, 0xf0, 0x2e, 0xb2, 0x64, 0x26, 0xf8, - 0x14, 0x48, 0x1b, 0x50, 0x9c, 0xf8, 0xa1, 0x13, 0x39, 0xbe, 0xc7, 0xf1, 0x94, 0x48, 0x52, 0x57, - 0xbf, 0x03, 0xf9, 0x07, 0xb6, 0x3b, 0xa5, 0xf8, 0x6d, 0xc8, 0x71, 0xc0, 0x0a, 0x07, 0x5c, 0xde, - 0x11, 0xa4, 0x73, 0x9c, 0x5c, 0xc1, 0xfa, 0x3e, 0x61, 0x96, 0xbc, 0xef, 0x65, 0x22, 0x2a, 0xea, - 0x31, 0x2c, 0xef, 0x39, 0xde, 0xf0, 0x81, 0x1d, 0x38, 0x8c, 0x8c, 0x97, 0xec, 0x06, 0x7f, 0x05, - 0x0a, 0xbc, 0x10, 0xd6, 0xb3, 0x9b, 0xd9, 0xad, 0xf2, 0xee, 0xb2, 0x6c, 0xc8, 0xe7, 0x46, 0xa4, - 0x4e, 0xfd, 0x7b, 0x05, 0x60, 0xcf, 0x9f, 0x7a, 0xc3, 0xfb, 0x4c, 0x89, 0x11, 0x64, 0xc3, 0x27, - 0xae, 0x24, 0x92, 0x15, 0xf1, 0x3d, 0xa8, 0x1e, 0x3a, 0xde, 0xd0, 0x3a, 0x91, 0xd3, 0x11, 0x5c, - 0x96, 0x77, 0xbf, 0x22, 0xbb, 0x9b, 0x35, 0xde, 0x49, 0xcf, 0x3a, 0xd4, 0xbd, 0x28, 0x38, 0x23, - 0x95, 0xc3, 0xb4, 0x6c, 0xa3, 0x0f, 0xf8, 0xa2, 0x11, 0x1b, 0xf4, 0x98, 0x9e, 0xc5, 0x83, 0x1e, - 0xd3, 0x33, 0xfc, 0x33, 0x69, 0x44, 0xe5, 0xdd, 0x5a, 0x3c, 0x56, 0xaa, 0xad, 0x84, 0xf9, 0x7e, - 0xe6, 0xb6, 0xa2, 0xfe, 0x65, 0x01, 0xaa, 0xfa, 0x53, 0x3a, 0x98, 0x46, 0xb4, 0x33, 0x61, 0x3e, - 0x08, 0xf1, 0x0e, 0xd4, 0x1c, 0x6f, 0xe0, 0x4e, 0x87, 0xd4, 0xa2, 0xcc, 0xd5, 0x56, 0xc4, 0x7c, - 0xcd, 0xfb, 0x2b, 0x92, 0x55, 0xa9, 0x4a, 0x05, 0x81, 0x06, 0xb5, 0x81, 0x3f, 0x9e, 0xd8, 0xc1, - 0xbc, 0x7d, 0x96, 0x8f, 0xbf, 0x2a, 0xc7, 0x9f, 0xd9, 0x93, 0x55, 0x69, 0x9d, 0xea, 0xa2, 0x0d, - 0x2b, 0xb2, 0xdf, 0xa1, 0xf5, 0xd8, 0xa1, 0xee, 0x30, 0xe4, 0xa1, 0x5b, 0x4d, 0xa8, 0x9a, 0x9f, - 0xe2, 0x4e, 0x53, 0x1a, 0x1f, 0x70, 0x5b, 0x52, 0x75, 0xe6, 0xea, 0x78, 0x1b, 0x56, 0x07, 0xae, - 0xc3, 0xa6, 0xf2, 0x98, 0x51, 0x6c, 0x05, 0xfe, 0x69, 0x58, 0xcf, 0xf3, 0xf9, 0xaf, 0x08, 0xc5, - 0x01, 0x93, 0x13, 0xff, 0x34, 0xc4, 0xef, 0x43, 0xf1, 0xd4, 0x0f, 0x8e, 0x5d, 0xdf, 0x1e, 0xd6, - 0x0b, 0x7c, 0xcc, 0xb7, 0x16, 0x8f, 0xf9, 0x50, 0x5a, 0x91, 0xc4, 0x1e, 0x6f, 0x01, 0x0a, 0x9f, - 0xb8, 0x56, 0x48, 0x5d, 0x3a, 0x88, 0x2c, 0xd7, 0x19, 0x3b, 0x51, 0xbd, 0xc8, 0xbf, 0x82, 0x6a, - 0xf8, 0xc4, 0xed, 0x71, 0x71, 0x8b, 0x49, 0xb1, 0x05, 0xeb, 0x51, 0x60, 0x7b, 0xa1, 0x3d, 0x60, - 0x9d, 0x59, 0x4e, 0xe8, 0xbb, 0x36, 0xff, 0x02, 0x4a, 0x7c, 0xc8, 0xed, 0xc5, 0x43, 0x9a, 0xb3, - 0x26, 0xcd, 0xb8, 0x05, 0x59, 0x8b, 0x16, 0x48, 0xf1, 0xbb, 0xb0, 0x1e, 0x1e, 0x3b, 0x13, 0x8b, - 0xf7, 0x63, 0x4d, 0x5c, 0xdb, 0xb3, 0x06, 0xf6, 0xe0, 0x88, 0xd6, 0x81, 0xc3, 0xc6, 0x4c, 0xc9, - 0x43, 0xad, 0xeb, 0xda, 0x5e, 0x83, 0x69, 0xd4, 0x6f, 0x41, 0x75, 0x9e, 0x47, 0xbc, 0x0a, 0x15, - 0xf3, 0x51, 0x57, 0xb7, 0x34, 0x63, 0xdf, 0x32, 0xb4, 0xb6, 0x8e, 0xae, 0xe0, 0x0a, 0x94, 0xb8, - 0xa8, 0x63, 0xb4, 0x1e, 0x21, 0x05, 0x2f, 0x41, 0x56, 0x6b, 0xb5, 0x50, 0x46, 0xbd, 0x0d, 0xc5, - 0x98, 0x10, 0xbc, 0x02, 0xe5, 0xbe, 0xd1, 0xeb, 0xea, 0x8d, 0xe6, 0x41, 0x53, 0xdf, 0x47, 0x57, - 0x70, 0x11, 0x72, 0x9d, 0x96, 0xd9, 0x45, 0x8a, 0x28, 0x69, 0x5d, 0x94, 0x61, 0x2d, 0xf7, 0xf7, - 0x34, 0x94, 0x55, 0xff, 0x46, 0x81, 0xb5, 0x45, 0xc0, 0x70, 0x19, 0x96, 0xf6, 0xf5, 0x03, 0xad, - 0xdf, 0x32, 0xd1, 0x15, 0x5c, 0x83, 0x15, 0xa2, 0x77, 0x75, 0xcd, 0xd4, 0xf6, 0x5a, 0xba, 0x45, - 0x74, 0x6d, 0x1f, 0x29, 0x18, 0x43, 0x95, 0x95, 0xac, 0x46, 0xa7, 0xdd, 0x6e, 0x9a, 0xa6, 0xbe, - 0x8f, 0x32, 0x78, 0x0d, 0x10, 0x97, 0xf5, 0x8d, 0x99, 0x34, 0x8b, 0x11, 0x2c, 0xf7, 0x74, 0xd2, - 0xd4, 0x5a, 0xcd, 0x0f, 0x59, 0x07, 0x28, 0x87, 0xbf, 0x04, 0x6f, 0x36, 0x3a, 0x46, 0xaf, 0xd9, - 0x33, 0x75, 0xc3, 0xb4, 0x7a, 0x86, 0xd6, 0xed, 0x7d, 0xd0, 0x31, 0x79, 0xcf, 0x02, 0x5c, 0x1e, - 0x57, 0x01, 0xb4, 0xbe, 0xd9, 0x11, 0xfd, 0xa0, 0xc2, 0x77, 0x73, 0x45, 0x05, 0x65, 0xd4, 0x8f, - 0x33, 0x90, 0xe7, 0xfc, 0xb0, 0xac, 0x9a, 0xca, 0x95, 0xbc, 0x9c, 0x64, 0x98, 0xcc, 0x67, 0x64, - 0x18, 0x9e, 0x98, 0x65, 0xae, 0x13, 0x15, 0xfc, 0x3a, 0x94, 0xfc, 0x60, 0x64, 0x09, 0x8d, 0xc8, - 0xd2, 0x45, 0x3f, 0x18, 0xf1, 0x74, 0xce, 0x32, 0x24, 0x4b, 0xee, 0x87, 0x76, 0x48, 0x79, 0xd4, - 0x96, 0x48, 0x52, 0xc7, 0xaf, 0x01, 0xb3, 0xb3, 0xf8, 0x3c, 0x0a, 0x5c, 0xb7, 0xe4, 0x07, 0x23, - 0x83, 0x4d, 0xe5, 0xcb, 0x50, 0x19, 0xf8, 0xee, 0x74, 0xec, 0x59, 0x2e, 0xf5, 0x46, 0xd1, 0x51, - 0x7d, 0x69, 0x53, 0xd9, 0xaa, 0x90, 0x65, 0x21, 0x6c, 0x71, 0x19, 0xae, 0xc3, 0xd2, 0xe0, 0xc8, - 0x0e, 0x42, 0x2a, 0x22, 0xb5, 0x42, 0xe2, 0x2a, 0x1f, 0x95, 0x0e, 0x9c, 0xb1, 0xed, 0x86, 0x3c, - 0x2a, 0x2b, 0x24, 0xa9, 0x33, 0x10, 0x8f, 0x5d, 0x7b, 0x14, 0xf2, 0x68, 0xaa, 0x10, 0x51, 0x51, - 0x7f, 0x0e, 0xb2, 0xc4, 0x3f, 0x65, 0x5d, 0x8a, 0x01, 0xc3, 0xba, 0xb2, 0x99, 0xdd, 0xc2, 0x24, - 0xae, 0xb2, 0x45, 0x44, 0xe6, 0x51, 0x91, 0x5e, 0xe3, 0xcc, 0xf9, 0x7d, 0x58, 0x26, 0x34, 0x9c, - 0xba, 0x91, 0xfe, 0x34, 0x0a, 0xec, 0x10, 0xef, 0x42, 0x39, 0x9d, 0x39, 0x94, 0x4f, 0xcb, 0x1c, - 0x40, 0x67, 0x29, 0xa3, 0x0e, 0x4b, 0x8f, 0x03, 0x1a, 0x1e, 0xd1, 0x40, 0x66, 0xa6, 0xb8, 0xca, - 0xf2, 0x72, 0x99, 0x87, 0xba, 0x18, 0x83, 0x65, 0x73, 0x99, 0x53, 0x94, 0xb9, 0x6c, 0xce, 0x9d, - 0x4a, 0xa4, 0x8e, 0xb1, 0xc7, 0xd2, 0x84, 0x65, 0x3f, 0x7e, 0x4c, 0x07, 0x11, 0x15, 0x8b, 0x56, - 0x8e, 0x2c, 0x33, 0xa1, 0x26, 0x65, 0xcc, 0x6d, 0x8e, 0x17, 0xd2, 0x20, 0xb2, 0x9c, 0x21, 0x77, - 0x68, 0x8e, 0x14, 0x85, 0xa0, 0x39, 0xc4, 0x6f, 0x41, 0x8e, 0x27, 0x9a, 0x1c, 0x1f, 0x05, 0xe4, - 0x28, 0xc4, 0x3f, 0x25, 0x5c, 0x8e, 0xbf, 0x0e, 0x05, 0xca, 0xf1, 0x72, 0xa7, 0xce, 0x52, 0x73, - 0x9a, 0x0a, 0x22, 0x4d, 0xd4, 0x6f, 0xc3, 0x32, 0xc7, 0xf0, 0xd0, 0x0e, 0x3c, 0xc7, 0x1b, 0xf1, - 0x15, 0xdd, 0x1f, 0x8a, 0xd8, 0xab, 0x10, 0x5e, 0x66, 0x14, 0x8c, 0x69, 0x18, 0xda, 0x23, 0x2a, - 0x57, 0xd8, 0xb8, 0xaa, 0xfe, 0x55, 0x16, 0xca, 0xbd, 0x28, 0xa0, 0xf6, 0x98, 0xb3, 0x87, 0xbf, - 0x0d, 0x10, 0x46, 0x76, 0x44, 0xc7, 0xd4, 0x8b, 0x62, 0x1a, 0xde, 0x90, 0xc3, 0xa7, 0xec, 0x76, - 0x7a, 0xb1, 0x11, 0x49, 0xd9, 0x9f, 0x77, 0x4f, 0xe6, 0x05, 0xdc, 0xb3, 0xf1, 0x49, 0x06, 0x4a, - 0x49, 0x6f, 0x58, 0x83, 0xe2, 0xc0, 0x8e, 0xe8, 0xc8, 0x0f, 0xce, 0xe4, 0x5a, 0xfc, 0xce, 0x67, - 0x8d, 0xbe, 0xd3, 0x90, 0xc6, 0x24, 0x69, 0x86, 0xdf, 0x04, 0xb1, 0xc1, 0x11, 0xa1, 0x2f, 0xf0, - 0x96, 0xb8, 0x84, 0x07, 0xff, 0xfb, 0x80, 0x27, 0x81, 0x33, 0xb6, 0x83, 0x33, 0xeb, 0x98, 0x9e, - 0xc5, 0x8b, 0x48, 0x76, 0x81, 0xc3, 0x91, 0xb4, 0xbb, 0x47, 0xcf, 0x64, 0xda, 0xbb, 0x3d, 0xdf, - 0x56, 0x86, 0xec, 0x45, 0x37, 0xa6, 0x5a, 0xf2, 0x9d, 0x40, 0x18, 0xaf, 0xf9, 0x79, 0x1e, 0xdd, - 0xac, 0xa8, 0x7e, 0x0d, 0x8a, 0xf1, 0xe4, 0x71, 0x09, 0xf2, 0x7a, 0x10, 0xf8, 0x01, 0xba, 0xc2, - 0xb3, 0x5f, 0xbb, 0x25, 0x12, 0xe8, 0xfe, 0x3e, 0x4b, 0xa0, 0x7f, 0x97, 0x49, 0x16, 0x5e, 0x42, - 0x9f, 0x4c, 0x69, 0x18, 0xe1, 0x5f, 0x84, 0x1a, 0xe5, 0x91, 0xe6, 0x9c, 0x50, 0x6b, 0xc0, 0x77, - 0x69, 0x2c, 0xce, 0xc4, 0xe7, 0xb0, 0xb2, 0x23, 0x36, 0x95, 0xf1, 0xee, 0x8d, 0xac, 0x26, 0xb6, - 0x52, 0x34, 0xc4, 0x3a, 0xd4, 0x9c, 0xf1, 0x98, 0x0e, 0x1d, 0x3b, 0x4a, 0x77, 0x20, 0x1c, 0xb6, - 0x1e, 0x6f, 0x62, 0xe6, 0x36, 0x81, 0x64, 0x35, 0x69, 0x91, 0x74, 0xf3, 0x0e, 0x14, 0x22, 0xbe, - 0x61, 0x95, 0x6b, 0x78, 0x25, 0xce, 0x6a, 0x5c, 0x48, 0xa4, 0x12, 0x7f, 0x0d, 0xc4, 0xf6, 0x97, - 0xe7, 0xaf, 0x59, 0x40, 0xcc, 0x76, 0x35, 0x44, 0xe8, 0xf1, 0x3b, 0x50, 0x9d, 0x5b, 0xfc, 0x86, - 0x9c, 0xb0, 0x2c, 0xa9, 0xa4, 0x57, 0xb2, 0x21, 0xbe, 0x0e, 0x4b, 0xbe, 0x58, 0xf8, 0x78, 0x66, - 0x9b, 0xcd, 0x78, 0x7e, 0x55, 0x24, 0xb1, 0x95, 0xfa, 0x0b, 0xb0, 0x92, 0x30, 0x18, 0x4e, 0x7c, - 0x2f, 0xa4, 0x78, 0x1b, 0x0a, 0x01, 0xff, 0x9c, 0x24, 0x6b, 0x58, 0x76, 0x91, 0xca, 0x07, 0x44, - 0x5a, 0xa8, 0x43, 0x58, 0x11, 0x92, 0x87, 0x4e, 0x74, 0xc4, 0x1d, 0x85, 0xdf, 0x81, 0x3c, 0x65, - 0x85, 0x73, 0x9c, 0x93, 0x6e, 0x83, 0xeb, 0x89, 0xd0, 0xa6, 0x46, 0xc9, 0x3c, 0x77, 0x94, 0xff, - 0xca, 0x40, 0x4d, 0xce, 0x72, 0xcf, 0x8e, 0x06, 0x47, 0x97, 0xd4, 0xd9, 0x5f, 0x87, 0x25, 0x26, - 0x77, 0x92, 0x0f, 0x63, 0x81, 0xbb, 0x63, 0x0b, 0xe6, 0x70, 0x3b, 0xb4, 0x52, 0xde, 0x95, 0x9b, - 0xaf, 0x8a, 0x1d, 0xa6, 0x56, 0xfe, 0x05, 0x71, 0x51, 0x78, 0x4e, 0x5c, 0x2c, 0xbd, 0x50, 0x5c, - 0xec, 0xc3, 0xda, 0x3c, 0xe3, 0x32, 0x38, 0xbe, 0x01, 0x4b, 0xc2, 0x29, 0x71, 0x0a, 0x5c, 0xe4, - 0xb7, 0xd8, 0x44, 0xfd, 0x87, 0x0c, 0xac, 0xc9, 0xec, 0xf4, 0xf9, 0xf8, 0x4c, 0x53, 0x3c, 0xe7, - 0x5f, 0x84, 0xe7, 0x17, 0xf4, 0x9f, 0xda, 0x80, 0xf5, 0x73, 0x3c, 0xbe, 0xc4, 0xc7, 0xfa, 0x63, - 0x05, 0x96, 0xf7, 0xe8, 0xc8, 0xf1, 0x2e, 0xa9, 0x17, 0x52, 0xe4, 0xe6, 0x5e, 0x28, 0x88, 0x6f, - 0x41, 0x45, 0xe2, 0x95, 0x6c, 0x5d, 0x64, 0x5b, 0x59, 0xc4, 0xf6, 0x7f, 0x28, 0x50, 0x69, 0xf8, - 0xe3, 0xb1, 0x13, 0x5d, 0x52, 0xa6, 0x2e, 0xe2, 0xcc, 0x2d, 0xc2, 0x89, 0xa0, 0x1a, 0xc3, 0x14, - 0x04, 0xa9, 0xff, 0xa9, 0xc0, 0x0a, 0xf1, 0x5d, 0xf7, 0xd0, 0x1e, 0x1c, 0xbf, 0xda, 0xd8, 0x31, - 0xa0, 0x19, 0x50, 0x89, 0xfe, 0x7f, 0x14, 0xa8, 0x76, 0x03, 0xca, 0x7e, 0xac, 0x5f, 0x69, 0xf0, - 0x6c, 0x27, 0x3c, 0x8c, 0xe4, 0x1e, 0xa2, 0x44, 0x78, 0x59, 0x5d, 0x85, 0x95, 0x04, 0xbb, 0xe4, - 0xe3, 0x5f, 0x14, 0x58, 0x17, 0x01, 0x22, 0x35, 0xc3, 0x4b, 0x4a, 0x4b, 0x8c, 0x37, 0x97, 0xc2, - 0x5b, 0x87, 0xab, 0xe7, 0xb1, 0x49, 0xd8, 0x3f, 0xc8, 0xc0, 0xb5, 0x38, 0x36, 0x2e, 0x39, 0xf0, - 0xff, 0x47, 0x3c, 0x6c, 0x40, 0xfd, 0x22, 0x09, 0x92, 0xa1, 0x8f, 0x32, 0x50, 0x6f, 0x04, 0xd4, - 0x8e, 0x68, 0x6a, 0x2f, 0xf2, 0xea, 0xc4, 0x06, 0x7e, 0x17, 0x96, 0x27, 0x76, 0x10, 0x39, 0x03, - 0x67, 0x62, 0xb3, 0xbf, 0xbd, 0x3c, 0xdf, 0xea, 0x9c, 0xeb, 0x60, 0xce, 0x44, 0x7d, 0x1d, 0x5e, - 0x5b, 0xc0, 0x88, 0xe4, 0xeb, 0x7f, 0x15, 0xc0, 0xbd, 0xc8, 0x0e, 0xa2, 0xcf, 0xc1, 0xaa, 0xb2, - 0x30, 0x98, 0xd6, 0xa1, 0x36, 0x87, 0x3f, 0xcd, 0x0b, 0x8d, 0x3e, 0x17, 0x2b, 0xce, 0xa7, 0xf2, - 0x92, 0xc6, 0x2f, 0x79, 0xf9, 0x37, 0x05, 0x36, 0x1a, 0xbe, 0x38, 0x58, 0x7c, 0x25, 0xbf, 0x30, - 0xf5, 0x4d, 0x78, 0x7d, 0x21, 0x40, 0x49, 0xc0, 0xbf, 0x2a, 0x70, 0x95, 0x50, 0x7b, 0xf8, 0x6a, - 0x82, 0xbf, 0x0f, 0xd7, 0x2e, 0x80, 0x93, 0x3b, 0xd4, 0x5b, 0x50, 0x1c, 0xd3, 0xc8, 0x1e, 0xda, - 0x91, 0x2d, 0x21, 0x6d, 0xc4, 0xfd, 0xce, 0xac, 0xdb, 0xd2, 0x82, 0x24, 0xb6, 0xea, 0x27, 0x19, - 0xa8, 0xf1, 0xbd, 0xee, 0x17, 0x3f, 0x5a, 0x8b, 0xff, 0x05, 0x3e, 0x52, 0x60, 0x6d, 0x9e, 0xa0, - 0xe4, 0x9f, 0xe0, 0xa7, 0x7d, 0x5e, 0xb1, 0x20, 0x21, 0x64, 0x17, 0x6d, 0x41, 0xff, 0x31, 0x03, - 0xf5, 0xf4, 0x94, 0xbe, 0x38, 0xdb, 0x98, 0x3f, 0xdb, 0xf8, 0x89, 0x0f, 0xb3, 0x3e, 0x56, 0xe0, - 0xb5, 0x05, 0x84, 0xfe, 0x64, 0x8e, 0x4e, 0x9d, 0x70, 0x64, 0x9e, 0x7b, 0xc2, 0xf1, 0xa2, 0xae, - 0xfe, 0x67, 0x05, 0xd6, 0xda, 0xe2, 0x60, 0x59, 0xfc, 0xc7, 0x5f, 0xde, 0x6c, 0xc6, 0xcf, 0x8e, - 0x73, 0xb3, 0xeb, 0x1b, 0xb5, 0x01, 0xeb, 0xe7, 0xa0, 0xbd, 0xc4, 0xd9, 0xc4, 0x7f, 0x2b, 0xb0, - 0x2a, 0x7b, 0xd1, 0x2e, 0xed, 0x46, 0x60, 0x01, 0x3b, 0xf8, 0x2d, 0xc8, 0x3a, 0xc3, 0x78, 0x07, - 0x39, 0x7f, 0x09, 0xce, 0x14, 0xea, 0x1d, 0xc0, 0x69, 0xdc, 0x2f, 0x41, 0xdd, 0x3f, 0x65, 0x61, - 0xb5, 0x37, 0x71, 0x9d, 0x48, 0x2a, 0x5f, 0xed, 0xc4, 0xff, 0x25, 0x58, 0x0e, 0x19, 0x58, 0x4b, - 0x5c, 0xc9, 0x71, 0x62, 0x4b, 0xa4, 0xcc, 0x65, 0x0d, 0x2e, 0xc2, 0x6f, 0x43, 0x39, 0x36, 0x99, - 0x7a, 0x91, 0x3c, 0x50, 0x03, 0x69, 0x31, 0xf5, 0x22, 0x7c, 0x13, 0xae, 0x79, 0xd3, 0x31, 0xbf, - 0xd2, 0xb6, 0x26, 0x34, 0x88, 0x2f, 0x7c, 0xed, 0x20, 0xbe, 0x7a, 0xae, 0x79, 0xd3, 0x31, 0xf1, - 0x4f, 0xc3, 0x2e, 0x0d, 0xc4, 0x85, 0xaf, 0x1d, 0x44, 0xf8, 0x0e, 0x94, 0x6c, 0x77, 0xe4, 0x07, - 0x4e, 0x74, 0x34, 0x96, 0x77, 0xce, 0x6a, 0x7c, 0x03, 0x73, 0x9e, 0xfe, 0x1d, 0x2d, 0xb6, 0x24, - 0xb3, 0x46, 0xea, 0x37, 0xa0, 0x94, 0xc8, 0x31, 0x82, 0x65, 0xfd, 0x7e, 0x5f, 0x6b, 0x59, 0xbd, - 0x6e, 0xab, 0x69, 0xf6, 0xc4, 0x3d, 0xf1, 0x41, 0xbf, 0xd5, 0xb2, 0x7a, 0x0d, 0xcd, 0x40, 0x8a, - 0x4a, 0x00, 0x78, 0x97, 0xbc, 0xf3, 0x19, 0x41, 0xca, 0x73, 0x08, 0x7a, 0x1d, 0x4a, 0x81, 0x7f, - 0x2a, 0xb1, 0x67, 0x38, 0x9c, 0x62, 0xe0, 0x9f, 0x72, 0xe4, 0xaa, 0x06, 0x38, 0x3d, 0x57, 0x19, - 0x6d, 0xa9, 0xe4, 0xad, 0xcc, 0x25, 0xef, 0xd9, 0xf8, 0x49, 0xf2, 0x16, 0x5b, 0x79, 0xf6, 0x9d, - 0x7f, 0x40, 0x6d, 0x37, 0x8a, 0xd7, 0x2b, 0xf5, 0xaf, 0x33, 0x50, 0x21, 0x4c, 0xe2, 0x8c, 0x69, - 0x2f, 0xb2, 0xa3, 0x90, 0x79, 0xea, 0x88, 0x9b, 0x58, 0xb3, 0xb4, 0x5b, 0x22, 0x65, 0x21, 0x13, - 0x77, 0x05, 0xbb, 0xb0, 0x1e, 0xd2, 0x81, 0xef, 0x0d, 0x43, 0xeb, 0x90, 0x1e, 0x39, 0xde, 0xd0, - 0x1a, 0xdb, 0x61, 0x24, 0xaf, 0x23, 0x2b, 0xa4, 0x26, 0x95, 0x7b, 0x5c, 0xd7, 0xe6, 0x2a, 0x7c, - 0x03, 0xd6, 0x0e, 0x1d, 0xcf, 0xf5, 0x47, 0xd6, 0xc4, 0xb5, 0xcf, 0x68, 0x10, 0x4a, 0xa8, 0x2c, - 0xbc, 0xf2, 0x04, 0x0b, 0x5d, 0x57, 0xa8, 0x84, 0xbb, 0x3f, 0x84, 0xed, 0x85, 0xa3, 0x58, 0x8f, - 0x1d, 0x37, 0xa2, 0x01, 0x1d, 0x5a, 0x01, 0x9d, 0xb8, 0xce, 0x40, 0xbc, 0x26, 0x10, 0x7b, 0xf7, - 0xaf, 0x2e, 0x18, 0xfa, 0x40, 0x9a, 0x93, 0x99, 0x35, 0x63, 0x7b, 0x30, 0x99, 0x5a, 0x53, 0x7e, - 0x83, 0xc8, 0x56, 0x31, 0x85, 0x14, 0x07, 0x93, 0x69, 0x9f, 0xd5, 0x31, 0x82, 0xec, 0x93, 0x89, - 0x58, 0xbc, 0x14, 0xc2, 0x8a, 0xea, 0x8f, 0x15, 0xa8, 0x6a, 0xa3, 0x51, 0x40, 0x47, 0x76, 0x24, - 0x69, 0xba, 0x01, 0x6b, 0x82, 0x92, 0x33, 0x4b, 0x3e, 0x53, 0x12, 0x78, 0x14, 0x81, 0x47, 0xea, - 0xc4, 0x23, 0xa5, 0x38, 0x7c, 0xaf, 0x4e, 0xbd, 0x85, 0x6d, 0x32, 0xbc, 0xcd, 0x5a, 0xa2, 0x4d, - 0xb7, 0xfa, 0x79, 0x78, 0x6d, 0x31, 0x0b, 0x63, 0x47, 0x3c, 0x34, 0xa9, 0x90, 0xab, 0x0b, 0x40, - 0xb7, 0x1d, 0xef, 0x33, 0x9a, 0xda, 0x4f, 0x39, 0x5f, 0x9f, 0xd2, 0xd4, 0x7e, 0xaa, 0xfe, 0x7b, - 0x72, 0x03, 0x10, 0x87, 0x4b, 0xb2, 0x1a, 0xc7, 0x79, 0x41, 0xf9, 0xac, 0xbc, 0x50, 0x87, 0xa5, - 0x90, 0x06, 0x27, 0x8e, 0x37, 0x8a, 0xaf, 0xa8, 0x65, 0x15, 0xf7, 0xe0, 0xab, 0x12, 0x3b, 0x7d, - 0x1a, 0xd1, 0xc0, 0xb3, 0x5d, 0xf7, 0xcc, 0x12, 0x07, 0x15, 0x5e, 0x44, 0x87, 0xd6, 0xec, 0x51, - 0x95, 0x58, 0x91, 0xbf, 0x2c, 0xac, 0xf5, 0xc4, 0x98, 0x24, 0xb6, 0x66, 0xf2, 0xdc, 0xea, 0x5b, - 0x50, 0x0d, 0x64, 0x10, 0x5b, 0x21, 0x73, 0x8f, 0xcc, 0x47, 0x6b, 0xc9, 0x3d, 0x73, 0x2a, 0xc2, - 0x49, 0x25, 0x98, 0x0b, 0xf8, 0xef, 0xc0, 0x8a, 0x1d, 0xfb, 0x56, 0xb6, 0x9e, 0xdf, 0xb7, 0xcc, - 0x7b, 0x9e, 0x54, 0xed, 0xf9, 0x48, 0xb8, 0x0d, 0xcb, 0x12, 0x91, 0xed, 0x3a, 0xf6, 0x6c, 0x63, - 0x7b, 0xee, 0xa5, 0x9a, 0xc6, 0x94, 0x44, 0xbe, 0x69, 0xe3, 0x15, 0xf6, 0x1f, 0x5d, 0xeb, 0x4f, - 0x86, 0xbc, 0xa7, 0x4b, 0xbc, 0xbb, 0x48, 0x3f, 0x6b, 0xcb, 0xcd, 0x3f, 0x6b, 0x9b, 0x7f, 0x26, - 0x97, 0x3f, 0xf7, 0x4c, 0x4e, 0xbd, 0x03, 0x6b, 0xf3, 0xf8, 0x65, 0x94, 0x6d, 0x41, 0x9e, 0x5f, - 0xa8, 0x9f, 0x5b, 0x46, 0x53, 0x37, 0xe6, 0x44, 0x18, 0xa8, 0x7f, 0xab, 0x40, 0x6d, 0xc1, 0x2f, - 0x56, 0xf2, 0xff, 0xa6, 0xa4, 0x8e, 0x87, 0x7e, 0x16, 0xf2, 0xfc, 0x6a, 0x5f, 0xbe, 0x58, 0xb9, - 0x76, 0xf1, 0x0f, 0x8d, 0x5f, 0xc3, 0x13, 0x61, 0xc5, 0x12, 0x21, 0x0f, 0xa8, 0x01, 0x3f, 0x1f, - 0x8a, 0x77, 0x88, 0x65, 0x26, 0x13, 0x47, 0x46, 0x17, 0x0f, 0x9c, 0x72, 0xcf, 0x3d, 0x70, 0xda, - 0xfe, 0x83, 0x2c, 0x94, 0xda, 0x67, 0xbd, 0x27, 0xee, 0x81, 0x6b, 0x8f, 0xf8, 0x3d, 0x79, 0xbb, - 0x6b, 0x3e, 0x42, 0x57, 0xf0, 0x2a, 0x54, 0x8c, 0x8e, 0x69, 0x19, 0x6c, 0x29, 0x39, 0x68, 0x69, - 0x77, 0x91, 0xc2, 0xd6, 0x9a, 0x2e, 0x69, 0x5a, 0xf7, 0xf4, 0x47, 0x42, 0x92, 0xc1, 0x35, 0x58, - 0xe9, 0x1b, 0xcd, 0xfb, 0x7d, 0x7d, 0x26, 0xcc, 0xe1, 0x75, 0x58, 0x6d, 0xf7, 0x5b, 0x66, 0xb3, - 0xdb, 0x4a, 0x89, 0x8b, 0x6c, 0x5d, 0xda, 0x6b, 0x75, 0xf6, 0x44, 0x15, 0xb1, 0xfe, 0xfb, 0x46, - 0xaf, 0x79, 0xd7, 0xd0, 0xf7, 0x85, 0x68, 0x93, 0x89, 0x3e, 0xd4, 0x49, 0xe7, 0xa0, 0x19, 0x0f, - 0x79, 0x07, 0x23, 0x28, 0xef, 0x35, 0x0d, 0x8d, 0xc8, 0x5e, 0x9e, 0x29, 0xb8, 0x0a, 0x25, 0xdd, - 0xe8, 0xb7, 0x65, 0x3d, 0x83, 0xeb, 0x50, 0xd3, 0xfa, 0x66, 0xc7, 0x6a, 0x1a, 0x0d, 0xa2, 0xb7, - 0x75, 0xc3, 0x94, 0x9a, 0x1c, 0xae, 0x41, 0xd5, 0x6c, 0xb6, 0xf5, 0x9e, 0xa9, 0xb5, 0xbb, 0x52, - 0xc8, 0x66, 0x51, 0xec, 0xe9, 0xb1, 0x0d, 0xc2, 0x1b, 0xb0, 0x6e, 0x74, 0x2c, 0xf9, 0xd8, 0xc9, - 0x7a, 0xa0, 0xb5, 0xfa, 0xba, 0xd4, 0x6d, 0xe2, 0x6b, 0x80, 0x3b, 0x86, 0xd5, 0xef, 0xee, 0x6b, - 0xa6, 0x6e, 0x19, 0x9d, 0x87, 0x52, 0x71, 0x07, 0x57, 0xa1, 0x38, 0x9b, 0xc1, 0x33, 0xc6, 0x42, - 0xa5, 0xab, 0x11, 0x73, 0x06, 0xf6, 0xd9, 0x33, 0x46, 0x16, 0xdc, 0x25, 0x9d, 0x7e, 0x77, 0x66, - 0xb6, 0x0a, 0x65, 0x49, 0x96, 0x14, 0xe5, 0x98, 0x68, 0xaf, 0x69, 0x34, 0x92, 0xf9, 0x3d, 0x2b, - 0x6e, 0x64, 0x90, 0xb2, 0x7d, 0x0c, 0x39, 0xee, 0x8e, 0x22, 0xe4, 0x8c, 0x8e, 0xa1, 0xa3, 0x2b, - 0x78, 0x05, 0xa0, 0xd9, 0x6b, 0x1a, 0xa6, 0x7e, 0x97, 0x68, 0x2d, 0x06, 0x9b, 0x0b, 0x62, 0x02, - 0x19, 0xda, 0x65, 0x58, 0x6a, 0xf6, 0x0e, 0x5a, 0x1d, 0xcd, 0x94, 0x30, 0x9b, 0xbd, 0xfb, 0xfd, - 0x8e, 0xc9, 0x94, 0x08, 0x97, 0xa1, 0xd0, 0xec, 0x99, 0xfa, 0xf7, 0x4c, 0x86, 0x8b, 0xeb, 0x04, - 0xab, 0xe8, 0xd9, 0x9d, 0xed, 0x1f, 0x65, 0x21, 0xc7, 0x9f, 0xaa, 0x56, 0xa0, 0xc4, 0xbd, 0x6d, - 0x3e, 0xea, 0xb2, 0x21, 0x4b, 0x90, 0x6b, 0x1a, 0xe6, 0x6d, 0xf4, 0x4b, 0x19, 0x0c, 0x90, 0xef, - 0xf3, 0xf2, 0x2f, 0x17, 0x58, 0xb9, 0x69, 0x98, 0xef, 0xde, 0x42, 0x3f, 0xc8, 0xb0, 0x6e, 0xfb, - 0xa2, 0xf2, 0x2b, 0xb1, 0x62, 0xf7, 0x26, 0xfa, 0x61, 0xa2, 0xd8, 0xbd, 0x89, 0x7e, 0x35, 0x56, - 0xbc, 0xb7, 0x8b, 0x7e, 0x2d, 0x51, 0xbc, 0xb7, 0x8b, 0x7e, 0x3d, 0x56, 0xdc, 0xba, 0x89, 0x7e, - 0x23, 0x51, 0xdc, 0xba, 0x89, 0x7e, 0xb3, 0xc0, 0xb0, 0x70, 0x24, 0xef, 0xed, 0xa2, 0xdf, 0x2a, - 0x26, 0xb5, 0x5b, 0x37, 0xd1, 0x6f, 0x17, 0x99, 0xff, 0x13, 0xaf, 0xa2, 0xdf, 0x41, 0x6c, 0x9a, - 0xcc, 0x41, 0xe8, 0x77, 0x79, 0x91, 0xa9, 0xd0, 0xef, 0x21, 0x86, 0x91, 0x49, 0x79, 0xf5, 0x23, - 0xae, 0x79, 0xa4, 0x6b, 0x04, 0xfd, 0x7e, 0x41, 0xbc, 0x6d, 0x6b, 0x34, 0xdb, 0x5a, 0x0b, 0x61, - 0xde, 0x82, 0xb1, 0xf2, 0x87, 0x37, 0x58, 0x91, 0x85, 0x27, 0xfa, 0xa3, 0x2e, 0x1b, 0xf0, 0x81, - 0x46, 0x1a, 0x1f, 0x68, 0x04, 0xfd, 0xf1, 0x0d, 0x36, 0xe0, 0x03, 0x8d, 0x48, 0xbe, 0xfe, 0xa4, - 0xcb, 0x0c, 0xb9, 0xea, 0xe3, 0x1b, 0x6c, 0xd2, 0x52, 0xfe, 0xa7, 0x5d, 0x5c, 0x84, 0xec, 0x5e, - 0xd3, 0x44, 0x3f, 0xe2, 0xa3, 0xb1, 0x10, 0x45, 0x7f, 0x86, 0x98, 0xb0, 0xa7, 0x9b, 0xe8, 0xcf, - 0x99, 0x30, 0x6f, 0xf6, 0xbb, 0x2d, 0x1d, 0xbd, 0xc1, 0x26, 0x77, 0x57, 0xef, 0xb4, 0x75, 0x93, - 0x3c, 0x42, 0x7f, 0xc1, 0xcd, 0xbf, 0xdb, 0xeb, 0x18, 0xe8, 0x13, 0x84, 0xab, 0x00, 0xfa, 0xf7, - 0xba, 0x44, 0xef, 0xf5, 0x9a, 0x1d, 0x03, 0xbd, 0xbd, 0x7d, 0x00, 0xe8, 0x7c, 0x3a, 0x60, 0x00, - 0xfa, 0xc6, 0x3d, 0xa3, 0xf3, 0xd0, 0x40, 0x57, 0x58, 0xa5, 0x4b, 0xf4, 0xae, 0x46, 0x74, 0xa4, - 0x60, 0x80, 0x82, 0x7c, 0x31, 0x97, 0xc1, 0xcb, 0x50, 0x24, 0x9d, 0x56, 0x6b, 0x4f, 0x6b, 0xdc, - 0x43, 0xd9, 0xbd, 0x6f, 0xc2, 0x8a, 0xe3, 0xef, 0x9c, 0x38, 0x11, 0x0d, 0x43, 0xf1, 0x18, 0xfa, - 0x43, 0x55, 0xd6, 0x1c, 0xff, 0xba, 0x28, 0x5d, 0x1f, 0xf9, 0xd7, 0x4f, 0xa2, 0xeb, 0x5c, 0x7b, - 0x9d, 0x67, 0x8c, 0xc3, 0x02, 0xaf, 0xbc, 0xf7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x5b, - 0xfa, 0xe7, 0x6a, 0x2d, 0x00, 0x00, + // 3258 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x73, 0xdb, 0x48, + 0x7a, 0x37, 0xf8, 0x12, 0xf9, 0x51, 0xa4, 0x5a, 0x4d, 0xc9, 0xe6, 0x68, 0x5e, 0x5a, 0xec, 0xce, + 0xae, 0xa2, 0xdd, 0xc8, 0x1e, 0x8d, 0xd7, 0x71, 0x66, 0x37, 0x89, 0x21, 0x0a, 0xf2, 0x70, 0x4c, + 0x82, 0x74, 0x13, 0xb4, 0xd7, 0x53, 0x5b, 0x85, 0x82, 0xc8, 0x36, 0x85, 0x12, 0x08, 0xd0, 0x00, + 0x28, 0x59, 0x37, 0x27, 0x9b, 0xcd, 0xfb, 0x31, 0x79, 0x4e, 0x36, 0xa9, 0x4c, 0x52, 0x95, 0x43, + 0x2a, 0x97, 0xfc, 0x0d, 0xa9, 0x1c, 0x72, 0xcc, 0x2d, 0x87, 0x24, 0x87, 0x9c, 0x52, 0xb9, 0x6d, + 0xe5, 0x94, 0x43, 0x0e, 0xa9, 0x54, 0x3f, 0x00, 0x82, 0x12, 0x67, 0xec, 0x75, 0x72, 0x91, 0x67, + 0x6e, 0xdd, 0xdf, 0xf7, 0xf5, 0xe3, 0xf7, 0xfb, 0x3e, 0x7c, 0xdd, 0xe8, 0x6e, 0x28, 0x3f, 0x99, + 0xd2, 0xe0, 0x6c, 0x67, 0x12, 0xf8, 0x91, 0x8f, 0xf3, 0xbc, 0xb2, 0x51, 0x8d, 0xfc, 0x89, 0x3f, + 0xb4, 0x23, 0x5b, 0x88, 0x37, 0xca, 0x27, 0x51, 0x30, 0x19, 0x88, 0x8a, 0xfa, 0x43, 0x05, 0x0a, + 0xa6, 0x1d, 0x8c, 0x68, 0x84, 0x37, 0xa0, 0x78, 0x4c, 0xcf, 0xc2, 0x89, 0x3d, 0xa0, 0x75, 0x65, + 0x53, 0xd9, 0x2a, 0x91, 0xa4, 0x8e, 0xd7, 0x20, 0x1f, 0x1e, 0xd9, 0xc1, 0xb0, 0x9e, 0xe1, 0x0a, + 0x51, 0xc1, 0xdf, 0x86, 0x72, 0x64, 0x1f, 0xba, 0x34, 0xb2, 0xa2, 0xb3, 0x09, 0xad, 0x67, 0x37, + 0x95, 0xad, 0xea, 0xee, 0xda, 0x4e, 0x32, 0x9e, 0xc9, 0x95, 0xe6, 0xd9, 0x84, 0x12, 0x88, 0x92, + 0x32, 0xc6, 0x90, 0x1b, 0x50, 0xd7, 0xad, 0xe7, 0x78, 0x5f, 0xbc, 0xac, 0xee, 0x43, 0xf5, 0x81, + 0x79, 0xd7, 0x8e, 0x68, 0xc3, 0x76, 0x5d, 0x1a, 0x34, 0xf7, 0xd9, 0x74, 0xa6, 0x21, 0x0d, 0x3c, + 0x7b, 0x9c, 0x4c, 0x27, 0xae, 0xe3, 0xab, 0x50, 0x18, 0x05, 0xfe, 0x74, 0x12, 0xd6, 0x33, 0x9b, + 0xd9, 0xad, 0x12, 0x91, 0x35, 0xf5, 0xfb, 0x00, 0xfa, 0x09, 0xf5, 0x22, 0xd3, 0x3f, 0xa6, 0x1e, + 0x7e, 0x03, 0x4a, 0x91, 0x33, 0xa6, 0x61, 0x64, 0x8f, 0x27, 0xbc, 0x8b, 0x2c, 0x99, 0x09, 0x3e, + 0x03, 0xd2, 0x06, 0x14, 0x27, 0x7e, 0xe8, 0x44, 0x8e, 0xef, 0x71, 0x3c, 0x25, 0x92, 0xd4, 0xd5, + 0x9f, 0x87, 0xfc, 0x03, 0xdb, 0x9d, 0x52, 0xfc, 0x36, 0xe4, 0x38, 0x60, 0x85, 0x03, 0x2e, 0xef, + 0x08, 0xd2, 0x39, 0x4e, 0xae, 0x60, 0x7d, 0x9f, 0x30, 0x4b, 0xde, 0xf7, 0x32, 0x11, 0x15, 0xf5, + 0x18, 0x96, 0xf7, 0x1c, 0x6f, 0xf8, 0xc0, 0x0e, 0x1c, 0x46, 0xc6, 0x4b, 0x76, 0x83, 0xbf, 0x06, + 0x05, 0x5e, 0x08, 0xeb, 0xd9, 0xcd, 0xec, 0x56, 0x79, 0x77, 0x59, 0x36, 0xe4, 0x73, 0x23, 0x52, + 0xa7, 0xfe, 0xbd, 0x02, 0xb0, 0xe7, 0x4f, 0xbd, 0xe1, 0x7d, 0xa6, 0xc4, 0x08, 0xb2, 0xe1, 0x13, + 0x57, 0x12, 0xc9, 0x8a, 0xf8, 0x1e, 0x54, 0x0f, 0x1d, 0x6f, 0x68, 0x9d, 0xc8, 0xe9, 0x08, 0x2e, + 0xcb, 0xbb, 0x5f, 0x93, 0xdd, 0xcd, 0x1a, 0xef, 0xa4, 0x67, 0x1d, 0xea, 0x5e, 0x14, 0x9c, 0x91, + 0xca, 0x61, 0x5a, 0xb6, 0xd1, 0x07, 0x7c, 0xd1, 0x88, 0x0d, 0x7a, 0x4c, 0xcf, 0xe2, 0x41, 0x8f, + 0xe9, 0x19, 0xfe, 0xa9, 0x34, 0xa2, 0xf2, 0x6e, 0x2d, 0x1e, 0x2b, 0xd5, 0x56, 0xc2, 0x7c, 0x3f, + 0x73, 0x5b, 0x51, 0xff, 0xa2, 0x00, 0x55, 0xfd, 0x29, 0x1d, 0x4c, 0x23, 0xda, 0x99, 0x30, 0x1f, + 0x84, 0x78, 0x07, 0x6a, 0x8e, 0x37, 0x70, 0xa7, 0x43, 0x6a, 0x51, 0xe6, 0x6a, 0x2b, 0x62, 0xbe, + 0xe6, 0xfd, 0x15, 0xc9, 0xaa, 0x54, 0xa5, 0x82, 0x40, 0x83, 0xda, 0xc0, 0x1f, 0x4f, 0xec, 0x60, + 0xde, 0x3e, 0xcb, 0xc7, 0x5f, 0x95, 0xe3, 0xcf, 0xec, 0xc9, 0xaa, 0xb4, 0x4e, 0x75, 0xd1, 0x86, + 0x15, 0xd9, 0xef, 0xd0, 0x7a, 0xec, 0x50, 0x77, 0x18, 0xf2, 0xd0, 0xad, 0x26, 0x54, 0xcd, 0x4f, + 0x71, 0xa7, 0x29, 0x8d, 0x0f, 0xb8, 0x2d, 0xa9, 0x3a, 0x73, 0x75, 0xbc, 0x0d, 0xab, 0x03, 0xd7, + 0x61, 0x53, 0x79, 0xcc, 0x28, 0xb6, 0x02, 0xff, 0x34, 0xac, 0xe7, 0xf9, 0xfc, 0x57, 0x84, 0xe2, + 0x80, 0xc9, 0x89, 0x7f, 0x1a, 0xe2, 0xf7, 0xa1, 0x78, 0xea, 0x07, 0xc7, 0xae, 0x6f, 0x0f, 0xeb, + 0x05, 0x3e, 0xe6, 0x5b, 0x8b, 0xc7, 0x7c, 0x28, 0xad, 0x48, 0x62, 0x8f, 0xb7, 0x00, 0x85, 0x4f, + 0x5c, 0x2b, 0xa4, 0x2e, 0x1d, 0x44, 0x96, 0xeb, 0x8c, 0x9d, 0xa8, 0x5e, 0xe4, 0x5f, 0x41, 0x35, + 0x7c, 0xe2, 0xf6, 0xb8, 0xb8, 0xc5, 0xa4, 0xd8, 0x82, 0xf5, 0x28, 0xb0, 0xbd, 0xd0, 0x1e, 0xb0, + 0xce, 0x2c, 0x27, 0xf4, 0x5d, 0x9b, 0x7f, 0x01, 0x25, 0x3e, 0xe4, 0xf6, 0xe2, 0x21, 0xcd, 0x59, + 0x93, 0x66, 0xdc, 0x82, 0xac, 0x45, 0x0b, 0xa4, 0xf8, 0x5d, 0x58, 0x0f, 0x8f, 0x9d, 0x89, 0xc5, + 0xfb, 0xb1, 0x26, 0xae, 0xed, 0x59, 0x03, 0x7b, 0x70, 0x44, 0xeb, 0xc0, 0x61, 0x63, 0xa6, 0xe4, + 0xa1, 0xd6, 0x75, 0x6d, 0xaf, 0xc1, 0x34, 0xea, 0x77, 0xa0, 0x3a, 0xcf, 0x23, 0x5e, 0x85, 0x8a, + 0xf9, 0xa8, 0xab, 0x5b, 0x9a, 0xb1, 0x6f, 0x19, 0x5a, 0x5b, 0x47, 0x57, 0x70, 0x05, 0x4a, 0x5c, + 0xd4, 0x31, 0x5a, 0x8f, 0x90, 0x82, 0x97, 0x20, 0xab, 0xb5, 0x5a, 0x28, 0xa3, 0xde, 0x86, 0x62, + 0x4c, 0x08, 0x5e, 0x81, 0x72, 0xdf, 0xe8, 0x75, 0xf5, 0x46, 0xf3, 0xa0, 0xa9, 0xef, 0xa3, 0x2b, + 0xb8, 0x08, 0xb9, 0x4e, 0xcb, 0xec, 0x22, 0x45, 0x94, 0xb4, 0x2e, 0xca, 0xb0, 0x96, 0xfb, 0x7b, + 0x1a, 0xca, 0xaa, 0x7f, 0xad, 0xc0, 0xda, 0x22, 0x60, 0xb8, 0x0c, 0x4b, 0xfb, 0xfa, 0x81, 0xd6, + 0x6f, 0x99, 0xe8, 0x0a, 0xae, 0xc1, 0x0a, 0xd1, 0xbb, 0xba, 0x66, 0x6a, 0x7b, 0x2d, 0xdd, 0x22, + 0xba, 0xb6, 0x8f, 0x14, 0x8c, 0xa1, 0xca, 0x4a, 0x56, 0xa3, 0xd3, 0x6e, 0x37, 0x4d, 0x53, 0xdf, + 0x47, 0x19, 0xbc, 0x06, 0x88, 0xcb, 0xfa, 0xc6, 0x4c, 0x9a, 0xc5, 0x08, 0x96, 0x7b, 0x3a, 0x69, + 0x6a, 0xad, 0xe6, 0x47, 0xac, 0x03, 0x94, 0xc3, 0x5f, 0x81, 0x37, 0x1b, 0x1d, 0xa3, 0xd7, 0xec, + 0x99, 0xba, 0x61, 0x5a, 0x3d, 0x43, 0xeb, 0xf6, 0x3e, 0xe8, 0x98, 0xbc, 0x67, 0x01, 0x2e, 0x8f, + 0xab, 0x00, 0x5a, 0xdf, 0xec, 0x88, 0x7e, 0x50, 0xe1, 0xc3, 0x5c, 0x51, 0x41, 0x19, 0xf5, 0x93, + 0x0c, 0xe4, 0x39, 0x3f, 0x2c, 0xab, 0xa6, 0x72, 0x25, 0x2f, 0x27, 0x19, 0x26, 0xf3, 0x39, 0x19, + 0x86, 0x27, 0x66, 0x99, 0xeb, 0x44, 0x05, 0xbf, 0x0e, 0x25, 0x3f, 0x18, 0x59, 0x42, 0x23, 0xb2, + 0x74, 0xd1, 0x0f, 0x46, 0x3c, 0x9d, 0xb3, 0x0c, 0xc9, 0x92, 0xfb, 0xa1, 0x1d, 0x52, 0x1e, 0xb5, + 0x25, 0x92, 0xd4, 0xf1, 0x6b, 0xc0, 0xec, 0x2c, 0x3e, 0x8f, 0x02, 0xd7, 0x2d, 0xf9, 0xc1, 0xc8, + 0x60, 0x53, 0xf9, 0x2a, 0x54, 0x06, 0xbe, 0x3b, 0x1d, 0x7b, 0x96, 0x4b, 0xbd, 0x51, 0x74, 0x54, + 0x5f, 0xda, 0x54, 0xb6, 0x2a, 0x64, 0x59, 0x08, 0x5b, 0x5c, 0x86, 0xeb, 0xb0, 0x34, 0x38, 0xb2, + 0x83, 0x90, 0x8a, 0x48, 0xad, 0x90, 0xb8, 0xca, 0x47, 0xa5, 0x03, 0x67, 0x6c, 0xbb, 0x21, 0x8f, + 0xca, 0x0a, 0x49, 0xea, 0x0c, 0xc4, 0x63, 0xd7, 0x1e, 0x85, 0x3c, 0x9a, 0x2a, 0x44, 0x54, 0xd4, + 0x9f, 0x81, 0x2c, 0xf1, 0x4f, 0x59, 0x97, 0x62, 0xc0, 0xb0, 0xae, 0x6c, 0x66, 0xb7, 0x30, 0x89, + 0xab, 0x6c, 0x11, 0x91, 0x79, 0x54, 0xa4, 0xd7, 0x38, 0x73, 0x7e, 0x1f, 0x96, 0x09, 0x0d, 0xa7, + 0x6e, 0xa4, 0x3f, 0x8d, 0x02, 0x3b, 0xc4, 0xbb, 0x50, 0x4e, 0x67, 0x0e, 0xe5, 0xb3, 0x32, 0x07, + 0xd0, 0x59, 0xca, 0xa8, 0xc3, 0xd2, 0xe3, 0x80, 0x86, 0x47, 0x34, 0x90, 0x99, 0x29, 0xae, 0xb2, + 0xbc, 0x5c, 0xe6, 0xa1, 0x2e, 0xc6, 0x60, 0xd9, 0x5c, 0xe6, 0x14, 0x65, 0x2e, 0x9b, 0x73, 0xa7, + 0x12, 0xa9, 0x63, 0xec, 0xb1, 0x34, 0x61, 0xd9, 0x8f, 0x1f, 0xd3, 0x41, 0x44, 0xc5, 0xa2, 0x95, + 0x23, 0xcb, 0x4c, 0xa8, 0x49, 0x19, 0x73, 0x9b, 0xe3, 0x85, 0x34, 0x88, 0x2c, 0x67, 0xc8, 0x1d, + 0x9a, 0x23, 0x45, 0x21, 0x68, 0x0e, 0xf1, 0x5b, 0x90, 0xe3, 0x89, 0x26, 0xc7, 0x47, 0x01, 0x39, + 0x0a, 0xf1, 0x4f, 0x09, 0x97, 0xe3, 0x6f, 0x42, 0x81, 0x72, 0xbc, 0xdc, 0xa9, 0xb3, 0xd4, 0x9c, + 0xa6, 0x82, 0x48, 0x13, 0xf5, 0xbb, 0xb0, 0xcc, 0x31, 0x3c, 0xb4, 0x03, 0xcf, 0xf1, 0x46, 0x7c, + 0x45, 0xf7, 0x87, 0x22, 0xf6, 0x2a, 0x84, 0x97, 0x19, 0x05, 0x63, 0x1a, 0x86, 0xf6, 0x88, 0xca, + 0x15, 0x36, 0xae, 0xaa, 0x7f, 0x99, 0x85, 0x72, 0x2f, 0x0a, 0xa8, 0x3d, 0xe6, 0xec, 0xe1, 0xef, + 0x02, 0x84, 0x91, 0x1d, 0xd1, 0x31, 0xf5, 0xa2, 0x98, 0x86, 0x37, 0xe4, 0xf0, 0x29, 0xbb, 0x9d, + 0x5e, 0x6c, 0x44, 0x52, 0xf6, 0xe7, 0xdd, 0x93, 0x79, 0x01, 0xf7, 0x6c, 0x7c, 0x9a, 0x81, 0x52, + 0xd2, 0x1b, 0xd6, 0xa0, 0x38, 0xb0, 0x23, 0x3a, 0xf2, 0x83, 0x33, 0xb9, 0x16, 0xbf, 0xf3, 0x79, + 0xa3, 0xef, 0x34, 0xa4, 0x31, 0x49, 0x9a, 0xe1, 0x37, 0x41, 0x6c, 0x70, 0x44, 0xe8, 0x0b, 0xbc, + 0x25, 0x2e, 0xe1, 0xc1, 0xff, 0x3e, 0xe0, 0x49, 0xe0, 0x8c, 0xed, 0xe0, 0xcc, 0x3a, 0xa6, 0x67, + 0xf1, 0x22, 0x92, 0x5d, 0xe0, 0x70, 0x24, 0xed, 0xee, 0xd1, 0x33, 0x99, 0xf6, 0x6e, 0xcf, 0xb7, + 0x95, 0x21, 0x7b, 0xd1, 0x8d, 0xa9, 0x96, 0x7c, 0x27, 0x10, 0xc6, 0x6b, 0x7e, 0x9e, 0x47, 0x37, + 0x2b, 0xaa, 0xdf, 0x80, 0x62, 0x3c, 0x79, 0x5c, 0x82, 0xbc, 0x1e, 0x04, 0x7e, 0x80, 0xae, 0xf0, + 0xec, 0xd7, 0x6e, 0x89, 0x04, 0xba, 0xbf, 0xcf, 0x12, 0xe8, 0xdf, 0x65, 0x92, 0x85, 0x97, 0xd0, + 0x27, 0x53, 0x1a, 0x46, 0xf8, 0x17, 0xa0, 0x46, 0x79, 0xa4, 0x39, 0x27, 0xd4, 0x1a, 0xf0, 0x5d, + 0x1a, 0x8b, 0x33, 0xf1, 0x39, 0xac, 0xec, 0x88, 0x4d, 0x65, 0xbc, 0x7b, 0x23, 0xab, 0x89, 0xad, + 0x14, 0x0d, 0xb1, 0x0e, 0x35, 0x67, 0x3c, 0xa6, 0x43, 0xc7, 0x8e, 0xd2, 0x1d, 0x08, 0x87, 0xad, + 0xc7, 0x9b, 0x98, 0xb9, 0x4d, 0x20, 0x59, 0x4d, 0x5a, 0x24, 0xdd, 0xbc, 0x03, 0x85, 0x88, 0x6f, + 0x58, 0xe5, 0x1a, 0x5e, 0x89, 0xb3, 0x1a, 0x17, 0x12, 0xa9, 0xc4, 0xdf, 0x00, 0xb1, 0xfd, 0xe5, + 0xf9, 0x6b, 0x16, 0x10, 0xb3, 0x5d, 0x0d, 0x11, 0x7a, 0xfc, 0x0e, 0x54, 0xe7, 0x16, 0xbf, 0x21, + 0x27, 0x2c, 0x4b, 0x2a, 0xe9, 0x95, 0x6c, 0x88, 0xaf, 0xc3, 0x92, 0x2f, 0x16, 0x3e, 0x9e, 0xd9, + 0x66, 0x33, 0x9e, 0x5f, 0x15, 0x49, 0x6c, 0xa5, 0xfe, 0x1c, 0xac, 0x24, 0x0c, 0x86, 0x13, 0xdf, + 0x0b, 0x29, 0xde, 0x86, 0x42, 0xc0, 0x3f, 0x27, 0xc9, 0x1a, 0x96, 0x5d, 0xa4, 0xf2, 0x01, 0x91, + 0x16, 0xea, 0x10, 0x56, 0x84, 0xe4, 0xa1, 0x13, 0x1d, 0x71, 0x47, 0xe1, 0x77, 0x20, 0x4f, 0x59, + 0xe1, 0x1c, 0xe7, 0xa4, 0xdb, 0xe0, 0x7a, 0x22, 0xb4, 0xa9, 0x51, 0x32, 0xcf, 0x1d, 0xe5, 0x3f, + 0x33, 0x50, 0x93, 0xb3, 0xdc, 0xb3, 0xa3, 0xc1, 0xd1, 0x25, 0x75, 0xf6, 0x37, 0x61, 0x89, 0xc9, + 0x9d, 0xe4, 0xc3, 0x58, 0xe0, 0xee, 0xd8, 0x82, 0x39, 0xdc, 0x0e, 0xad, 0x94, 0x77, 0xe5, 0xe6, + 0xab, 0x62, 0x87, 0xa9, 0x95, 0x7f, 0x41, 0x5c, 0x14, 0x9e, 0x13, 0x17, 0x4b, 0x2f, 0x14, 0x17, + 0xfb, 0xb0, 0x36, 0xcf, 0xb8, 0x0c, 0x8e, 0x6f, 0xc1, 0x92, 0x70, 0x4a, 0x9c, 0x02, 0x17, 0xf9, + 0x2d, 0x36, 0x51, 0xff, 0x21, 0x03, 0x6b, 0x32, 0x3b, 0x7d, 0x31, 0x3e, 0xd3, 0x14, 0xcf, 0xf9, + 0x17, 0xe1, 0xf9, 0x05, 0xfd, 0xa7, 0x36, 0x60, 0xfd, 0x1c, 0x8f, 0x2f, 0xf1, 0xb1, 0xfe, 0x58, + 0x81, 0xe5, 0x3d, 0x3a, 0x72, 0xbc, 0x4b, 0xea, 0x85, 0x14, 0xb9, 0xb9, 0x17, 0x0a, 0xe2, 0x5b, + 0x50, 0x91, 0x78, 0x25, 0x5b, 0x17, 0xd9, 0x56, 0x16, 0xb1, 0xfd, 0xef, 0x0a, 0x54, 0x1a, 0xfe, + 0x78, 0xec, 0x44, 0x97, 0x94, 0xa9, 0x8b, 0x38, 0x73, 0x8b, 0x70, 0x22, 0xa8, 0xc6, 0x30, 0x05, + 0x41, 0xea, 0x7f, 0x28, 0xb0, 0x42, 0x7c, 0xd7, 0x3d, 0xb4, 0x07, 0xc7, 0xaf, 0x36, 0x76, 0x0c, + 0x68, 0x06, 0x54, 0xa2, 0xff, 0x6f, 0x05, 0xaa, 0xdd, 0x80, 0xb2, 0x1f, 0xeb, 0x57, 0x1a, 0x3c, + 0xdb, 0x09, 0x0f, 0x23, 0xb9, 0x87, 0x28, 0x11, 0x5e, 0x56, 0x57, 0x61, 0x25, 0xc1, 0x2e, 0xf9, + 0xf8, 0x17, 0x05, 0xd6, 0x45, 0x80, 0x48, 0xcd, 0xf0, 0x92, 0xd2, 0x12, 0xe3, 0xcd, 0xa5, 0xf0, + 0xd6, 0xe1, 0xea, 0x79, 0x6c, 0x12, 0xf6, 0x0f, 0x32, 0x70, 0x2d, 0x8e, 0x8d, 0x4b, 0x0e, 0xfc, + 0xff, 0x10, 0x0f, 0x1b, 0x50, 0xbf, 0x48, 0x82, 0x64, 0xe8, 0xe3, 0x0c, 0xd4, 0x1b, 0x01, 0xb5, + 0x23, 0x9a, 0xda, 0x8b, 0xbc, 0x3a, 0xb1, 0x81, 0xdf, 0x85, 0xe5, 0x89, 0x1d, 0x44, 0xce, 0xc0, + 0x99, 0xd8, 0xec, 0x6f, 0x2f, 0xcf, 0xb7, 0x3a, 0xe7, 0x3a, 0x98, 0x33, 0x51, 0x5f, 0x87, 0xd7, + 0x16, 0x30, 0x22, 0xf9, 0xfa, 0x1f, 0x05, 0x70, 0x2f, 0xb2, 0x83, 0xe8, 0x0b, 0xb0, 0xaa, 0x2c, + 0x0c, 0xa6, 0x75, 0xa8, 0xcd, 0xe1, 0x4f, 0xf3, 0x42, 0xa3, 0x2f, 0xc4, 0x8a, 0xf3, 0x99, 0xbc, + 0xa4, 0xf1, 0x4b, 0x5e, 0xfe, 0x4d, 0x81, 0x8d, 0x86, 0x2f, 0x0e, 0x16, 0x5f, 0xc9, 0x2f, 0x4c, + 0x7d, 0x13, 0x5e, 0x5f, 0x08, 0x50, 0x12, 0xf0, 0xaf, 0x0a, 0x5c, 0x25, 0xd4, 0x1e, 0xbe, 0x9a, + 0xe0, 0xef, 0xc3, 0xb5, 0x0b, 0xe0, 0xe4, 0x0e, 0xf5, 0x16, 0x14, 0xc7, 0x34, 0xb2, 0x87, 0x76, + 0x64, 0x4b, 0x48, 0x1b, 0x71, 0xbf, 0x33, 0xeb, 0xb6, 0xb4, 0x20, 0x89, 0xad, 0xfa, 0x69, 0x06, + 0x6a, 0x7c, 0xaf, 0xfb, 0xe5, 0x8f, 0xd6, 0xe2, 0x7f, 0x81, 0x8f, 0x15, 0x58, 0x9b, 0x27, 0x28, + 0xf9, 0x27, 0xf8, 0xff, 0x3e, 0xaf, 0x58, 0x90, 0x10, 0xb2, 0x8b, 0xb6, 0xa0, 0xff, 0x98, 0x81, + 0x7a, 0x7a, 0x4a, 0x5f, 0x9e, 0x6d, 0xcc, 0x9f, 0x6d, 0xfc, 0xc4, 0x87, 0x59, 0x9f, 0x28, 0xf0, + 0xda, 0x02, 0x42, 0x7f, 0x32, 0x47, 0xa7, 0x4e, 0x38, 0x32, 0xcf, 0x3d, 0xe1, 0x78, 0x51, 0x57, + 0xff, 0xb3, 0x02, 0x6b, 0x6d, 0x71, 0xb0, 0x2c, 0xfe, 0xe3, 0x2f, 0x6f, 0x36, 0xe3, 0x67, 0xc7, + 0xb9, 0xd9, 0xf5, 0x8d, 0xda, 0x80, 0xf5, 0x73, 0xd0, 0x5e, 0xe2, 0x6c, 0xe2, 0xbf, 0x14, 0x58, + 0x95, 0xbd, 0x68, 0x97, 0x76, 0x23, 0xb0, 0x80, 0x1d, 0xfc, 0x16, 0x64, 0x9d, 0x61, 0xbc, 0x83, + 0x9c, 0xbf, 0x04, 0x67, 0x0a, 0xf5, 0x0e, 0xe0, 0x34, 0xee, 0x97, 0xa0, 0xee, 0x9f, 0xb2, 0xb0, + 0xda, 0x9b, 0xb8, 0x4e, 0x24, 0x95, 0xaf, 0x76, 0xe2, 0xff, 0x0a, 0x2c, 0x87, 0x0c, 0xac, 0x25, + 0xae, 0xe4, 0x38, 0xb1, 0x25, 0x52, 0xe6, 0xb2, 0x06, 0x17, 0xe1, 0xb7, 0xa1, 0x1c, 0x9b, 0x4c, + 0xbd, 0x48, 0x1e, 0xa8, 0x81, 0xb4, 0x98, 0x7a, 0x11, 0xbe, 0x09, 0xd7, 0xbc, 0xe9, 0x98, 0x5f, + 0x69, 0x5b, 0x13, 0x1a, 0xc4, 0x17, 0xbe, 0x76, 0x10, 0x5f, 0x3d, 0xd7, 0xbc, 0xe9, 0x98, 0xf8, + 0xa7, 0x61, 0x97, 0x06, 0xe2, 0xc2, 0xd7, 0x0e, 0x22, 0x7c, 0x07, 0x4a, 0xb6, 0x3b, 0xf2, 0x03, + 0x27, 0x3a, 0x1a, 0xcb, 0x3b, 0x67, 0x35, 0xbe, 0x81, 0x39, 0x4f, 0xff, 0x8e, 0x16, 0x5b, 0x92, + 0x59, 0x23, 0xf5, 0x5b, 0x50, 0x4a, 0xe4, 0x18, 0xc1, 0xb2, 0x7e, 0xbf, 0xaf, 0xb5, 0xac, 0x5e, + 0xb7, 0xd5, 0x34, 0x7b, 0xe2, 0x9e, 0xf8, 0xa0, 0xdf, 0x6a, 0x59, 0xbd, 0x86, 0x66, 0x20, 0x45, + 0x25, 0x00, 0xbc, 0x4b, 0xde, 0xf9, 0x8c, 0x20, 0xe5, 0x39, 0x04, 0xbd, 0x0e, 0xa5, 0xc0, 0x3f, + 0x95, 0xd8, 0x33, 0x1c, 0x4e, 0x31, 0xf0, 0x4f, 0x39, 0x72, 0x55, 0x03, 0x9c, 0x9e, 0xab, 0x8c, + 0xb6, 0x54, 0xf2, 0x56, 0xe6, 0x92, 0xf7, 0x6c, 0xfc, 0x24, 0x79, 0x8b, 0xad, 0x3c, 0xfb, 0xce, + 0x3f, 0xa0, 0xb6, 0x1b, 0xc5, 0xeb, 0x95, 0xfa, 0x57, 0x19, 0xa8, 0x10, 0x26, 0x71, 0xc6, 0xb4, + 0x17, 0xd9, 0x51, 0xc8, 0x3c, 0x75, 0xc4, 0x4d, 0xac, 0x59, 0xda, 0x2d, 0x91, 0xb2, 0x90, 0x89, + 0xbb, 0x82, 0x5d, 0x58, 0x0f, 0xe9, 0xc0, 0xf7, 0x86, 0xa1, 0x75, 0x48, 0x8f, 0x1c, 0x6f, 0x68, + 0x8d, 0xed, 0x30, 0x92, 0xd7, 0x91, 0x15, 0x52, 0x93, 0xca, 0x3d, 0xae, 0x6b, 0x73, 0x15, 0xbe, + 0x01, 0x6b, 0x87, 0x8e, 0xe7, 0xfa, 0x23, 0x6b, 0xe2, 0xda, 0x67, 0x34, 0x08, 0x25, 0x54, 0x16, + 0x5e, 0x79, 0x82, 0x85, 0xae, 0x2b, 0x54, 0xc2, 0xdd, 0x1f, 0xc1, 0xf6, 0xc2, 0x51, 0xac, 0xc7, + 0x8e, 0x1b, 0xd1, 0x80, 0x0e, 0xad, 0x80, 0x4e, 0x5c, 0x67, 0x20, 0x5e, 0x13, 0x88, 0xbd, 0xfb, + 0xd7, 0x17, 0x0c, 0x7d, 0x20, 0xcd, 0xc9, 0xcc, 0x9a, 0xb1, 0x3d, 0x98, 0x4c, 0xad, 0x29, 0xbf, + 0x41, 0x64, 0xab, 0x98, 0x42, 0x8a, 0x83, 0xc9, 0xb4, 0xcf, 0xea, 0x18, 0x41, 0xf6, 0xc9, 0x44, + 0x2c, 0x5e, 0x0a, 0x61, 0x45, 0xf5, 0xc7, 0x0a, 0x54, 0xb5, 0xd1, 0x28, 0xa0, 0x23, 0x3b, 0x92, + 0x34, 0xdd, 0x80, 0x35, 0x41, 0xc9, 0x99, 0x25, 0x9f, 0x29, 0x09, 0x3c, 0x8a, 0xc0, 0x23, 0x75, + 0xe2, 0x91, 0x52, 0x1c, 0xbe, 0x57, 0xa7, 0xde, 0xc2, 0x36, 0x19, 0xde, 0x66, 0x2d, 0xd1, 0xa6, + 0x5b, 0xfd, 0x2c, 0xbc, 0xb6, 0x98, 0x85, 0xb1, 0x23, 0x1e, 0x9a, 0x54, 0xc8, 0xd5, 0x05, 0xa0, + 0xdb, 0x8e, 0xf7, 0x39, 0x4d, 0xed, 0xa7, 0x9c, 0xaf, 0xcf, 0x68, 0x6a, 0x3f, 0x55, 0xff, 0x26, + 0xb9, 0x01, 0x88, 0xc3, 0x25, 0x59, 0x8d, 0xe3, 0xbc, 0xa0, 0x7c, 0x5e, 0x5e, 0xa8, 0xc3, 0x52, + 0x48, 0x83, 0x13, 0xc7, 0x1b, 0xc5, 0x57, 0xd4, 0xb2, 0x8a, 0x7b, 0xf0, 0x75, 0x89, 0x9d, 0x3e, + 0x8d, 0x68, 0xe0, 0xd9, 0xae, 0x7b, 0x66, 0x89, 0x83, 0x0a, 0x2f, 0xa2, 0x43, 0x6b, 0xf6, 0xa8, + 0x4a, 0xac, 0xc8, 0x5f, 0x15, 0xd6, 0x7a, 0x62, 0x4c, 0x12, 0x5b, 0x33, 0x79, 0x6e, 0xf5, 0x1d, + 0xa8, 0x06, 0x32, 0x88, 0xad, 0x90, 0xb9, 0x47, 0xe6, 0xa3, 0xb5, 0xe4, 0x9e, 0x39, 0x15, 0xe1, + 0xa4, 0x12, 0xcc, 0x05, 0xfc, 0x6d, 0x58, 0x96, 0x33, 0xb2, 0x5d, 0xc7, 0x9e, 0x6d, 0x4c, 0xcf, + 0xbd, 0x34, 0xd3, 0x98, 0x92, 0xc8, 0x37, 0x69, 0xbc, 0xf2, 0x61, 0xae, 0x58, 0x40, 0x4b, 0xec, + 0x6f, 0xb8, 0xd6, 0x9f, 0x0c, 0x79, 0x64, 0x5c, 0xe2, 0x3d, 0x42, 0xfa, 0x71, 0x5a, 0x6e, 0xfe, + 0x71, 0xda, 0xfc, 0x63, 0xb7, 0xfc, 0xb9, 0xc7, 0x6e, 0xea, 0x1d, 0x58, 0x9b, 0xc7, 0x2f, 0x63, + 0x65, 0x0b, 0xf2, 0xfc, 0x5a, 0xfc, 0xdc, 0x62, 0x98, 0xba, 0xf7, 0x26, 0xc2, 0x40, 0xfd, 0x5b, + 0x05, 0x6a, 0x0b, 0x7e, 0x94, 0x92, 0xbf, 0x30, 0x25, 0x75, 0xc8, 0xf3, 0xd3, 0x90, 0xe7, 0x17, + 0xf4, 0xf2, 0xdd, 0xc9, 0xb5, 0x8b, 0xff, 0x59, 0xfc, 0x32, 0x9d, 0x08, 0x2b, 0x96, 0xce, 0x78, + 0x58, 0x0c, 0xf8, 0x29, 0x4f, 0xbc, 0xcf, 0x2b, 0x33, 0x99, 0x38, 0xf8, 0xb9, 0x78, 0x6c, 0x94, + 0x7b, 0xee, 0xb1, 0xd1, 0xf6, 0xef, 0x67, 0xa1, 0xd4, 0x3e, 0xeb, 0x3d, 0x71, 0x0f, 0x5c, 0x7b, + 0xc4, 0x6f, 0xbb, 0xdb, 0x5d, 0xf3, 0x11, 0xba, 0x82, 0x57, 0xa1, 0x62, 0x74, 0x4c, 0xcb, 0x60, + 0x0b, 0xc2, 0x41, 0x4b, 0xbb, 0x8b, 0x14, 0xb6, 0x62, 0x74, 0x49, 0xd3, 0xba, 0xa7, 0x3f, 0x12, + 0x92, 0x0c, 0xae, 0xc1, 0x4a, 0xdf, 0x68, 0xde, 0xef, 0xeb, 0x33, 0x61, 0x0e, 0xaf, 0xc3, 0x6a, + 0xbb, 0xdf, 0x32, 0x9b, 0xdd, 0x56, 0x4a, 0x5c, 0x64, 0xab, 0xcb, 0x5e, 0xab, 0xb3, 0x27, 0xaa, + 0x88, 0xf5, 0xdf, 0x37, 0x7a, 0xcd, 0xbb, 0x86, 0xbe, 0x2f, 0x44, 0x9b, 0x4c, 0xf4, 0x91, 0x4e, + 0x3a, 0x07, 0xcd, 0x78, 0xc8, 0x3b, 0x18, 0x41, 0x79, 0xaf, 0x69, 0x68, 0x44, 0xf6, 0xf2, 0x4c, + 0xc1, 0x55, 0x28, 0xe9, 0x46, 0xbf, 0x2d, 0xeb, 0x19, 0x5c, 0x87, 0x9a, 0xd6, 0x37, 0x3b, 0x56, + 0xd3, 0x68, 0x10, 0xbd, 0xad, 0x1b, 0xa6, 0xd4, 0xe4, 0x70, 0x0d, 0xaa, 0x66, 0xb3, 0xad, 0xf7, + 0x4c, 0xad, 0xdd, 0x95, 0x42, 0x36, 0x8b, 0x62, 0x4f, 0x8f, 0x6d, 0x10, 0xde, 0x80, 0x75, 0xa3, + 0x63, 0xc9, 0x27, 0x4b, 0xd6, 0x03, 0xad, 0xd5, 0xd7, 0xa5, 0x6e, 0x13, 0x5f, 0x03, 0xdc, 0x31, + 0xac, 0x7e, 0x77, 0x5f, 0x33, 0x75, 0xcb, 0xe8, 0x3c, 0x94, 0x8a, 0x3b, 0xb8, 0x0a, 0xc5, 0xd9, + 0x0c, 0x9e, 0x31, 0x16, 0x2a, 0x5d, 0x8d, 0x98, 0x33, 0xb0, 0xcf, 0x9e, 0x31, 0xb2, 0xe0, 0x2e, + 0xe9, 0xf4, 0xbb, 0x33, 0xb3, 0x55, 0x28, 0x4b, 0xb2, 0xa4, 0x28, 0xc7, 0x44, 0x7b, 0x4d, 0xa3, + 0x91, 0xcc, 0xef, 0x59, 0x71, 0x23, 0x83, 0x94, 0xed, 0x63, 0xc8, 0x71, 0x77, 0x14, 0x21, 0x67, + 0x74, 0x0c, 0x1d, 0x5d, 0xc1, 0x2b, 0x00, 0xcd, 0x5e, 0xd3, 0x30, 0xf5, 0xbb, 0x44, 0x6b, 0x31, + 0xd8, 0x5c, 0x10, 0x13, 0xc8, 0xd0, 0x2e, 0xc3, 0x52, 0xb3, 0x77, 0xd0, 0xea, 0x68, 0xa6, 0x84, + 0xd9, 0xec, 0xdd, 0xef, 0x77, 0x4c, 0xa6, 0x44, 0xb8, 0x0c, 0x85, 0x66, 0xcf, 0xd4, 0xbf, 0x67, + 0x32, 0x5c, 0x5c, 0x27, 0x58, 0x45, 0xcf, 0xee, 0x6c, 0xff, 0x28, 0x0b, 0x39, 0xfe, 0xe0, 0xb4, + 0x02, 0x25, 0xee, 0x6d, 0xf3, 0x51, 0x97, 0x0d, 0x59, 0x82, 0x5c, 0xd3, 0x30, 0x6f, 0xa3, 0x5f, + 0xcc, 0x60, 0x80, 0x7c, 0x9f, 0x97, 0x7f, 0xa9, 0xc0, 0xca, 0x4d, 0xc3, 0x7c, 0xf7, 0x16, 0xfa, + 0x41, 0x86, 0x75, 0xdb, 0x17, 0x95, 0x5f, 0x8e, 0x15, 0xbb, 0x37, 0xd1, 0x0f, 0x13, 0xc5, 0xee, + 0x4d, 0xf4, 0x2b, 0xb1, 0xe2, 0xbd, 0x5d, 0xf4, 0xab, 0x89, 0xe2, 0xbd, 0x5d, 0xf4, 0x6b, 0xb1, + 0xe2, 0xd6, 0x4d, 0xf4, 0xeb, 0x89, 0xe2, 0xd6, 0x4d, 0xf4, 0x1b, 0x05, 0x86, 0x85, 0x23, 0x79, + 0x6f, 0x17, 0xfd, 0x66, 0x31, 0xa9, 0xdd, 0xba, 0x89, 0x7e, 0xab, 0xc8, 0xfc, 0x9f, 0x78, 0x15, + 0xfd, 0x36, 0x62, 0xd3, 0x64, 0x0e, 0x42, 0xbf, 0xc3, 0x8b, 0x4c, 0x85, 0x7e, 0x17, 0x31, 0x8c, + 0x4c, 0xca, 0xab, 0x1f, 0x73, 0xcd, 0x23, 0x5d, 0x23, 0xe8, 0xf7, 0x0a, 0xe2, 0x85, 0x5a, 0xa3, + 0xd9, 0xd6, 0x5a, 0x08, 0xf3, 0x16, 0x8c, 0x95, 0x3f, 0xb8, 0xc1, 0x8a, 0x2c, 0x3c, 0xd1, 0x1f, + 0x76, 0xd9, 0x80, 0x0f, 0x34, 0xd2, 0xf8, 0x40, 0x23, 0xe8, 0x8f, 0x6e, 0xb0, 0x01, 0x1f, 0x68, + 0x44, 0xf2, 0xf5, 0xc7, 0x5d, 0x66, 0xc8, 0x55, 0x9f, 0xdc, 0x60, 0x93, 0x96, 0xf2, 0x3f, 0xe9, + 0xe2, 0x22, 0x64, 0xf7, 0x9a, 0x26, 0xfa, 0x11, 0x1f, 0x8d, 0x85, 0x28, 0xfa, 0x53, 0xc4, 0x84, + 0x3d, 0xdd, 0x44, 0x7f, 0xc6, 0x84, 0x79, 0xb3, 0xdf, 0x6d, 0xe9, 0xe8, 0x0d, 0x36, 0xb9, 0xbb, + 0x7a, 0xa7, 0xad, 0x9b, 0xe4, 0x11, 0xfa, 0x73, 0x6e, 0xfe, 0x61, 0xaf, 0x63, 0xa0, 0x4f, 0x11, + 0xae, 0x02, 0xe8, 0xdf, 0xeb, 0x12, 0xbd, 0xd7, 0x6b, 0x76, 0x0c, 0xf4, 0xf6, 0xf6, 0x01, 0xa0, + 0xf3, 0xe9, 0x80, 0x01, 0xe8, 0x1b, 0xf7, 0x8c, 0xce, 0x43, 0x03, 0x5d, 0x61, 0x95, 0x2e, 0xd1, + 0xbb, 0x1a, 0xd1, 0x91, 0x82, 0x01, 0x0a, 0xf2, 0xdd, 0x5b, 0x06, 0x2f, 0x43, 0x91, 0x74, 0x5a, + 0xad, 0x3d, 0xad, 0x71, 0x0f, 0x65, 0xf7, 0xbe, 0x0d, 0x2b, 0x8e, 0xbf, 0x73, 0xe2, 0x44, 0x34, + 0x0c, 0xc5, 0x93, 0xe6, 0x8f, 0x54, 0x59, 0x73, 0xfc, 0xeb, 0xa2, 0x74, 0x7d, 0xe4, 0x5f, 0x3f, + 0x89, 0xae, 0x73, 0xed, 0x75, 0x9e, 0x31, 0x0e, 0x0b, 0xbc, 0xf2, 0xde, 0xff, 0x06, 0x00, 0x00, + 0xff, 0xff, 0x40, 0x99, 0x5d, 0x63, 0x30, 0x2d, 0x00, 0x00, } diff --git a/go/vt/srvtopo/resolver.go b/go/vt/srvtopo/resolver.go index a7a5043cf3a..981b583f92d 100644 --- a/go/vt/srvtopo/resolver.go +++ b/go/vt/srvtopo/resolver.go @@ -38,8 +38,8 @@ type Resolver struct { // topoServ is the srvtopo.Server to use for topo queries. topoServ Server - // stats provides the health information. - stats TargetStats + // queryService is the actual query service that will be used to execute queries. + queryService queryservice.QueryService // localCell is the local cell for the queries. localCell string @@ -50,11 +50,11 @@ type Resolver struct { } // NewResolver creates a new Resolver. -func NewResolver(topoServ Server, stats TargetStats, localCell string) *Resolver { +func NewResolver(topoServ Server, queryService queryservice.QueryService, localCell string) *Resolver { return &Resolver{ - topoServ: topoServ, - stats: stats, - localCell: localCell, + topoServ: topoServ, + queryService: queryService, + localCell: localCell, } } @@ -130,18 +130,13 @@ func (r *Resolver) GetAllShards(ctx context.Context, keyspace string, tabletType TabletType: tabletType, Cell: r.localCell, } - _, qs, err := r.stats.GetAggregateStats(target) - if err != nil { - return nil, nil, resolverError(err, target) - } - - // FIXME(alainjobart) we ignore the stats for now. + // Right now we always set the Cell to "" // Later we can fallback to another cell if needed. // We would then need to read the SrvKeyspace there too. target.Cell = "" res[i] = &ResolvedShard{ Target: target, - QueryService: qs, + QueryService: r.queryService, } } return res, srvKeyspace, nil @@ -193,19 +188,14 @@ func (r *Resolver) ResolveDestinations(ctx context.Context, keyspace string, tab TabletType: tabletType, Cell: r.localCell, } - _, qs, err := r.stats.GetAggregateStats(target) - if err != nil { - return resolverError(err, target) - } - - // FIXME(alainjobart) we ignore the stats for now. + // Right now we always set the Cell to "" // Later we can fallback to another cell if needed. // We would then need to read the SrvKeyspace there too. target.Cell = "" s = len(result) result = append(result, &ResolvedShard{ Target: target, - QueryService: qs, + QueryService: r.queryService, }) if ids != nil { values = append(values, nil) @@ -247,7 +237,3 @@ func ValuesEqual(vss1, vss2 [][]*querypb.Value) bool { } return true } - -func resolverError(in error, target *querypb.Target) error { - return vterrors.Errorf(vtrpcpb.Code_UNAVAILABLE, "target: %s.%s.%s, no valid tablet: %v", target.Keyspace, target.Shard, topoproto.TabletTypeLString(target.TabletType), in) -} diff --git a/go/vt/srvtopo/resolver_test.go b/go/vt/srvtopo/resolver_test.go index 18b0d0cd6e7..0cc6ce5a9ae 100644 --- a/go/vt/srvtopo/resolver_test.go +++ b/go/vt/srvtopo/resolver_test.go @@ -26,23 +26,12 @@ import ( "vitess.io/vitess/go/vt/logutil" "vitess.io/vitess/go/vt/topo/memorytopo" "vitess.io/vitess/go/vt/topotools" - "vitess.io/vitess/go/vt/vttablet/queryservice" + "vitess.io/vitess/go/vt/vttablet/tabletconntest" querypb "vitess.io/vitess/go/vt/proto/query" topodatapb "vitess.io/vitess/go/vt/proto/topodata" ) -// fakeStats implements TargetStats. -type fakeStats struct{} - -func (s *fakeStats) GetAggregateStats(target *querypb.Target) (*querypb.AggregateStats, queryservice.QueryService, error) { - return &querypb.AggregateStats{}, nil, nil -} - -func (s *fakeStats) GetMasterCell(keyspace, shard string) (cell string, qs queryservice.QueryService, err error) { - return "", nil, nil -} - func initResolver(t *testing.T, name string) *Resolver { ctx := context.Background() cell := "cell1" @@ -79,7 +68,7 @@ func initResolver(t *testing.T, name string) *Resolver { } } - return NewResolver(rs, &fakeStats{}, cell) + return NewResolver(rs, &tabletconntest.FakeQueryService{}, cell) } func TestResolveDestinations(t *testing.T) { diff --git a/go/vt/srvtopo/target_stats.go b/go/vt/srvtopo/target_stats.go index 8dd11763647..e492bd59991 100644 --- a/go/vt/srvtopo/target_stats.go +++ b/go/vt/srvtopo/target_stats.go @@ -20,36 +20,13 @@ import ( "fmt" querypb "vitess.io/vitess/go/vt/proto/query" - "vitess.io/vitess/go/vt/vttablet/queryservice" ) -// TargetStats is an interface that the srvtopo module uses to handle -// routing of queries. -// - discovery.TabletStatsCache will implement the discovery part of the -// interface, and discoverygateway will have the QueryService. -type TargetStats interface { - // GetAggregateStats returns the aggregate stats for the given Target. - // The srvtopo module will use that information to route queries - // to the right cell. Also returns the QueryService to use to - // reach that target. - // Can return topo.ErrNoNode if the target has no stats. - GetAggregateStats(target *querypb.Target) (*querypb.AggregateStats, queryservice.QueryService, error) - - // GetMasterCell returns the master location for a keyspace/shard. - // Since there is only one master for a shard, we only need to - // know its cell to complete the Target. Also returns the QueryService - // to use to reach that target. - GetMasterCell(keyspace, shard string) (cell string, qs queryservice.QueryService, err error) -} - // TargetStatsEntry has the updated information for a Target. type TargetStatsEntry struct { // Target is what this entry applies to. Target *querypb.Target - // Stats is the aggregate stats for this entry. - Stats *querypb.AggregateStats - // TabletExternallyReparentedTimestamp is the latest timestamp // that was reported for this entry. It applies to masters only. TabletExternallyReparentedTimestamp int64 diff --git a/go/vt/vtgate/gateway/discoverygateway.go b/go/vt/vtgate/gateway/discoverygateway.go index e793096dcf8..feb1792a9a0 100644 --- a/go/vt/vtgate/gateway/discoverygateway.go +++ b/go/vt/vtgate/gateway/discoverygateway.go @@ -198,18 +198,6 @@ func (dg *discoveryGateway) WaitForTablets(ctx context.Context, tabletTypesToWai return dg.tsc.WaitForAllServingTablets(ctx, targets) } -// GetAggregateStats is part of the srvtopo.TargetStats interface. -func (dg *discoveryGateway) GetAggregateStats(target *querypb.Target) (*querypb.AggregateStats, queryservice.QueryService, error) { - stats, err := dg.tsc.GetAggregateStats(target) - return stats, dg, err -} - -// GetMasterCell is part of the srvtopo.TargetStats interface. -func (dg *discoveryGateway) GetMasterCell(keyspace, shard string) (string, queryservice.QueryService, error) { - cell, err := dg.tsc.GetMasterCell(keyspace, shard) - return cell, dg, err -} - // Close shuts down underlying connections. // This function hides the inner implementation. func (dg *discoveryGateway) Close(ctx context.Context) error { diff --git a/go/vt/vtgate/gateway/discoverygateway_test.go b/go/vt/vtgate/gateway/discoverygateway_test.go index d47c3400ff9..d6da59c34a9 100644 --- a/go/vt/vtgate/gateway/discoverygateway_test.go +++ b/go/vt/vtgate/gateway/discoverygateway_test.go @@ -203,112 +203,6 @@ func TestShuffleTablets(t *testing.T) { } } -func TestDiscoveryGatewayGetAggregateStats(t *testing.T) { - keyspace := "ks" - shard := "0" - hc := discovery.NewFakeHealthCheck() - dg := createDiscoveryGateway(context.Background(), hc, nil, "cell1", 2).(*discoveryGateway) - - // replica should only use local ones - hc.Reset() - dg.tsc.ResetForTesting() - hc.AddTestTablet("cell1", "1.1.1.1", 1001, keyspace, shard, topodatapb.TabletType_REPLICA, true, 10, nil) - hc.AddTestTablet("cell1", "2.2.2.2", 1001, keyspace, shard, topodatapb.TabletType_REPLICA, true, 10, nil) - target := &querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_REPLICA, - Cell: "cell1", - } - tsl, err := dg.tsc.GetAggregateStats(target) - if err != nil { - t.Error(err) - } - if tsl.HealthyTabletCount != 2 { - t.Errorf("Expected 2 healthy replica tablets, got: %v", tsl.HealthyTabletCount) - } -} - -func TestDiscoveryGatewayGetAggregateStatsRegion(t *testing.T) { - keyspace := "ks" - shard := "0" - hc := discovery.NewFakeHealthCheck() - ts := memorytopo.NewServer("local-west", "local-east", "remote") - srvTopo := srvtopotest.NewPassthroughSrvTopoServer() - srvTopo.TopoServer = ts - dg := createDiscoveryGateway(context.Background(), hc, srvTopo, "local-east", 2).(*discoveryGateway) - - cellsAlias := &topodatapb.CellsAlias{ - Cells: []string{"local-west", "local-east"}, - } - - ts.CreateCellsAlias(context.Background(), "local", cellsAlias) - - defer ts.DeleteCellsAlias(context.Background(), "local") - - hc.Reset() - dg.tsc.ResetForTesting() - hc.AddTestTablet("remote", "1.1.1.1", 1001, keyspace, shard, topodatapb.TabletType_REPLICA, true, 10, nil) - hc.AddTestTablet("local-west", "2.2.2.2", 1001, keyspace, shard, topodatapb.TabletType_REPLICA, true, 10, nil) - hc.AddTestTablet("local-east", "3.3.3.3", 1001, keyspace, shard, topodatapb.TabletType_REPLICA, true, 10, nil) - - // Non master targets in the same region as the gateway should be discoverable - target := &querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_REPLICA, - Cell: "local-west", - } - tsl, err := dg.tsc.GetAggregateStats(target) - if err != nil { - t.Fatalf("Expected no error, got %v", err) - } - if tsl.HealthyTabletCount != 2 { - t.Errorf("Expected 2 healthy replica tablets, got: %v", tsl.HealthyTabletCount) - } -} - -func TestDiscoveryGatewayGetAggregateStatsMaster(t *testing.T) { - keyspace := "ks" - shard := "0" - hc := discovery.NewFakeHealthCheck() - dg := createDiscoveryGateway(context.Background(), hc, nil, "cell1", 2).(*discoveryGateway) - - // replica should only use local ones - hc.Reset() - dg.tsc.ResetForTesting() - hc.AddTestTablet("cell1", "1.1.1.1", 1001, keyspace, shard, topodatapb.TabletType_MASTER, true, 10, nil) - target := &querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_MASTER, - Cell: "cell1", - } - tsl, err := dg.tsc.GetAggregateStats(target) - if err != nil { - t.Fatalf("Expected no error, got %v", err) - } - if tsl.HealthyTabletCount != 1 { - t.Errorf("Expected one healthy master, got: %v", tsl.HealthyTabletCount) - } - - // You can get aggregate regardless of the cell when requesting a master - target = &querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_MASTER, - Cell: "cell2", - } - - tsl, err = dg.tsc.GetAggregateStats(target) - if err != nil { - t.Fatalf("Expected no error, got %v", err) - } - if tsl.HealthyTabletCount != 1 { - t.Errorf("Expected one healthy master, got: %v", tsl.HealthyTabletCount) - } -} - func TestDiscoveryGatewayGetTabletsInRegion(t *testing.T) { keyspace := "ks" shard := "0" @@ -370,50 +264,6 @@ func TestDiscoveryGatewayGetTabletsWithRegion(t *testing.T) { } } -func BenchmarkOneCellGetAggregateStats(b *testing.B) { benchmarkCellsGetAggregateStats(1, b) } - -func BenchmarkTenCellGetAggregateStats(b *testing.B) { benchmarkCellsGetAggregateStats(10, b) } - -func Benchmark100CellGetAggregateStats(b *testing.B) { benchmarkCellsGetAggregateStats(100, b) } - -func Benchmark1000CellGetAggregateStats(b *testing.B) { benchmarkCellsGetAggregateStats(1000, b) } - -func benchmarkCellsGetAggregateStats(i int, b *testing.B) { - keyspace := "ks" - shard := "0" - hc := discovery.NewFakeHealthCheck() - dg := createDiscoveryGateway(context.Background(), hc, nil, "cell0", 2).(*discoveryGateway) - cellsToregions := make(map[string]string) - for j := 0; j < i; j++ { - cell := fmt.Sprintf("cell%v", j) - cellsToregions[cell] = "local" - } - - //topo.UpdateCellsToRegionsForTests(cellsToregions) - hc.Reset() - dg.tsc.ResetForTesting() - - for j := 0; j < i; j++ { - cell := fmt.Sprintf("cell%v", j) - ip := fmt.Sprintf("%v.%v.%v,%v", j, j, j, j) - hc.AddTestTablet(cell, ip, 1001, keyspace, shard, topodatapb.TabletType_REPLICA, true, 10, nil) - } - - target := &querypb.Target{ - Keyspace: keyspace, - Shard: shard, - TabletType: topodatapb.TabletType_REPLICA, - Cell: "cell0", - } - - for n := 0; n < b.N; n++ { - _, err := dg.tsc.GetAggregateStats(target) - if err != nil { - b.Fatalf("Expected no error, got %v", err) - } - } -} - func testDiscoveryGatewayGeneric(t *testing.T, f func(dg Gateway, target *querypb.Target) error) { keyspace := "ks" shard := "0" diff --git a/go/vt/vtgate/gateway/gateway.go b/go/vt/vtgate/gateway/gateway.go index 5f5bb6a6b14..725df19f493 100644 --- a/go/vt/vtgate/gateway/gateway.go +++ b/go/vt/vtgate/gateway/gateway.go @@ -53,15 +53,9 @@ func init() { // A Gateway is the query processing module for each shard, // which is used by ScatterConn. type Gateway interface { - // TODO(alainjobart) The QueryService part of this interface - // will be removed soon, in favor of the TargetStats part (that - // returns a QueryService) + // the query service that this Gateway wraps around queryservice.QueryService - // srvtopo.TargetStats allows this Gateway to resolve a Target - // into a QueryService. It is used by the srvtopo.Resolver object. - srvtopo.TargetStats - // WaitForTablets asks the gateway to wait for the provided // tablets types to be available. It the context is canceled // before the end, it should return ctx.Err(). diff --git a/go/vt/vtgate/vtgate_test.go b/go/vt/vtgate/vtgate_test.go index 2e227e5ba25..3ba27750603 100644 --- a/go/vt/vtgate/vtgate_test.go +++ b/go/vt/vtgate/vtgate_test.go @@ -358,8 +358,8 @@ func TestVTGateExecuteWithKeyspaceShard(t *testing.T) { "select id from none", nil, ) - want = "vtgate: : target: TestUnsharded.noshard.master, no valid tablet: node doesn't exist: TestUnsharded/noshard (MASTER)" - if err == nil || err.Error() != want { + want = "TestUnsharded.noshard.master: no valid tablet" + if err == nil || !strings.Contains(err.Error(), want) { t.Errorf("Execute: %v, want %s", err, want) } } diff --git a/proto/query.proto b/proto/query.proto index 7da7b94bd08..4ea0a3136f2 100644 --- a/proto/query.proto +++ b/proto/query.proto @@ -776,14 +776,10 @@ message AggregateStats { } // StreamHealthResponse is streamed by StreamHealth on a regular basis. -// When StreamHealth is used between a vtgate and vttablet: +// It is expected to be used between a vtgate and vttablet: // - target describes the tablet. // - realtime_stats is set. -// - aggregate_stats is not set. -// When StreamHealth is used between two vtgates: -// - target describes the group of tablets. -// - realtime_stats is not set. -// - aggregate_stats is set. +// - aggregate_stats is not set (deprecated) message StreamHealthResponse { // target is the current server type. Only queries with that exact Target // record will be accepted (the cell may not match, however). @@ -826,9 +822,11 @@ message StreamHealthResponse { // It is only filled in if the information is about a tablet. RealtimeStats realtime_stats = 4; + reserved 6; + // Deprecated // AggregateStats constrains information about the group of tablet status. // It is only filled in if the information is about a group of tablets. - AggregateStats aggregate_stats = 6; + // AggregateStats aggregate_stats = 6; // tablet_alias is the alias of the sending tablet. The discovery/healthcheck.go // code uses it to verify that it's talking to the correct tablet and that it diff --git a/py/vtproto/query_pb2.py b/py/vtproto/query_pb2.py index 2129271e2b0..78d45df8f25 100644 --- a/py/vtproto/query_pb2.py +++ b/py/vtproto/query_pb2.py @@ -22,7 +22,7 @@ package='query', syntax='proto3', serialized_options=_b('\n\017io.vitess.protoZ\"vitess.io/vitess/go/vt/proto/query'), - serialized_pb=_b('\n\x0bquery.proto\x12\x05query\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"b\n\x06Target\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\r\n\x05shard\x18\x02 \x01(\t\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x0c\n\x04\x63\x65ll\x18\x04 \x01(\t\"2\n\x0eVTGateCallerID\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06groups\x18\x02 \x03(\t\"@\n\nEventToken\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\r\n\x05shard\x18\x02 \x01(\t\x12\x10\n\x08position\x18\x03 \x01(\t\"1\n\x05Value\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\"V\n\x0c\x42indVariable\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x1c\n\x06values\x18\x03 \x03(\x0b\x32\x0c.query.Value\"\xa2\x01\n\nBoundQuery\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12<\n\x0e\x62ind_variables\x18\x02 \x03(\x0b\x32$.query.BoundQuery.BindVariablesEntry\x1aI\n\x12\x42indVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.query.BindVariable:\x02\x38\x01\"\x94\x05\n\x0e\x45xecuteOptions\x12\x1b\n\x13include_event_token\x18\x02 \x01(\x08\x12.\n\x13\x63ompare_event_token\x18\x03 \x01(\x0b\x32\x11.query.EventToken\x12=\n\x0fincluded_fields\x18\x04 \x01(\x0e\x32$.query.ExecuteOptions.IncludedFields\x12\x19\n\x11\x63lient_found_rows\x18\x05 \x01(\x08\x12\x30\n\x08workload\x18\x06 \x01(\x0e\x32\x1e.query.ExecuteOptions.Workload\x12\x18\n\x10sql_select_limit\x18\x08 \x01(\x03\x12I\n\x15transaction_isolation\x18\t \x01(\x0e\x32*.query.ExecuteOptions.TransactionIsolation\x12\x1d\n\x15skip_query_plan_cache\x18\n \x01(\x08\";\n\x0eIncludedFields\x12\x11\n\rTYPE_AND_NAME\x10\x00\x12\r\n\tTYPE_ONLY\x10\x01\x12\x07\n\x03\x41LL\x10\x02\"8\n\x08Workload\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04OLTP\x10\x01\x12\x08\n\x04OLAP\x10\x02\x12\x07\n\x03\x44\x42\x41\x10\x03\"\xa7\x01\n\x14TransactionIsolation\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x13\n\x0fREPEATABLE_READ\x10\x01\x12\x12\n\x0eREAD_COMMITTED\x10\x02\x12\x14\n\x10READ_UNCOMMITTED\x10\x03\x12\x10\n\x0cSERIALIZABLE\x10\x04\x12!\n\x1d\x43ONSISTENT_SNAPSHOT_READ_ONLY\x10\x05\x12\x0e\n\nAUTOCOMMIT\x10\x06J\x04\x08\x01\x10\x02\"\xbf\x01\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x04type\x18\x02 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05table\x18\x03 \x01(\t\x12\x11\n\torg_table\x18\x04 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x05 \x01(\t\x12\x10\n\x08org_name\x18\x06 \x01(\t\x12\x15\n\rcolumn_length\x18\x07 \x01(\r\x12\x0f\n\x07\x63harset\x18\x08 \x01(\r\x12\x10\n\x08\x64\x65\x63imals\x18\t \x01(\r\x12\r\n\x05\x66lags\x18\n \x01(\r\"&\n\x03Row\x12\x0f\n\x07lengths\x18\x01 \x03(\x12\x12\x0e\n\x06values\x18\x02 \x01(\x0c\"G\n\x0cResultExtras\x12&\n\x0b\x65vent_token\x18\x01 \x01(\x0b\x32\x11.query.EventToken\x12\x0f\n\x07\x66resher\x18\x02 \x01(\x08\"\x94\x01\n\x0bQueryResult\x12\x1c\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x0c.query.Field\x12\x15\n\rrows_affected\x18\x02 \x01(\x04\x12\x11\n\tinsert_id\x18\x03 \x01(\x04\x12\x18\n\x04rows\x18\x04 \x03(\x0b\x32\n.query.Row\x12#\n\x06\x65xtras\x18\x05 \x01(\x0b\x32\x13.query.ResultExtras\"-\n\x0cQueryWarning\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xca\x02\n\x0bStreamEvent\x12\x30\n\nstatements\x18\x01 \x03(\x0b\x32\x1c.query.StreamEvent.Statement\x12&\n\x0b\x65vent_token\x18\x02 \x01(\x0b\x32\x11.query.EventToken\x1a\xe0\x01\n\tStatement\x12\x37\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32%.query.StreamEvent.Statement.Category\x12\x12\n\ntable_name\x18\x02 \x01(\t\x12(\n\x12primary_key_fields\x18\x03 \x03(\x0b\x32\x0c.query.Field\x12&\n\x12primary_key_values\x18\x04 \x03(\x0b\x32\n.query.Row\x12\x0b\n\x03sql\x18\x05 \x01(\x0c\"\'\n\x08\x43\x61tegory\x12\t\n\x05\x45rror\x10\x00\x12\x07\n\x03\x44ML\x10\x01\x12\x07\n\x03\x44\x44L\x10\x02\"\xf3\x01\n\x0e\x45xecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0etransaction_id\x18\x05 \x01(\x03\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"5\n\x0f\x45xecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"U\n\x0fResultWithError\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\"\x92\x02\n\x13\x45xecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\";\n\x14\x45xecuteBatchResponse\x12#\n\x07results\x18\x01 \x03(\x0b\x32\x12.query.QueryResult\"\xf9\x01\n\x14StreamExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xb7\x01\n\x0c\x42\x65ginRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12&\n\x07options\x18\x04 \x01(\x0b\x32\x15.query.ExecuteOptions\"\'\n\rBeginResponse\x12\x16\n\x0etransaction_id\x18\x01 \x01(\x03\"\xa8\x01\n\rCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x10\n\x0e\x43ommitResponse\"\xaa\x01\n\x0fRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x12\n\x10RollbackResponse\"\xb7\x01\n\x0ePrepareRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x11\n\x0fPrepareResponse\"\xa6\x01\n\x15\x43ommitPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x18\n\x16\x43ommitPreparedResponse\"\xc0\x01\n\x17RollbackPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x1a\n\x18RollbackPreparedResponse\"\xce\x01\n\x18\x43reateTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\x12#\n\x0cparticipants\x18\x05 \x03(\x0b\x32\r.query.Target\"\x1b\n\x19\x43reateTransactionResponse\"\xbb\x01\n\x12StartCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13StartCommitResponse\"\xbb\x01\n\x12SetRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13SetRollbackResponse\"\xab\x01\n\x1a\x43oncludeTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x1d\n\x1b\x43oncludeTransactionResponse\"\xa7\x01\n\x16ReadTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"G\n\x17ReadTransactionResponse\x12,\n\x08metadata\x18\x01 \x01(\x0b\x32\x1a.query.TransactionMetadata\"\xe0\x01\n\x13\x42\x65ginExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\"r\n\x14\x42\x65ginExecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xff\x01\n\x18\x42\x65ginExecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"x\n\x19\x42\x65ginExecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12#\n\x07results\x18\x02 \x03(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xa5\x01\n\x14MessageStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\";\n\x15MessageStreamResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xbd\x01\n\x11MessageAckRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x03ids\x18\x05 \x03(\x0b\x32\x0c.query.Value\"8\n\x12MessageAckResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe7\x02\n\x11SplitQueryRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x05 \x03(\t\x12\x13\n\x0bsplit_count\x18\x06 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x08 \x01(\x03\x12\x35\n\talgorithm\x18\t \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\",\n\tAlgorithm\x12\x10\n\x0c\x45QUAL_SPLITS\x10\x00\x12\r\n\tFULL_SCAN\x10\x01\"A\n\nQuerySplit\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x11\n\trow_count\x18\x02 \x01(\x03\"8\n\x12SplitQueryResponse\x12\"\n\x07queries\x18\x01 \x03(\x0b\x32\x11.query.QuerySplit\"\x15\n\x13StreamHealthRequest\"\xb6\x01\n\rRealtimeStats\x12\x14\n\x0chealth_error\x18\x01 \x01(\t\x12\x1d\n\x15seconds_behind_master\x18\x02 \x01(\r\x12\x1c\n\x14\x62inlog_players_count\x18\x03 \x01(\x05\x12\x32\n*seconds_behind_master_filtered_replication\x18\x04 \x01(\x03\x12\x11\n\tcpu_usage\x18\x05 \x01(\x01\x12\x0b\n\x03qps\x18\x06 \x01(\x01\"\x94\x01\n\x0e\x41ggregateStats\x12\x1c\n\x14healthy_tablet_count\x18\x01 \x01(\x05\x12\x1e\n\x16unhealthy_tablet_count\x18\x02 \x01(\x05\x12!\n\x19seconds_behind_master_min\x18\x03 \x01(\r\x12!\n\x19seconds_behind_master_max\x18\x04 \x01(\r\"\x81\x02\n\x14StreamHealthResponse\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x0f\n\x07serving\x18\x02 \x01(\x08\x12.\n&tablet_externally_reparented_timestamp\x18\x03 \x01(\x03\x12,\n\x0erealtime_stats\x18\x04 \x01(\x0b\x32\x14.query.RealtimeStats\x12.\n\x0f\x61ggregate_stats\x18\x06 \x01(\x0b\x32\x15.query.AggregateStats\x12+\n\x0ctablet_alias\x18\x05 \x01(\x0b\x32\x15.topodata.TabletAlias\"\xbb\x01\n\x13UpdateStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x10\n\x08position\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\"9\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\"\x86\x01\n\x13TransactionMetadata\x12\x0c\n\x04\x64tid\x18\x01 \x01(\t\x12&\n\x05state\x18\x02 \x01(\x0e\x32\x17.query.TransactionState\x12\x14\n\x0ctime_created\x18\x03 \x01(\x03\x12#\n\x0cparticipants\x18\x04 \x03(\x0b\x32\r.query.Target*\x92\x03\n\tMySqlFlag\x12\t\n\x05\x45MPTY\x10\x00\x12\x11\n\rNOT_NULL_FLAG\x10\x01\x12\x10\n\x0cPRI_KEY_FLAG\x10\x02\x12\x13\n\x0fUNIQUE_KEY_FLAG\x10\x04\x12\x15\n\x11MULTIPLE_KEY_FLAG\x10\x08\x12\r\n\tBLOB_FLAG\x10\x10\x12\x11\n\rUNSIGNED_FLAG\x10 \x12\x11\n\rZEROFILL_FLAG\x10@\x12\x10\n\x0b\x42INARY_FLAG\x10\x80\x01\x12\x0e\n\tENUM_FLAG\x10\x80\x02\x12\x18\n\x13\x41UTO_INCREMENT_FLAG\x10\x80\x04\x12\x13\n\x0eTIMESTAMP_FLAG\x10\x80\x08\x12\r\n\x08SET_FLAG\x10\x80\x10\x12\x1a\n\x15NO_DEFAULT_VALUE_FLAG\x10\x80 \x12\x17\n\x12ON_UPDATE_NOW_FLAG\x10\x80@\x12\x0e\n\x08NUM_FLAG\x10\x80\x80\x02\x12\x13\n\rPART_KEY_FLAG\x10\x80\x80\x01\x12\x10\n\nGROUP_FLAG\x10\x80\x80\x02\x12\x11\n\x0bUNIQUE_FLAG\x10\x80\x80\x04\x12\x11\n\x0b\x42INCMP_FLAG\x10\x80\x80\x08\x1a\x02\x10\x01*k\n\x04\x46lag\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\nISINTEGRAL\x10\x80\x02\x12\x0f\n\nISUNSIGNED\x10\x80\x04\x12\x0c\n\x07ISFLOAT\x10\x80\x08\x12\r\n\x08ISQUOTED\x10\x80\x10\x12\x0b\n\x06ISTEXT\x10\x80 \x12\r\n\x08ISBINARY\x10\x80@*\x99\x03\n\x04Type\x12\r\n\tNULL_TYPE\x10\x00\x12\t\n\x04INT8\x10\x81\x02\x12\n\n\x05UINT8\x10\x82\x06\x12\n\n\x05INT16\x10\x83\x02\x12\x0b\n\x06UINT16\x10\x84\x06\x12\n\n\x05INT24\x10\x85\x02\x12\x0b\n\x06UINT24\x10\x86\x06\x12\n\n\x05INT32\x10\x87\x02\x12\x0b\n\x06UINT32\x10\x88\x06\x12\n\n\x05INT64\x10\x89\x02\x12\x0b\n\x06UINT64\x10\x8a\x06\x12\x0c\n\x07\x46LOAT32\x10\x8b\x08\x12\x0c\n\x07\x46LOAT64\x10\x8c\x08\x12\x0e\n\tTIMESTAMP\x10\x8d\x10\x12\t\n\x04\x44\x41TE\x10\x8e\x10\x12\t\n\x04TIME\x10\x8f\x10\x12\r\n\x08\x44\x41TETIME\x10\x90\x10\x12\t\n\x04YEAR\x10\x91\x06\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x12\x12\t\n\x04TEXT\x10\x93\x30\x12\t\n\x04\x42LOB\x10\x94P\x12\x0c\n\x07VARCHAR\x10\x95\x30\x12\x0e\n\tVARBINARY\x10\x96P\x12\t\n\x04\x43HAR\x10\x97\x30\x12\x0b\n\x06\x42INARY\x10\x98P\x12\x08\n\x03\x42IT\x10\x99\x10\x12\t\n\x04\x45NUM\x10\x9a\x10\x12\x08\n\x03SET\x10\x9b\x10\x12\t\n\x05TUPLE\x10\x1c\x12\r\n\x08GEOMETRY\x10\x9d\x10\x12\t\n\x04JSON\x10\x9e\x10\x12\x0e\n\nEXPRESSION\x10\x1f*F\n\x10TransactionState\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PREPARE\x10\x01\x12\n\n\x06\x43OMMIT\x10\x02\x12\x0c\n\x08ROLLBACK\x10\x03\x42\x35\n\x0fio.vitess.protoZ\"vitess.io/vitess/go/vt/proto/queryb\x06proto3') + serialized_pb=_b('\n\x0bquery.proto\x12\x05query\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"b\n\x06Target\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\r\n\x05shard\x18\x02 \x01(\t\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x0c\n\x04\x63\x65ll\x18\x04 \x01(\t\"2\n\x0eVTGateCallerID\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0e\n\x06groups\x18\x02 \x03(\t\"@\n\nEventToken\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\r\n\x05shard\x18\x02 \x01(\t\x12\x10\n\x08position\x18\x03 \x01(\t\"1\n\x05Value\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\"V\n\x0c\x42indVariable\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x1c\n\x06values\x18\x03 \x03(\x0b\x32\x0c.query.Value\"\xa2\x01\n\nBoundQuery\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12<\n\x0e\x62ind_variables\x18\x02 \x03(\x0b\x32$.query.BoundQuery.BindVariablesEntry\x1aI\n\x12\x42indVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.query.BindVariable:\x02\x38\x01\"\x94\x05\n\x0e\x45xecuteOptions\x12\x1b\n\x13include_event_token\x18\x02 \x01(\x08\x12.\n\x13\x63ompare_event_token\x18\x03 \x01(\x0b\x32\x11.query.EventToken\x12=\n\x0fincluded_fields\x18\x04 \x01(\x0e\x32$.query.ExecuteOptions.IncludedFields\x12\x19\n\x11\x63lient_found_rows\x18\x05 \x01(\x08\x12\x30\n\x08workload\x18\x06 \x01(\x0e\x32\x1e.query.ExecuteOptions.Workload\x12\x18\n\x10sql_select_limit\x18\x08 \x01(\x03\x12I\n\x15transaction_isolation\x18\t \x01(\x0e\x32*.query.ExecuteOptions.TransactionIsolation\x12\x1d\n\x15skip_query_plan_cache\x18\n \x01(\x08\";\n\x0eIncludedFields\x12\x11\n\rTYPE_AND_NAME\x10\x00\x12\r\n\tTYPE_ONLY\x10\x01\x12\x07\n\x03\x41LL\x10\x02\"8\n\x08Workload\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04OLTP\x10\x01\x12\x08\n\x04OLAP\x10\x02\x12\x07\n\x03\x44\x42\x41\x10\x03\"\xa7\x01\n\x14TransactionIsolation\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x13\n\x0fREPEATABLE_READ\x10\x01\x12\x12\n\x0eREAD_COMMITTED\x10\x02\x12\x14\n\x10READ_UNCOMMITTED\x10\x03\x12\x10\n\x0cSERIALIZABLE\x10\x04\x12!\n\x1d\x43ONSISTENT_SNAPSHOT_READ_ONLY\x10\x05\x12\x0e\n\nAUTOCOMMIT\x10\x06J\x04\x08\x01\x10\x02\"\xbf\x01\n\x05\x46ield\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x04type\x18\x02 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05table\x18\x03 \x01(\t\x12\x11\n\torg_table\x18\x04 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x05 \x01(\t\x12\x10\n\x08org_name\x18\x06 \x01(\t\x12\x15\n\rcolumn_length\x18\x07 \x01(\r\x12\x0f\n\x07\x63harset\x18\x08 \x01(\r\x12\x10\n\x08\x64\x65\x63imals\x18\t \x01(\r\x12\r\n\x05\x66lags\x18\n \x01(\r\"&\n\x03Row\x12\x0f\n\x07lengths\x18\x01 \x03(\x12\x12\x0e\n\x06values\x18\x02 \x01(\x0c\"G\n\x0cResultExtras\x12&\n\x0b\x65vent_token\x18\x01 \x01(\x0b\x32\x11.query.EventToken\x12\x0f\n\x07\x66resher\x18\x02 \x01(\x08\"\x94\x01\n\x0bQueryResult\x12\x1c\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x0c.query.Field\x12\x15\n\rrows_affected\x18\x02 \x01(\x04\x12\x11\n\tinsert_id\x18\x03 \x01(\x04\x12\x18\n\x04rows\x18\x04 \x03(\x0b\x32\n.query.Row\x12#\n\x06\x65xtras\x18\x05 \x01(\x0b\x32\x13.query.ResultExtras\"-\n\x0cQueryWarning\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xca\x02\n\x0bStreamEvent\x12\x30\n\nstatements\x18\x01 \x03(\x0b\x32\x1c.query.StreamEvent.Statement\x12&\n\x0b\x65vent_token\x18\x02 \x01(\x0b\x32\x11.query.EventToken\x1a\xe0\x01\n\tStatement\x12\x37\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32%.query.StreamEvent.Statement.Category\x12\x12\n\ntable_name\x18\x02 \x01(\t\x12(\n\x12primary_key_fields\x18\x03 \x03(\x0b\x32\x0c.query.Field\x12&\n\x12primary_key_values\x18\x04 \x03(\x0b\x32\n.query.Row\x12\x0b\n\x03sql\x18\x05 \x01(\x0c\"\'\n\x08\x43\x61tegory\x12\t\n\x05\x45rror\x10\x00\x12\x07\n\x03\x44ML\x10\x01\x12\x07\n\x03\x44\x44L\x10\x02\"\xf3\x01\n\x0e\x45xecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0etransaction_id\x18\x05 \x01(\x03\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"5\n\x0f\x45xecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"U\n\x0fResultWithError\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\"\x92\x02\n\x13\x45xecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\";\n\x14\x45xecuteBatchResponse\x12#\n\x07results\x18\x01 \x03(\x0b\x32\x12.query.QueryResult\"\xf9\x01\n\x14StreamExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xb7\x01\n\x0c\x42\x65ginRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12&\n\x07options\x18\x04 \x01(\x0b\x32\x15.query.ExecuteOptions\"\'\n\rBeginResponse\x12\x16\n\x0etransaction_id\x18\x01 \x01(\x03\"\xa8\x01\n\rCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x10\n\x0e\x43ommitResponse\"\xaa\x01\n\x0fRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\"\x12\n\x10RollbackResponse\"\xb7\x01\n\x0ePrepareRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x11\n\x0fPrepareResponse\"\xa6\x01\n\x15\x43ommitPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x18\n\x16\x43ommitPreparedResponse\"\xc0\x01\n\x17RollbackPreparedRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x1a\n\x18RollbackPreparedResponse\"\xce\x01\n\x18\x43reateTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\x12#\n\x0cparticipants\x18\x05 \x03(\x0b\x32\r.query.Target\"\x1b\n\x19\x43reateTransactionResponse\"\xbb\x01\n\x12StartCommitRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13StartCommitResponse\"\xbb\x01\n\x12SetRollbackRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x04 \x01(\x03\x12\x0c\n\x04\x64tid\x18\x05 \x01(\t\"\x15\n\x13SetRollbackResponse\"\xab\x01\n\x1a\x43oncludeTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"\x1d\n\x1b\x43oncludeTransactionResponse\"\xa7\x01\n\x16ReadTransactionRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04\x64tid\x18\x04 \x01(\t\"G\n\x17ReadTransactionResponse\x12,\n\x08metadata\x18\x01 \x01(\x0b\x32\x1a.query.TransactionMetadata\"\xe0\x01\n\x13\x42\x65ginExecuteRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\"r\n\x14\x42\x65ginExecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12\"\n\x06result\x18\x02 \x01(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xff\x01\n\x18\x42\x65ginExecuteBatchRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\"\n\x07queries\x18\x04 \x03(\x0b\x32\x11.query.BoundQuery\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"x\n\x19\x42\x65ginExecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12#\n\x07results\x18\x02 \x03(\x0b\x32\x12.query.QueryResult\x12\x16\n\x0etransaction_id\x18\x03 \x01(\x03\"\xa5\x01\n\x14MessageStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\";\n\x15MessageStreamResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xbd\x01\n\x11MessageAckRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x03ids\x18\x05 \x03(\x0b\x32\x0c.query.Value\"8\n\x12MessageAckResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe7\x02\n\x11SplitQueryRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12 \n\x05query\x18\x04 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x05 \x03(\t\x12\x13\n\x0bsplit_count\x18\x06 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x08 \x01(\x03\x12\x35\n\talgorithm\x18\t \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\",\n\tAlgorithm\x12\x10\n\x0c\x45QUAL_SPLITS\x10\x00\x12\r\n\tFULL_SCAN\x10\x01\"A\n\nQuerySplit\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x11\n\trow_count\x18\x02 \x01(\x03\"8\n\x12SplitQueryResponse\x12\"\n\x07queries\x18\x01 \x03(\x0b\x32\x11.query.QuerySplit\"\x15\n\x13StreamHealthRequest\"\xb6\x01\n\rRealtimeStats\x12\x14\n\x0chealth_error\x18\x01 \x01(\t\x12\x1d\n\x15seconds_behind_master\x18\x02 \x01(\r\x12\x1c\n\x14\x62inlog_players_count\x18\x03 \x01(\x05\x12\x32\n*seconds_behind_master_filtered_replication\x18\x04 \x01(\x03\x12\x11\n\tcpu_usage\x18\x05 \x01(\x01\x12\x0b\n\x03qps\x18\x06 \x01(\x01\"\x94\x01\n\x0e\x41ggregateStats\x12\x1c\n\x14healthy_tablet_count\x18\x01 \x01(\x05\x12\x1e\n\x16unhealthy_tablet_count\x18\x02 \x01(\x05\x12!\n\x19seconds_behind_master_min\x18\x03 \x01(\r\x12!\n\x19seconds_behind_master_max\x18\x04 \x01(\r\"\xd7\x01\n\x14StreamHealthResponse\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x0f\n\x07serving\x18\x02 \x01(\x08\x12.\n&tablet_externally_reparented_timestamp\x18\x03 \x01(\x03\x12,\n\x0erealtime_stats\x18\x04 \x01(\x0b\x32\x14.query.RealtimeStats\x12+\n\x0ctablet_alias\x18\x05 \x01(\x0b\x32\x15.topodata.TabletAliasJ\x04\x08\x06\x10\x07\"\xbb\x01\n\x13UpdateStreamRequest\x12,\n\x13\x65\x66\x66\x65\x63tive_caller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x32\n\x13immediate_caller_id\x18\x02 \x01(\x0b\x32\x15.query.VTGateCallerID\x12\x1d\n\x06target\x18\x03 \x01(\x0b\x32\r.query.Target\x12\x10\n\x08position\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\x03\"9\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\"\x86\x01\n\x13TransactionMetadata\x12\x0c\n\x04\x64tid\x18\x01 \x01(\t\x12&\n\x05state\x18\x02 \x01(\x0e\x32\x17.query.TransactionState\x12\x14\n\x0ctime_created\x18\x03 \x01(\x03\x12#\n\x0cparticipants\x18\x04 \x03(\x0b\x32\r.query.Target*\x92\x03\n\tMySqlFlag\x12\t\n\x05\x45MPTY\x10\x00\x12\x11\n\rNOT_NULL_FLAG\x10\x01\x12\x10\n\x0cPRI_KEY_FLAG\x10\x02\x12\x13\n\x0fUNIQUE_KEY_FLAG\x10\x04\x12\x15\n\x11MULTIPLE_KEY_FLAG\x10\x08\x12\r\n\tBLOB_FLAG\x10\x10\x12\x11\n\rUNSIGNED_FLAG\x10 \x12\x11\n\rZEROFILL_FLAG\x10@\x12\x10\n\x0b\x42INARY_FLAG\x10\x80\x01\x12\x0e\n\tENUM_FLAG\x10\x80\x02\x12\x18\n\x13\x41UTO_INCREMENT_FLAG\x10\x80\x04\x12\x13\n\x0eTIMESTAMP_FLAG\x10\x80\x08\x12\r\n\x08SET_FLAG\x10\x80\x10\x12\x1a\n\x15NO_DEFAULT_VALUE_FLAG\x10\x80 \x12\x17\n\x12ON_UPDATE_NOW_FLAG\x10\x80@\x12\x0e\n\x08NUM_FLAG\x10\x80\x80\x02\x12\x13\n\rPART_KEY_FLAG\x10\x80\x80\x01\x12\x10\n\nGROUP_FLAG\x10\x80\x80\x02\x12\x11\n\x0bUNIQUE_FLAG\x10\x80\x80\x04\x12\x11\n\x0b\x42INCMP_FLAG\x10\x80\x80\x08\x1a\x02\x10\x01*k\n\x04\x46lag\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\nISINTEGRAL\x10\x80\x02\x12\x0f\n\nISUNSIGNED\x10\x80\x04\x12\x0c\n\x07ISFLOAT\x10\x80\x08\x12\r\n\x08ISQUOTED\x10\x80\x10\x12\x0b\n\x06ISTEXT\x10\x80 \x12\r\n\x08ISBINARY\x10\x80@*\x99\x03\n\x04Type\x12\r\n\tNULL_TYPE\x10\x00\x12\t\n\x04INT8\x10\x81\x02\x12\n\n\x05UINT8\x10\x82\x06\x12\n\n\x05INT16\x10\x83\x02\x12\x0b\n\x06UINT16\x10\x84\x06\x12\n\n\x05INT24\x10\x85\x02\x12\x0b\n\x06UINT24\x10\x86\x06\x12\n\n\x05INT32\x10\x87\x02\x12\x0b\n\x06UINT32\x10\x88\x06\x12\n\n\x05INT64\x10\x89\x02\x12\x0b\n\x06UINT64\x10\x8a\x06\x12\x0c\n\x07\x46LOAT32\x10\x8b\x08\x12\x0c\n\x07\x46LOAT64\x10\x8c\x08\x12\x0e\n\tTIMESTAMP\x10\x8d\x10\x12\t\n\x04\x44\x41TE\x10\x8e\x10\x12\t\n\x04TIME\x10\x8f\x10\x12\r\n\x08\x44\x41TETIME\x10\x90\x10\x12\t\n\x04YEAR\x10\x91\x06\x12\x0b\n\x07\x44\x45\x43IMAL\x10\x12\x12\t\n\x04TEXT\x10\x93\x30\x12\t\n\x04\x42LOB\x10\x94P\x12\x0c\n\x07VARCHAR\x10\x95\x30\x12\x0e\n\tVARBINARY\x10\x96P\x12\t\n\x04\x43HAR\x10\x97\x30\x12\x0b\n\x06\x42INARY\x10\x98P\x12\x08\n\x03\x42IT\x10\x99\x10\x12\t\n\x04\x45NUM\x10\x9a\x10\x12\x08\n\x03SET\x10\x9b\x10\x12\t\n\x05TUPLE\x10\x1c\x12\r\n\x08GEOMETRY\x10\x9d\x10\x12\t\n\x04JSON\x10\x9e\x10\x12\x0e\n\nEXPRESSION\x10\x1f*F\n\x10TransactionState\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PREPARE\x10\x01\x12\n\n\x06\x43OMMIT\x10\x02\x12\x0c\n\x08ROLLBACK\x10\x03\x42\x35\n\x0fio.vitess.protoZ\"vitess.io/vitess/go/vt/proto/queryb\x06proto3') , dependencies=[topodata__pb2.DESCRIPTOR,vtrpc__pb2.DESCRIPTOR,]) @@ -115,8 +115,8 @@ ], containing_type=None, serialized_options=_b('\020\001'), - serialized_start=8152, - serialized_end=8554, + serialized_start=8110, + serialized_end=8512, ) _sym_db.RegisterEnumDescriptor(_MYSQLFLAG) @@ -158,8 +158,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=8556, - serialized_end=8663, + serialized_start=8514, + serialized_end=8621, ) _sym_db.RegisterEnumDescriptor(_FLAG) @@ -301,8 +301,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=8666, - serialized_end=9075, + serialized_start=8624, + serialized_end=9033, ) _sym_db.RegisterEnumDescriptor(_TYPE) @@ -332,8 +332,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=9077, - serialized_end=9147, + serialized_start=9035, + serialized_end=9105, ) _sym_db.RegisterEnumDescriptor(_TRANSACTIONSTATE) @@ -3227,14 +3227,7 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='aggregate_stats', full_name='query.StreamHealthResponse.aggregate_stats', index=4, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tablet_alias', full_name='query.StreamHealthResponse.tablet_alias', index=5, + name='tablet_alias', full_name='query.StreamHealthResponse.tablet_alias', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -3253,7 +3246,7 @@ oneofs=[ ], serialized_start=7506, - serialized_end=7763, + serialized_end=7721, ) @@ -3311,8 +3304,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7766, - serialized_end=7953, + serialized_start=7724, + serialized_end=7911, ) @@ -3342,8 +3335,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7955, - serialized_end=8012, + serialized_start=7913, + serialized_end=7970, ) @@ -3394,8 +3387,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8015, - serialized_end=8149, + serialized_start=7973, + serialized_end=8107, ) _TARGET.fields_by_name['tablet_type'].enum_type = topodata__pb2._TABLETTYPE @@ -3513,7 +3506,6 @@ _SPLITQUERYRESPONSE.fields_by_name['queries'].message_type = _QUERYSPLIT _STREAMHEALTHRESPONSE.fields_by_name['target'].message_type = _TARGET _STREAMHEALTHRESPONSE.fields_by_name['realtime_stats'].message_type = _REALTIMESTATS -_STREAMHEALTHRESPONSE.fields_by_name['aggregate_stats'].message_type = _AGGREGATESTATS _STREAMHEALTHRESPONSE.fields_by_name['tablet_alias'].message_type = topodata__pb2._TABLETALIAS _UPDATESTREAMREQUEST.fields_by_name['effective_caller_id'].message_type = vtrpc__pb2._CALLERID _UPDATESTREAMREQUEST.fields_by_name['immediate_caller_id'].message_type = _VTGATECALLERID diff --git a/py/vtproto/vtgate_pb2.py b/py/vtproto/vtgate_pb2.py index bb06a10dbc5..b438b2afd4f 100644 --- a/py/vtproto/vtgate_pb2.py +++ b/py/vtproto/vtgate_pb2.py @@ -24,7 +24,7 @@ package='vtgate', syntax='proto3', serialized_options=_b('\n\017io.vitess.protoZ#vitess.io/vitess/go/vt/proto/vtgate'), - serialized_pb=_b('\n\x0cvtgate.proto\x12\x06vtgate\x1a\x10\x62inlogdata.proto\x1a\x0bquery.proto\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"\xc7\x03\n\x07Session\x12\x16\n\x0ein_transaction\x18\x01 \x01(\x08\x12\x34\n\x0eshard_sessions\x18\x02 \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x11\n\tsingle_db\x18\x03 \x01(\x08\x12\x12\n\nautocommit\x18\x04 \x01(\x08\x12\x15\n\rtarget_string\x18\x05 \x01(\t\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\x12\x31\n\x10transaction_mode\x18\x07 \x01(\x0e\x32\x17.vtgate.TransactionMode\x12%\n\x08warnings\x18\x08 \x03(\x0b\x32\x13.query.QueryWarning\x12\x32\n\x0cpre_sessions\x18\t \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x33\n\rpost_sessions\x18\n \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x1a\x45\n\x0cShardSession\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x02 \x01(\x03\"\xff\x01\n\x0e\x45xecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"w\n\x0f\x45xecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x8f\x02\n\x14\x45xecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x0e\n\x06shards\x18\x05 \x03(\t\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"}\n\x15\x45xecuteShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x9a\x02\n\x19\x45xecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x05 \x03(\x0c\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x82\x01\n\x1a\x45xecuteKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xaa\x02\n\x17\x45xecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12&\n\nkey_ranges\x18\x05 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x80\x01\n\x18\x45xecuteKeyRangesResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xb0\x03\n\x17\x45xecuteEntityIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x1a\n\x12\x65ntity_column_name\x18\x05 \x01(\t\x12\x45\n\x13\x65ntity_keyspace_ids\x18\x06 \x03(\x0b\x32(.vtgate.ExecuteEntityIdsRequest.EntityId\x12)\n\x0btablet_type\x18\x07 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x08 \x01(\x08\x12&\n\x07options\x18\t \x01(\x0b\x32\x15.query.ExecuteOptions\x1aI\n\x08\x45ntityId\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x13\n\x0bkeyspace_id\x18\x03 \x01(\x0c\"\x80\x01\n\x18\x45xecuteEntityIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x82\x02\n\x13\x45xecuteBatchRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x07queries\x18\x03 \x03(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x81\x01\n\x14\x45xecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\'\n\x07results\x18\x03 \x03(\x0b\x32\x16.query.ResultWithError\"U\n\x0f\x42oundShardQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0e\n\x06shards\x18\x03 \x03(\t\"\xf6\x01\n\x19\x45xecuteBatchShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12(\n\x07queries\x18\x03 \x03(\x0b\x32\x17.vtgate.BoundShardQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x83\x01\n\x1a\x45xecuteBatchShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"`\n\x14\x42oundKeyspaceIdQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x03 \x03(\x0c\"\x80\x02\n\x1e\x45xecuteBatchKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12-\n\x07queries\x18\x03 \x03(\x0b\x32\x1c.vtgate.BoundKeyspaceIdQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x88\x01\n\x1f\x45xecuteBatchKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"\xe9\x01\n\x14StreamExecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0ekeyspace_shard\x18\x04 \x01(\t\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\x12 \n\x07session\x18\x06 \x01(\x0b\x32\x0f.vtgate.Session\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xd7\x01\n\x1aStreamExecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x0e\n\x06shards\x18\x04 \x03(\t\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"A\n\x1bStreamExecuteShardsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe2\x01\n\x1fStreamExecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x04 \x03(\x0c\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"F\n StreamExecuteKeyspaceIdsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xf2\x01\n\x1dStreamExecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12&\n\nkey_ranges\x18\x04 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"D\n\x1eStreamExecuteKeyRangesResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"E\n\x0c\x42\x65ginRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x11\n\tsingle_db\x18\x02 \x01(\x08\"1\n\rBeginResponse\x12 \n\x07session\x18\x01 \x01(\x0b\x32\x0f.vtgate.Session\"e\n\rCommitRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\x0e\n\x06\x61tomic\x18\x03 \x01(\x08\"\x10\n\x0e\x43ommitResponse\"W\n\x0fRollbackRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\"\x12\n\x10RollbackResponse\"M\n\x19ResolveTransactionRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x0c\n\x04\x64tid\x18\x02 \x01(\t\"\x90\x01\n\x14MessageStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12\x0c\n\x04name\x18\x05 \x01(\t\"r\n\x11MessageAckRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x19\n\x03ids\x18\x04 \x03(\x0b\x32\x0c.query.Value\"=\n\x0cIdKeyspaceId\x12\x18\n\x02id\x18\x01 \x01(\x0b\x32\x0c.query.Value\x12\x13\n\x0bkeyspace_id\x18\x02 \x01(\x0c\"\x91\x01\n\x1cMessageAckKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12-\n\x0fid_keyspace_ids\x18\x04 \x03(\x0b\x32\x14.vtgate.IdKeyspaceId\"\x1c\n\x1aResolveTransactionResponse\"\x8a\x02\n\x11SplitQueryRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x04 \x03(\t\x12\x13\n\x0bsplit_count\x18\x05 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x06 \x01(\x03\x12\x35\n\talgorithm\x18\x07 \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\x12\x1a\n\x12use_split_query_v2\x18\x08 \x01(\x08\"\xf2\x02\n\x12SplitQueryResponse\x12/\n\x06splits\x18\x01 \x03(\x0b\x32\x1f.vtgate.SplitQueryResponse.Part\x1aH\n\x0cKeyRangePart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12&\n\nkey_ranges\x18\x02 \x03(\x0b\x32\x12.topodata.KeyRange\x1a-\n\tShardPart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\x0e\n\x06shards\x18\x02 \x03(\t\x1a\xb1\x01\n\x04Part\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12?\n\x0ekey_range_part\x18\x02 \x01(\x0b\x32\'.vtgate.SplitQueryResponse.KeyRangePart\x12\x38\n\nshard_part\x18\x03 \x01(\x0b\x32$.vtgate.SplitQueryResponse.ShardPart\x12\x0c\n\x04size\x18\x04 \x01(\x03\")\n\x15GetSrvKeyspaceRequest\x12\x10\n\x08keyspace\x18\x01 \x01(\t\"E\n\x16GetSrvKeyspaceResponse\x12+\n\x0csrv_keyspace\x18\x01 \x01(\x0b\x32\x15.topodata.SrvKeyspace\"\xa5\x01\n\x0eVStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12)\n\x0btablet_type\x18\x02 \x01(\x0e\x32\x14.topodata.TabletType\x12 \n\x05vgtid\x18\x03 \x01(\x0b\x32\x11.binlogdata.VGtid\x12\"\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x12.binlogdata.Filter\"5\n\x0fVStreamResponse\x12\"\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x12.binlogdata.VEvent\"\xe1\x01\n\x13UpdateStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12\x11\n\ttimestamp\x18\x06 \x01(\x03\x12 \n\x05\x65vent\x18\x07 \x01(\x0b\x32\x11.query.EventToken\"S\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\x12\x18\n\x10resume_timestamp\x18\x02 \x01(\x03*D\n\x0fTransactionMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\t\n\x05MULTI\x10\x02\x12\t\n\x05TWOPC\x10\x03*<\n\x0b\x43ommitOrder\x12\n\n\x06NORMAL\x10\x00\x12\x07\n\x03PRE\x10\x01\x12\x08\n\x04POST\x10\x02\x12\x0e\n\nAUTOCOMMIT\x10\x03\x42\x36\n\x0fio.vitess.protoZ#vitess.io/vitess/go/vt/proto/vtgateb\x06proto3') + serialized_pb=_b('\n\x0cvtgate.proto\x12\x06vtgate\x1a\x10\x62inlogdata.proto\x1a\x0bquery.proto\x1a\x0etopodata.proto\x1a\x0bvtrpc.proto\"\xdf\x03\n\x07Session\x12\x16\n\x0ein_transaction\x18\x01 \x01(\x08\x12\x34\n\x0eshard_sessions\x18\x02 \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x11\n\tsingle_db\x18\x03 \x01(\x08\x12\x12\n\nautocommit\x18\x04 \x01(\x08\x12\x15\n\rtarget_string\x18\x05 \x01(\t\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\x12\x31\n\x10transaction_mode\x18\x07 \x01(\x0e\x32\x17.vtgate.TransactionMode\x12%\n\x08warnings\x18\x08 \x03(\x0b\x32\x13.query.QueryWarning\x12\x32\n\x0cpre_sessions\x18\t \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x33\n\rpost_sessions\x18\n \x03(\x0b\x32\x1c.vtgate.Session.ShardSession\x12\x16\n\x0elast_insert_id\x18\x0b \x01(\x04\x1a\x45\n\x0cShardSession\x12\x1d\n\x06target\x18\x01 \x01(\x0b\x32\r.query.Target\x12\x16\n\x0etransaction_id\x18\x02 \x01(\x03\"\xff\x01\n\x0e\x45xecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"w\n\x0f\x45xecuteResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x8f\x02\n\x14\x45xecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x0e\n\x06shards\x18\x05 \x03(\t\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"}\n\x15\x45xecuteShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x9a\x02\n\x19\x45xecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x05 \x03(\x0c\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x82\x01\n\x1a\x45xecuteKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xaa\x02\n\x17\x45xecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12&\n\nkey_ranges\x18\x05 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x06 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x07 \x01(\x08\x12&\n\x07options\x18\x08 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x80\x01\n\x18\x45xecuteKeyRangesResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\xb0\x03\n\x17\x45xecuteEntityIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x04 \x01(\t\x12\x1a\n\x12\x65ntity_column_name\x18\x05 \x01(\t\x12\x45\n\x13\x65ntity_keyspace_ids\x18\x06 \x03(\x0b\x32(.vtgate.ExecuteEntityIdsRequest.EntityId\x12)\n\x0btablet_type\x18\x07 \x01(\x0e\x32\x14.topodata.TabletType\x12\x1a\n\x12not_in_transaction\x18\x08 \x01(\x08\x12&\n\x07options\x18\t \x01(\x0b\x32\x15.query.ExecuteOptions\x1aI\n\x08\x45ntityId\x12\x19\n\x04type\x18\x01 \x01(\x0e\x32\x0b.query.Type\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x13\n\x0bkeyspace_id\x18\x03 \x01(\x0c\"\x80\x01\n\x18\x45xecuteEntityIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x06result\x18\x03 \x01(\x0b\x32\x12.query.QueryResult\"\x82\x02\n\x13\x45xecuteBatchRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\"\n\x07queries\x18\x03 \x03(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12\x16\n\x0ekeyspace_shard\x18\x06 \x01(\t\x12&\n\x07options\x18\x07 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x81\x01\n\x14\x45xecuteBatchResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\'\n\x07results\x18\x03 \x03(\x0b\x32\x16.query.ResultWithError\"U\n\x0f\x42oundShardQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0e\n\x06shards\x18\x03 \x03(\t\"\xf6\x01\n\x19\x45xecuteBatchShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12(\n\x07queries\x18\x03 \x03(\x0b\x32\x17.vtgate.BoundShardQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x83\x01\n\x1a\x45xecuteBatchShardsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"`\n\x14\x42oundKeyspaceIdQuery\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x03 \x03(\x0c\"\x80\x02\n\x1e\x45xecuteBatchKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12-\n\x07queries\x18\x03 \x03(\x0b\x32\x1c.vtgate.BoundKeyspaceIdQuery\x12)\n\x0btablet_type\x18\x04 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0e\x61s_transaction\x18\x05 \x01(\x08\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"\x88\x01\n\x1f\x45xecuteBatchKeyspaceIdsResponse\x12\x1e\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x0f.vtrpc.RPCError\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12#\n\x07results\x18\x03 \x03(\x0b\x32\x12.query.QueryResult\"\xe9\x01\n\x14StreamExecuteRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12)\n\x0btablet_type\x18\x03 \x01(\x0e\x32\x14.topodata.TabletType\x12\x16\n\x0ekeyspace_shard\x18\x04 \x01(\t\x12&\n\x07options\x18\x05 \x01(\x0b\x32\x15.query.ExecuteOptions\x12 \n\x07session\x18\x06 \x01(\x0b\x32\x0f.vtgate.Session\";\n\x15StreamExecuteResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xd7\x01\n\x1aStreamExecuteShardsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x0e\n\x06shards\x18\x04 \x03(\t\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"A\n\x1bStreamExecuteShardsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xe2\x01\n\x1fStreamExecuteKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12\x14\n\x0ckeyspace_ids\x18\x04 \x03(\x0c\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"F\n StreamExecuteKeyspaceIdsResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"\xf2\x01\n\x1dStreamExecuteKeyRangesRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x05query\x18\x02 \x01(\x0b\x32\x11.query.BoundQuery\x12\x10\n\x08keyspace\x18\x03 \x01(\t\x12&\n\nkey_ranges\x18\x04 \x03(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12&\n\x07options\x18\x06 \x01(\x0b\x32\x15.query.ExecuteOptions\"D\n\x1eStreamExecuteKeyRangesResponse\x12\"\n\x06result\x18\x01 \x01(\x0b\x32\x12.query.QueryResult\"E\n\x0c\x42\x65ginRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x11\n\tsingle_db\x18\x02 \x01(\x08\"1\n\rBeginResponse\x12 \n\x07session\x18\x01 \x01(\x0b\x32\x0f.vtgate.Session\"e\n\rCommitRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\x12\x0e\n\x06\x61tomic\x18\x03 \x01(\x08\"\x10\n\x0e\x43ommitResponse\"W\n\x0fRollbackRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12 \n\x07session\x18\x02 \x01(\x0b\x32\x0f.vtgate.Session\"\x12\n\x10RollbackResponse\"M\n\x19ResolveTransactionRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x0c\n\x04\x64tid\x18\x02 \x01(\t\"\x90\x01\n\x14MessageStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12\x0c\n\x04name\x18\x05 \x01(\t\"r\n\x11MessageAckRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x19\n\x03ids\x18\x04 \x03(\x0b\x32\x0c.query.Value\"=\n\x0cIdKeyspaceId\x12\x18\n\x02id\x18\x01 \x01(\x0b\x32\x0c.query.Value\x12\x13\n\x0bkeyspace_id\x18\x02 \x01(\x0c\"\x91\x01\n\x1cMessageAckKeyspaceIdsRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12-\n\x0fid_keyspace_ids\x18\x04 \x03(\x0b\x32\x14.vtgate.IdKeyspaceId\"\x1c\n\x1aResolveTransactionResponse\"\x8a\x02\n\x11SplitQueryRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12 \n\x05query\x18\x03 \x01(\x0b\x32\x11.query.BoundQuery\x12\x14\n\x0csplit_column\x18\x04 \x03(\t\x12\x13\n\x0bsplit_count\x18\x05 \x01(\x03\x12\x1f\n\x17num_rows_per_query_part\x18\x06 \x01(\x03\x12\x35\n\talgorithm\x18\x07 \x01(\x0e\x32\".query.SplitQueryRequest.Algorithm\x12\x1a\n\x12use_split_query_v2\x18\x08 \x01(\x08\"\xf2\x02\n\x12SplitQueryResponse\x12/\n\x06splits\x18\x01 \x03(\x0b\x32\x1f.vtgate.SplitQueryResponse.Part\x1aH\n\x0cKeyRangePart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12&\n\nkey_ranges\x18\x02 \x03(\x0b\x32\x12.topodata.KeyRange\x1a-\n\tShardPart\x12\x10\n\x08keyspace\x18\x01 \x01(\t\x12\x0e\n\x06shards\x18\x02 \x03(\t\x1a\xb1\x01\n\x04Part\x12 \n\x05query\x18\x01 \x01(\x0b\x32\x11.query.BoundQuery\x12?\n\x0ekey_range_part\x18\x02 \x01(\x0b\x32\'.vtgate.SplitQueryResponse.KeyRangePart\x12\x38\n\nshard_part\x18\x03 \x01(\x0b\x32$.vtgate.SplitQueryResponse.ShardPart\x12\x0c\n\x04size\x18\x04 \x01(\x03\")\n\x15GetSrvKeyspaceRequest\x12\x10\n\x08keyspace\x18\x01 \x01(\t\"E\n\x16GetSrvKeyspaceResponse\x12+\n\x0csrv_keyspace\x18\x01 \x01(\x0b\x32\x15.topodata.SrvKeyspace\"\xa5\x01\n\x0eVStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12)\n\x0btablet_type\x18\x02 \x01(\x0e\x32\x14.topodata.TabletType\x12 \n\x05vgtid\x18\x03 \x01(\x0b\x32\x11.binlogdata.VGtid\x12\"\n\x06\x66ilter\x18\x04 \x01(\x0b\x32\x12.binlogdata.Filter\"5\n\x0fVStreamResponse\x12\"\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x12.binlogdata.VEvent\"\xe1\x01\n\x13UpdateStreamRequest\x12\"\n\tcaller_id\x18\x01 \x01(\x0b\x32\x0f.vtrpc.CallerID\x12\x10\n\x08keyspace\x18\x02 \x01(\t\x12\r\n\x05shard\x18\x03 \x01(\t\x12%\n\tkey_range\x18\x04 \x01(\x0b\x32\x12.topodata.KeyRange\x12)\n\x0btablet_type\x18\x05 \x01(\x0e\x32\x14.topodata.TabletType\x12\x11\n\ttimestamp\x18\x06 \x01(\x03\x12 \n\x05\x65vent\x18\x07 \x01(\x0b\x32\x11.query.EventToken\"S\n\x14UpdateStreamResponse\x12!\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x12.query.StreamEvent\x12\x18\n\x10resume_timestamp\x18\x02 \x01(\x03*D\n\x0fTransactionMode\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06SINGLE\x10\x01\x12\t\n\x05MULTI\x10\x02\x12\t\n\x05TWOPC\x10\x03*<\n\x0b\x43ommitOrder\x12\n\n\x06NORMAL\x10\x00\x12\x07\n\x03PRE\x10\x01\x12\x08\n\x04POST\x10\x02\x12\x0e\n\nAUTOCOMMIT\x10\x03\x42\x36\n\x0fio.vitess.protoZ#vitess.io/vitess/go/vt/proto/vtgateb\x06proto3') , dependencies=[binlogdata__pb2.DESCRIPTOR,query__pb2.DESCRIPTOR,topodata__pb2.DESCRIPTOR,vtrpc__pb2.DESCRIPTOR,]) @@ -53,8 +53,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=7522, - serialized_end=7590, + serialized_start=7546, + serialized_end=7614, ) _sym_db.RegisterEnumDescriptor(_TRANSACTIONMODE) @@ -84,8 +84,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=7592, - serialized_end=7652, + serialized_start=7616, + serialized_end=7676, ) _sym_db.RegisterEnumDescriptor(_COMMITORDER) @@ -134,8 +134,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=471, - serialized_end=540, + serialized_start=495, + serialized_end=564, ) _SESSION = _descriptor.Descriptor( @@ -215,6 +215,13 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='last_insert_id', full_name='vtgate.Session.last_insert_id', index=10, + number=11, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -228,7 +235,7 @@ oneofs=[ ], serialized_start=85, - serialized_end=540, + serialized_end=564, ) @@ -300,8 +307,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=543, - serialized_end=798, + serialized_start=567, + serialized_end=822, ) @@ -345,8 +352,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=800, - serialized_end=919, + serialized_start=824, + serialized_end=943, ) @@ -425,8 +432,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=922, - serialized_end=1193, + serialized_start=946, + serialized_end=1217, ) @@ -470,8 +477,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1195, - serialized_end=1320, + serialized_start=1219, + serialized_end=1344, ) @@ -550,8 +557,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1323, - serialized_end=1605, + serialized_start=1347, + serialized_end=1629, ) @@ -595,8 +602,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1608, - serialized_end=1738, + serialized_start=1632, + serialized_end=1762, ) @@ -675,8 +682,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1741, - serialized_end=2039, + serialized_start=1765, + serialized_end=2063, ) @@ -720,8 +727,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2042, - serialized_end=2170, + serialized_start=2066, + serialized_end=2194, ) @@ -765,8 +772,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2532, - serialized_end=2605, + serialized_start=2556, + serialized_end=2629, ) _EXECUTEENTITYIDSREQUEST = _descriptor.Descriptor( @@ -851,8 +858,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2173, - serialized_end=2605, + serialized_start=2197, + serialized_end=2629, ) @@ -896,8 +903,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2608, - serialized_end=2736, + serialized_start=2632, + serialized_end=2760, ) @@ -969,8 +976,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2739, - serialized_end=2997, + serialized_start=2763, + serialized_end=3021, ) @@ -1014,8 +1021,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3000, - serialized_end=3129, + serialized_start=3024, + serialized_end=3153, ) @@ -1059,8 +1066,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3131, - serialized_end=3216, + serialized_start=3155, + serialized_end=3240, ) @@ -1125,8 +1132,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3219, - serialized_end=3465, + serialized_start=3243, + serialized_end=3489, ) @@ -1170,8 +1177,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3468, - serialized_end=3599, + serialized_start=3492, + serialized_end=3623, ) @@ -1215,8 +1222,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3601, - serialized_end=3697, + serialized_start=3625, + serialized_end=3721, ) @@ -1281,8 +1288,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3700, - serialized_end=3956, + serialized_start=3724, + serialized_end=3980, ) @@ -1326,8 +1333,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3959, - serialized_end=4095, + serialized_start=3983, + serialized_end=4119, ) @@ -1392,8 +1399,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4098, - serialized_end=4331, + serialized_start=4122, + serialized_end=4355, ) @@ -1423,8 +1430,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4333, - serialized_end=4392, + serialized_start=4357, + serialized_end=4416, ) @@ -1489,8 +1496,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4395, - serialized_end=4610, + serialized_start=4419, + serialized_end=4634, ) @@ -1520,8 +1527,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4612, - serialized_end=4677, + serialized_start=4636, + serialized_end=4701, ) @@ -1586,8 +1593,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4680, - serialized_end=4906, + serialized_start=4704, + serialized_end=4930, ) @@ -1617,8 +1624,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4908, - serialized_end=4978, + serialized_start=4932, + serialized_end=5002, ) @@ -1683,8 +1690,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4981, - serialized_end=5223, + serialized_start=5005, + serialized_end=5247, ) @@ -1714,8 +1721,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5225, - serialized_end=5293, + serialized_start=5249, + serialized_end=5317, ) @@ -1752,8 +1759,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5295, - serialized_end=5364, + serialized_start=5319, + serialized_end=5388, ) @@ -1783,8 +1790,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5366, - serialized_end=5415, + serialized_start=5390, + serialized_end=5439, ) @@ -1828,8 +1835,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5417, - serialized_end=5518, + serialized_start=5441, + serialized_end=5542, ) @@ -1852,8 +1859,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5520, - serialized_end=5536, + serialized_start=5544, + serialized_end=5560, ) @@ -1890,8 +1897,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5538, - serialized_end=5625, + serialized_start=5562, + serialized_end=5649, ) @@ -1914,8 +1921,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5627, - serialized_end=5645, + serialized_start=5651, + serialized_end=5669, ) @@ -1952,8 +1959,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5647, - serialized_end=5724, + serialized_start=5671, + serialized_end=5748, ) @@ -2011,8 +2018,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5727, - serialized_end=5871, + serialized_start=5751, + serialized_end=5895, ) @@ -2063,8 +2070,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5873, - serialized_end=5987, + serialized_start=5897, + serialized_end=6011, ) @@ -2101,8 +2108,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5989, - serialized_end=6050, + serialized_start=6013, + serialized_end=6074, ) @@ -2153,8 +2160,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6053, - serialized_end=6198, + serialized_start=6077, + serialized_end=6222, ) @@ -2177,8 +2184,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6200, - serialized_end=6228, + serialized_start=6224, + serialized_end=6252, ) @@ -2257,8 +2264,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6231, - serialized_end=6497, + serialized_start=6255, + serialized_end=6521, ) @@ -2295,8 +2302,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6571, - serialized_end=6643, + serialized_start=6595, + serialized_end=6667, ) _SPLITQUERYRESPONSE_SHARDPART = _descriptor.Descriptor( @@ -2332,8 +2339,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6645, - serialized_end=6690, + serialized_start=6669, + serialized_end=6714, ) _SPLITQUERYRESPONSE_PART = _descriptor.Descriptor( @@ -2383,8 +2390,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6693, - serialized_end=6870, + serialized_start=6717, + serialized_end=6894, ) _SPLITQUERYRESPONSE = _descriptor.Descriptor( @@ -2413,8 +2420,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6500, - serialized_end=6870, + serialized_start=6524, + serialized_end=6894, ) @@ -2444,8 +2451,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6872, - serialized_end=6913, + serialized_start=6896, + serialized_end=6937, ) @@ -2475,8 +2482,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6915, - serialized_end=6984, + serialized_start=6939, + serialized_end=7008, ) @@ -2527,8 +2534,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6987, - serialized_end=7152, + serialized_start=7011, + serialized_end=7176, ) @@ -2558,8 +2565,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7154, - serialized_end=7207, + serialized_start=7178, + serialized_end=7231, ) @@ -2631,8 +2638,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7210, - serialized_end=7435, + serialized_start=7234, + serialized_end=7459, ) @@ -2669,8 +2676,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7437, - serialized_end=7520, + serialized_start=7461, + serialized_end=7544, ) _SESSION_SHARDSESSION.fields_by_name['target'].message_type = query__pb2._TARGET