github.com/matrixorigin/matrixone@v1.2.0/pkg/pb/statsinfo/statsinfo.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: statsinfo.proto
     3  
     4  package statsinfo
     5  
     6  import (
     7  	encoding_binary "encoding/binary"
     8  	fmt "fmt"
     9  	io "io"
    10  	math "math"
    11  	math_bits "math/bits"
    12  
    13  	_ "github.com/gogo/protobuf/gogoproto"
    14  	proto "github.com/gogo/protobuf/proto"
    15  )
    16  
    17  // Reference imports to suppress errors if they are not otherwise used.
    18  var _ = proto.Marshal
    19  var _ = fmt.Errorf
    20  var _ = math.Inf
    21  
    22  // This is a compile-time assertion to ensure that this generated file
    23  // is compatible with the proto package it is being compiled against.
    24  // A compilation error at this line likely means your copy of the
    25  // proto package needs to be updated.
    26  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    27  
    28  type ShuffleHeap struct {
    29  	Left    *ShuffleHeap `protobuf:"bytes,1,opt,name=Left,proto3" json:"Left,omitempty"`
    30  	Right   *ShuffleHeap `protobuf:"bytes,2,opt,name=Right,proto3" json:"Right,omitempty"`
    31  	Key     float64      `protobuf:"fixed64,3,opt,name=Key,proto3" json:"Key,omitempty"`
    32  	Value   float64      `protobuf:"fixed64,4,opt,name=Value,proto3" json:"Value,omitempty"`
    33  	Height  int64        `protobuf:"varint,5,opt,name=Height,proto3" json:"Height,omitempty"`
    34  	Sz      int64        `protobuf:"varint,6,opt,name=Sz,proto3" json:"Sz,omitempty"`
    35  	Nulls   int64        `protobuf:"varint,7,opt,name=Nulls,proto3" json:"Nulls,omitempty"`
    36  	Reverse bool         `protobuf:"varint,8,opt,name=Reverse,proto3" json:"Reverse,omitempty"`
    37  }
    38  
    39  func (m *ShuffleHeap) Reset()         { *m = ShuffleHeap{} }
    40  func (m *ShuffleHeap) String() string { return proto.CompactTextString(m) }
    41  func (*ShuffleHeap) ProtoMessage()    {}
    42  func (*ShuffleHeap) Descriptor() ([]byte, []int) {
    43  	return fileDescriptor_a3f8e561c9795adb, []int{0}
    44  }
    45  func (m *ShuffleHeap) XXX_Unmarshal(b []byte) error {
    46  	return m.Unmarshal(b)
    47  }
    48  func (m *ShuffleHeap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    49  	if deterministic {
    50  		return xxx_messageInfo_ShuffleHeap.Marshal(b, m, deterministic)
    51  	} else {
    52  		b = b[:cap(b)]
    53  		n, err := m.MarshalToSizedBuffer(b)
    54  		if err != nil {
    55  			return nil, err
    56  		}
    57  		return b[:n], nil
    58  	}
    59  }
    60  func (m *ShuffleHeap) XXX_Merge(src proto.Message) {
    61  	xxx_messageInfo_ShuffleHeap.Merge(m, src)
    62  }
    63  func (m *ShuffleHeap) XXX_Size() int {
    64  	return m.Size()
    65  }
    66  func (m *ShuffleHeap) XXX_DiscardUnknown() {
    67  	xxx_messageInfo_ShuffleHeap.DiscardUnknown(m)
    68  }
    69  
    70  var xxx_messageInfo_ShuffleHeap proto.InternalMessageInfo
    71  
    72  func (m *ShuffleHeap) GetLeft() *ShuffleHeap {
    73  	if m != nil {
    74  		return m.Left
    75  	}
    76  	return nil
    77  }
    78  
    79  func (m *ShuffleHeap) GetRight() *ShuffleHeap {
    80  	if m != nil {
    81  		return m.Right
    82  	}
    83  	return nil
    84  }
    85  
    86  func (m *ShuffleHeap) GetKey() float64 {
    87  	if m != nil {
    88  		return m.Key
    89  	}
    90  	return 0
    91  }
    92  
    93  func (m *ShuffleHeap) GetValue() float64 {
    94  	if m != nil {
    95  		return m.Value
    96  	}
    97  	return 0
    98  }
    99  
   100  func (m *ShuffleHeap) GetHeight() int64 {
   101  	if m != nil {
   102  		return m.Height
   103  	}
   104  	return 0
   105  }
   106  
   107  func (m *ShuffleHeap) GetSz() int64 {
   108  	if m != nil {
   109  		return m.Sz
   110  	}
   111  	return 0
   112  }
   113  
   114  func (m *ShuffleHeap) GetNulls() int64 {
   115  	if m != nil {
   116  		return m.Nulls
   117  	}
   118  	return 0
   119  }
   120  
   121  func (m *ShuffleHeap) GetReverse() bool {
   122  	if m != nil {
   123  		return m.Reverse
   124  	}
   125  	return false
   126  }
   127  
   128  type ShuffleRange struct {
   129  	IsStrType bool         `protobuf:"varint,1,opt,name=IsStrType,proto3" json:"IsStrType,omitempty"`
   130  	Sz        int64        `protobuf:"varint,2,opt,name=Sz,proto3" json:"Sz,omitempty"`
   131  	Tree      *ShuffleHeap `protobuf:"bytes,3,opt,name=Tree,proto3" json:"Tree,omitempty"`
   132  	Min       float64      `protobuf:"fixed64,4,opt,name=Min,proto3" json:"Min,omitempty"`
   133  	Max       float64      `protobuf:"fixed64,5,opt,name=Max,proto3" json:"Max,omitempty"`
   134  	Mins      [][]byte     `protobuf:"bytes,6,rep,name=Mins,proto3" json:"Mins,omitempty"`
   135  	Maxs      [][]byte     `protobuf:"bytes,7,rep,name=Maxs,proto3" json:"Maxs,omitempty"`
   136  	Rows      []int64      `protobuf:"varint,8,rep,packed,name=Rows,proto3" json:"Rows,omitempty"`
   137  	Nulls     []int64      `protobuf:"varint,9,rep,packed,name=Nulls,proto3" json:"Nulls,omitempty"`
   138  	MaxLen    int64        `protobuf:"varint,10,opt,name=MaxLen,proto3" json:"MaxLen,omitempty"`
   139  	Flags     []bool       `protobuf:"varint,11,rep,packed,name=Flags,proto3" json:"Flags,omitempty"`
   140  	Overlap   float64      `protobuf:"fixed64,12,opt,name=Overlap,proto3" json:"Overlap,omitempty"`
   141  	Uniform   float64      `protobuf:"fixed64,13,opt,name=Uniform,proto3" json:"Uniform,omitempty"`
   142  	Result    []float64    `protobuf:"fixed64,14,rep,packed,name=Result,proto3" json:"Result,omitempty"`
   143  }
   144  
   145  func (m *ShuffleRange) Reset()         { *m = ShuffleRange{} }
   146  func (m *ShuffleRange) String() string { return proto.CompactTextString(m) }
   147  func (*ShuffleRange) ProtoMessage()    {}
   148  func (*ShuffleRange) Descriptor() ([]byte, []int) {
   149  	return fileDescriptor_a3f8e561c9795adb, []int{1}
   150  }
   151  func (m *ShuffleRange) XXX_Unmarshal(b []byte) error {
   152  	return m.Unmarshal(b)
   153  }
   154  func (m *ShuffleRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   155  	if deterministic {
   156  		return xxx_messageInfo_ShuffleRange.Marshal(b, m, deterministic)
   157  	} else {
   158  		b = b[:cap(b)]
   159  		n, err := m.MarshalToSizedBuffer(b)
   160  		if err != nil {
   161  			return nil, err
   162  		}
   163  		return b[:n], nil
   164  	}
   165  }
   166  func (m *ShuffleRange) XXX_Merge(src proto.Message) {
   167  	xxx_messageInfo_ShuffleRange.Merge(m, src)
   168  }
   169  func (m *ShuffleRange) XXX_Size() int {
   170  	return m.Size()
   171  }
   172  func (m *ShuffleRange) XXX_DiscardUnknown() {
   173  	xxx_messageInfo_ShuffleRange.DiscardUnknown(m)
   174  }
   175  
   176  var xxx_messageInfo_ShuffleRange proto.InternalMessageInfo
   177  
   178  func (m *ShuffleRange) GetIsStrType() bool {
   179  	if m != nil {
   180  		return m.IsStrType
   181  	}
   182  	return false
   183  }
   184  
   185  func (m *ShuffleRange) GetSz() int64 {
   186  	if m != nil {
   187  		return m.Sz
   188  	}
   189  	return 0
   190  }
   191  
   192  func (m *ShuffleRange) GetTree() *ShuffleHeap {
   193  	if m != nil {
   194  		return m.Tree
   195  	}
   196  	return nil
   197  }
   198  
   199  func (m *ShuffleRange) GetMin() float64 {
   200  	if m != nil {
   201  		return m.Min
   202  	}
   203  	return 0
   204  }
   205  
   206  func (m *ShuffleRange) GetMax() float64 {
   207  	if m != nil {
   208  		return m.Max
   209  	}
   210  	return 0
   211  }
   212  
   213  func (m *ShuffleRange) GetMins() [][]byte {
   214  	if m != nil {
   215  		return m.Mins
   216  	}
   217  	return nil
   218  }
   219  
   220  func (m *ShuffleRange) GetMaxs() [][]byte {
   221  	if m != nil {
   222  		return m.Maxs
   223  	}
   224  	return nil
   225  }
   226  
   227  func (m *ShuffleRange) GetRows() []int64 {
   228  	if m != nil {
   229  		return m.Rows
   230  	}
   231  	return nil
   232  }
   233  
   234  func (m *ShuffleRange) GetNulls() []int64 {
   235  	if m != nil {
   236  		return m.Nulls
   237  	}
   238  	return nil
   239  }
   240  
   241  func (m *ShuffleRange) GetMaxLen() int64 {
   242  	if m != nil {
   243  		return m.MaxLen
   244  	}
   245  	return 0
   246  }
   247  
   248  func (m *ShuffleRange) GetFlags() []bool {
   249  	if m != nil {
   250  		return m.Flags
   251  	}
   252  	return nil
   253  }
   254  
   255  func (m *ShuffleRange) GetOverlap() float64 {
   256  	if m != nil {
   257  		return m.Overlap
   258  	}
   259  	return 0
   260  }
   261  
   262  func (m *ShuffleRange) GetUniform() float64 {
   263  	if m != nil {
   264  		return m.Uniform
   265  	}
   266  	return 0
   267  }
   268  
   269  func (m *ShuffleRange) GetResult() []float64 {
   270  	if m != nil {
   271  		return m.Result
   272  	}
   273  	return nil
   274  }
   275  
   276  type StatsInfo struct {
   277  	NdvMap               map[string]float64       `protobuf:"bytes,1,rep,name=NdvMap,proto3" json:"NdvMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
   278  	MinValMap            map[string]float64       `protobuf:"bytes,2,rep,name=MinValMap,proto3" json:"MinValMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
   279  	MaxValMap            map[string]float64       `protobuf:"bytes,3,rep,name=MaxValMap,proto3" json:"MaxValMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
   280  	DataTypeMap          map[string]uint64        `protobuf:"bytes,4,rep,name=DataTypeMap,proto3" json:"DataTypeMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   281  	NullCntMap           map[string]uint64        `protobuf:"bytes,5,rep,name=NullCntMap,proto3" json:"NullCntMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   282  	SizeMap              map[string]uint64        `protobuf:"bytes,6,rep,name=SizeMap,proto3" json:"SizeMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   283  	ShuffleRangeMap      map[string]*ShuffleRange `protobuf:"bytes,7,rep,name=ShuffleRangeMap,proto3" json:"ShuffleRangeMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   284  	BlockNumber          int64                    `protobuf:"varint,8,opt,name=BlockNumber,proto3" json:"BlockNumber,omitempty"`
   285  	AccurateObjectNumber int64                    `protobuf:"varint,9,opt,name=AccurateObjectNumber,proto3" json:"AccurateObjectNumber,omitempty"`
   286  	ApproxObjectNumber   int64                    `protobuf:"varint,10,opt,name=ApproxObjectNumber,proto3" json:"ApproxObjectNumber,omitempty"`
   287  	TableCnt             float64                  `protobuf:"fixed64,11,opt,name=TableCnt,proto3" json:"TableCnt,omitempty"`
   288  	TableName            string                   `protobuf:"bytes,12,opt,name=TableName,proto3" json:"TableName,omitempty"`
   289  }
   290  
   291  func (m *StatsInfo) Reset()         { *m = StatsInfo{} }
   292  func (m *StatsInfo) String() string { return proto.CompactTextString(m) }
   293  func (*StatsInfo) ProtoMessage()    {}
   294  func (*StatsInfo) Descriptor() ([]byte, []int) {
   295  	return fileDescriptor_a3f8e561c9795adb, []int{2}
   296  }
   297  func (m *StatsInfo) XXX_Unmarshal(b []byte) error {
   298  	return m.Unmarshal(b)
   299  }
   300  func (m *StatsInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   301  	if deterministic {
   302  		return xxx_messageInfo_StatsInfo.Marshal(b, m, deterministic)
   303  	} else {
   304  		b = b[:cap(b)]
   305  		n, err := m.MarshalToSizedBuffer(b)
   306  		if err != nil {
   307  			return nil, err
   308  		}
   309  		return b[:n], nil
   310  	}
   311  }
   312  func (m *StatsInfo) XXX_Merge(src proto.Message) {
   313  	xxx_messageInfo_StatsInfo.Merge(m, src)
   314  }
   315  func (m *StatsInfo) XXX_Size() int {
   316  	return m.Size()
   317  }
   318  func (m *StatsInfo) XXX_DiscardUnknown() {
   319  	xxx_messageInfo_StatsInfo.DiscardUnknown(m)
   320  }
   321  
   322  var xxx_messageInfo_StatsInfo proto.InternalMessageInfo
   323  
   324  func (m *StatsInfo) GetNdvMap() map[string]float64 {
   325  	if m != nil {
   326  		return m.NdvMap
   327  	}
   328  	return nil
   329  }
   330  
   331  func (m *StatsInfo) GetMinValMap() map[string]float64 {
   332  	if m != nil {
   333  		return m.MinValMap
   334  	}
   335  	return nil
   336  }
   337  
   338  func (m *StatsInfo) GetMaxValMap() map[string]float64 {
   339  	if m != nil {
   340  		return m.MaxValMap
   341  	}
   342  	return nil
   343  }
   344  
   345  func (m *StatsInfo) GetDataTypeMap() map[string]uint64 {
   346  	if m != nil {
   347  		return m.DataTypeMap
   348  	}
   349  	return nil
   350  }
   351  
   352  func (m *StatsInfo) GetNullCntMap() map[string]uint64 {
   353  	if m != nil {
   354  		return m.NullCntMap
   355  	}
   356  	return nil
   357  }
   358  
   359  func (m *StatsInfo) GetSizeMap() map[string]uint64 {
   360  	if m != nil {
   361  		return m.SizeMap
   362  	}
   363  	return nil
   364  }
   365  
   366  func (m *StatsInfo) GetShuffleRangeMap() map[string]*ShuffleRange {
   367  	if m != nil {
   368  		return m.ShuffleRangeMap
   369  	}
   370  	return nil
   371  }
   372  
   373  func (m *StatsInfo) GetBlockNumber() int64 {
   374  	if m != nil {
   375  		return m.BlockNumber
   376  	}
   377  	return 0
   378  }
   379  
   380  func (m *StatsInfo) GetAccurateObjectNumber() int64 {
   381  	if m != nil {
   382  		return m.AccurateObjectNumber
   383  	}
   384  	return 0
   385  }
   386  
   387  func (m *StatsInfo) GetApproxObjectNumber() int64 {
   388  	if m != nil {
   389  		return m.ApproxObjectNumber
   390  	}
   391  	return 0
   392  }
   393  
   394  func (m *StatsInfo) GetTableCnt() float64 {
   395  	if m != nil {
   396  		return m.TableCnt
   397  	}
   398  	return 0
   399  }
   400  
   401  func (m *StatsInfo) GetTableName() string {
   402  	if m != nil {
   403  		return m.TableName
   404  	}
   405  	return ""
   406  }
   407  
   408  type StatsInfoKey struct {
   409  	DatabaseID uint64 `protobuf:"varint,1,opt,name=DatabaseID,proto3" json:"DatabaseID,omitempty"`
   410  	TableID    uint64 `protobuf:"varint,2,opt,name=TableID,proto3" json:"TableID,omitempty"`
   411  }
   412  
   413  func (m *StatsInfoKey) Reset()         { *m = StatsInfoKey{} }
   414  func (m *StatsInfoKey) String() string { return proto.CompactTextString(m) }
   415  func (*StatsInfoKey) ProtoMessage()    {}
   416  func (*StatsInfoKey) Descriptor() ([]byte, []int) {
   417  	return fileDescriptor_a3f8e561c9795adb, []int{3}
   418  }
   419  func (m *StatsInfoKey) XXX_Unmarshal(b []byte) error {
   420  	return m.Unmarshal(b)
   421  }
   422  func (m *StatsInfoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   423  	if deterministic {
   424  		return xxx_messageInfo_StatsInfoKey.Marshal(b, m, deterministic)
   425  	} else {
   426  		b = b[:cap(b)]
   427  		n, err := m.MarshalToSizedBuffer(b)
   428  		if err != nil {
   429  			return nil, err
   430  		}
   431  		return b[:n], nil
   432  	}
   433  }
   434  func (m *StatsInfoKey) XXX_Merge(src proto.Message) {
   435  	xxx_messageInfo_StatsInfoKey.Merge(m, src)
   436  }
   437  func (m *StatsInfoKey) XXX_Size() int {
   438  	return m.Size()
   439  }
   440  func (m *StatsInfoKey) XXX_DiscardUnknown() {
   441  	xxx_messageInfo_StatsInfoKey.DiscardUnknown(m)
   442  }
   443  
   444  var xxx_messageInfo_StatsInfoKey proto.InternalMessageInfo
   445  
   446  func (m *StatsInfoKey) GetDatabaseID() uint64 {
   447  	if m != nil {
   448  		return m.DatabaseID
   449  	}
   450  	return 0
   451  }
   452  
   453  func (m *StatsInfoKey) GetTableID() uint64 {
   454  	if m != nil {
   455  		return m.TableID
   456  	}
   457  	return 0
   458  }
   459  
   460  type StatsInfoKeys struct {
   461  	Keys []StatsInfoKey `protobuf:"bytes,1,rep,name=Keys,proto3" json:"Keys"`
   462  }
   463  
   464  func (m *StatsInfoKeys) Reset()         { *m = StatsInfoKeys{} }
   465  func (m *StatsInfoKeys) String() string { return proto.CompactTextString(m) }
   466  func (*StatsInfoKeys) ProtoMessage()    {}
   467  func (*StatsInfoKeys) Descriptor() ([]byte, []int) {
   468  	return fileDescriptor_a3f8e561c9795adb, []int{4}
   469  }
   470  func (m *StatsInfoKeys) XXX_Unmarshal(b []byte) error {
   471  	return m.Unmarshal(b)
   472  }
   473  func (m *StatsInfoKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   474  	if deterministic {
   475  		return xxx_messageInfo_StatsInfoKeys.Marshal(b, m, deterministic)
   476  	} else {
   477  		b = b[:cap(b)]
   478  		n, err := m.MarshalToSizedBuffer(b)
   479  		if err != nil {
   480  			return nil, err
   481  		}
   482  		return b[:n], nil
   483  	}
   484  }
   485  func (m *StatsInfoKeys) XXX_Merge(src proto.Message) {
   486  	xxx_messageInfo_StatsInfoKeys.Merge(m, src)
   487  }
   488  func (m *StatsInfoKeys) XXX_Size() int {
   489  	return m.Size()
   490  }
   491  func (m *StatsInfoKeys) XXX_DiscardUnknown() {
   492  	xxx_messageInfo_StatsInfoKeys.DiscardUnknown(m)
   493  }
   494  
   495  var xxx_messageInfo_StatsInfoKeys proto.InternalMessageInfo
   496  
   497  func (m *StatsInfoKeys) GetKeys() []StatsInfoKey {
   498  	if m != nil {
   499  		return m.Keys
   500  	}
   501  	return nil
   502  }
   503  
   504  func init() {
   505  	proto.RegisterType((*ShuffleHeap)(nil), "statsinfo.ShuffleHeap")
   506  	proto.RegisterType((*ShuffleRange)(nil), "statsinfo.ShuffleRange")
   507  	proto.RegisterType((*StatsInfo)(nil), "statsinfo.StatsInfo")
   508  	proto.RegisterMapType((map[string]uint64)(nil), "statsinfo.StatsInfo.DataTypeMapEntry")
   509  	proto.RegisterMapType((map[string]float64)(nil), "statsinfo.StatsInfo.MaxValMapEntry")
   510  	proto.RegisterMapType((map[string]float64)(nil), "statsinfo.StatsInfo.MinValMapEntry")
   511  	proto.RegisterMapType((map[string]float64)(nil), "statsinfo.StatsInfo.NdvMapEntry")
   512  	proto.RegisterMapType((map[string]uint64)(nil), "statsinfo.StatsInfo.NullCntMapEntry")
   513  	proto.RegisterMapType((map[string]*ShuffleRange)(nil), "statsinfo.StatsInfo.ShuffleRangeMapEntry")
   514  	proto.RegisterMapType((map[string]uint64)(nil), "statsinfo.StatsInfo.SizeMapEntry")
   515  	proto.RegisterType((*StatsInfoKey)(nil), "statsinfo.StatsInfoKey")
   516  	proto.RegisterType((*StatsInfoKeys)(nil), "statsinfo.StatsInfoKeys")
   517  }
   518  
   519  func init() { proto.RegisterFile("statsinfo.proto", fileDescriptor_a3f8e561c9795adb) }
   520  
   521  var fileDescriptor_a3f8e561c9795adb = []byte{
   522  	// 842 bytes of a gzipped FileDescriptorProto
   523  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xcf, 0x6f, 0xe3, 0x44,
   524  	0x18, 0xad, 0x63, 0x37, 0x8d, 0x3f, 0x67, 0xdb, 0xd5, 0xa8, 0xea, 0x8e, 0x2a, 0x14, 0x4c, 0x00,
   525  	0xc9, 0xac, 0xd8, 0x44, 0x84, 0xcb, 0xb2, 0xfc, 0x90, 0xda, 0x2d, 0xd0, 0x6a, 0x9b, 0xae, 0x34,
   526  	0x29, 0x7b, 0x80, 0xd3, 0x38, 0x4c, 0x5c, 0x53, 0xc7, 0xb6, 0xfc, 0xa3, 0x38, 0xfd, 0x2b, 0xf8,
   527  	0xb3, 0xf6, 0xb8, 0xc7, 0x3d, 0x21, 0xd4, 0x1e, 0xf8, 0x23, 0xb8, 0xa0, 0xf9, 0xc6, 0x4e, 0xdc,
   528  	0x62, 0x15, 0xe5, 0x94, 0x79, 0xdf, 0xbc, 0xf7, 0x66, 0xe6, 0xcb, 0x9b, 0x31, 0xec, 0xa4, 0x19,
   529  	0xcf, 0x52, 0x3f, 0x9c, 0x45, 0x83, 0x38, 0x89, 0xb2, 0x88, 0x98, 0xcb, 0xc2, 0xfe, 0x33, 0xcf,
   530  	0xcf, 0x2e, 0x72, 0x77, 0x30, 0x8d, 0xe6, 0x43, 0x2f, 0xf2, 0xa2, 0x21, 0x32, 0xdc, 0x7c, 0x86,
   531  	0x08, 0x01, 0x8e, 0x94, 0xb2, 0xff, 0xb7, 0x06, 0xd6, 0xe4, 0x22, 0x9f, 0xcd, 0x02, 0x71, 0x2c,
   532  	0x78, 0x4c, 0x9e, 0x82, 0x71, 0x2a, 0x66, 0x19, 0xd5, 0x6c, 0xcd, 0xb1, 0x46, 0x7b, 0x83, 0xd5,
   533  	0x4a, 0x35, 0x16, 0x43, 0x0e, 0xf9, 0x1c, 0x36, 0x99, 0xef, 0x5d, 0x64, 0xb4, 0xf5, 0x20, 0x59,
   534  	0x91, 0xc8, 0x63, 0xd0, 0x5f, 0x89, 0x05, 0xd5, 0x6d, 0xcd, 0xd1, 0x98, 0x1c, 0x92, 0x5d, 0xd8,
   535  	0x7c, 0xc3, 0x83, 0x5c, 0x50, 0x03, 0x6b, 0x0a, 0x90, 0x3d, 0x68, 0x1f, 0x0b, 0xb4, 0xdd, 0xb4,
   536  	0x35, 0x47, 0x67, 0x25, 0x22, 0xdb, 0xd0, 0x9a, 0x5c, 0xd3, 0x36, 0xd6, 0x5a, 0x93, 0x6b, 0xa9,
   537  	0x3e, 0xcb, 0x83, 0x20, 0xa5, 0x5b, 0x58, 0x52, 0x80, 0x50, 0xd8, 0x62, 0xe2, 0x4a, 0x24, 0xa9,
   538  	0xa0, 0x1d, 0x5b, 0x73, 0x3a, 0xac, 0x82, 0xfd, 0xf7, 0x2d, 0xe8, 0x96, 0xdb, 0x62, 0x3c, 0xf4,
   539  	0x04, 0xf9, 0x00, 0xcc, 0x93, 0x74, 0x92, 0x25, 0xe7, 0x8b, 0x58, 0xe0, 0x79, 0x3b, 0x6c, 0x55,
   540  	0x28, 0x97, 0x6b, 0x2d, 0x97, 0x7b, 0x0a, 0xc6, 0x79, 0x22, 0x04, 0xee, 0xff, 0x81, 0xc6, 0x48,
   541  	0x8e, 0x3c, 0xea, 0xd8, 0x0f, 0xcb, 0x63, 0xc9, 0x21, 0x56, 0x78, 0x81, 0x27, 0x92, 0x15, 0x5e,
   542  	0x10, 0x02, 0xc6, 0xd8, 0x0f, 0x53, 0xda, 0xb6, 0x75, 0xa7, 0xcb, 0x70, 0x8c, 0x35, 0x5e, 0xc8,
   543  	0x13, 0xa9, 0x1a, 0x2f, 0xb0, 0xc6, 0xa2, 0xdf, 0x53, 0xda, 0xb1, 0x75, 0x47, 0x67, 0x38, 0x5e,
   544  	0x1d, 0xdd, 0xc4, 0x62, 0x79, 0xf4, 0x3d, 0x68, 0x8f, 0x79, 0x71, 0x2a, 0x42, 0x0a, 0xaa, 0x71,
   545  	0x0a, 0x49, 0xf6, 0x0f, 0x01, 0xf7, 0x52, 0x6a, 0xd9, 0xba, 0xd3, 0x61, 0x0a, 0xc8, 0x46, 0xbd,
   546  	0xbe, 0x12, 0x49, 0xc0, 0x63, 0xda, 0xc5, 0x5d, 0x55, 0x50, 0xce, 0xfc, 0x14, 0xfa, 0xb3, 0x28,
   547  	0x99, 0xd3, 0x47, 0x6a, 0xa6, 0x84, 0x72, 0x05, 0x26, 0xd2, 0x3c, 0xc8, 0xe8, 0xb6, 0xad, 0x3b,
   548  	0x1a, 0x2b, 0x51, 0xff, 0x9f, 0x0e, 0x98, 0x13, 0xd9, 0x8f, 0x93, 0x70, 0x16, 0x91, 0xe7, 0xd0,
   549  	0x3e, 0xfb, 0xf5, 0x6a, 0xcc, 0x63, 0xaa, 0xd9, 0xba, 0x63, 0x8d, 0xec, 0x7a, 0xaf, 0x2a, 0xd6,
   550  	0x40, 0x51, 0xbe, 0x0f, 0xb3, 0x64, 0xc1, 0x4a, 0x3e, 0x39, 0x00, 0x73, 0xec, 0x87, 0x6f, 0x78,
   551  	0x20, 0xc5, 0x2d, 0x14, 0x7f, 0xdc, 0x28, 0x5e, 0xb2, 0x94, 0x7e, 0xa5, 0x42, 0x0b, 0x5e, 0x94,
   552  	0x16, 0xfa, 0x43, 0x16, 0x15, 0xab, 0xb2, 0xa8, 0x30, 0xf9, 0x11, 0xac, 0x23, 0x9e, 0x71, 0x99,
   553  	0x02, 0x69, 0x62, 0xa0, 0xc9, 0xa7, 0x8d, 0x26, 0x35, 0x9e, 0xb2, 0xa9, 0x2b, 0xc9, 0x11, 0x80,
   554  	0xfc, 0x67, 0x5e, 0x86, 0x99, 0xf4, 0xd9, 0x44, 0x9f, 0x4f, 0x9a, 0x9b, 0xb1, 0xa4, 0x29, 0x9b,
   555  	0x9a, 0x8e, 0x7c, 0x0d, 0x5b, 0x13, 0xff, 0x1a, 0xb7, 0xd2, 0x46, 0x8b, 0x8f, 0x1a, 0x2d, 0x4a,
   556  	0x8e, 0xd2, 0x57, 0x0a, 0x32, 0x81, 0x9d, 0x7a, 0xe6, 0xa5, 0xc9, 0x16, 0x9a, 0x7c, 0xd6, 0x6c,
   557  	0x72, 0x97, 0xab, 0xcc, 0xee, 0x3b, 0x10, 0x1b, 0xac, 0xc3, 0x20, 0x9a, 0x5e, 0x9e, 0xe5, 0x73,
   558  	0x57, 0x24, 0x78, 0xcf, 0x74, 0x56, 0x2f, 0x91, 0x11, 0xec, 0x1e, 0x4c, 0xa7, 0x79, 0xc2, 0x33,
   559  	0xf1, 0xda, 0xfd, 0x4d, 0x4c, 0xb3, 0x92, 0x6a, 0x22, 0xb5, 0x71, 0x8e, 0x0c, 0x80, 0x1c, 0xc4,
   560  	0x71, 0x12, 0x15, 0x77, 0x14, 0x2a, 0xca, 0x0d, 0x33, 0x64, 0x1f, 0x3a, 0xe7, 0xdc, 0x0d, 0xc4,
   561  	0xcb, 0x30, 0xa3, 0x16, 0xe6, 0x74, 0x89, 0xe5, 0xd5, 0xc6, 0xf1, 0x19, 0x9f, 0x0b, 0x8c, 0xb7,
   562  	0xc9, 0x56, 0x85, 0xfd, 0xaf, 0xc0, 0xaa, 0xa5, 0x4f, 0xde, 0xcd, 0x4b, 0xb1, 0xc0, 0x17, 0xc0,
   563  	0x64, 0x72, 0x28, 0x6f, 0xcc, 0x15, 0x3e, 0x4c, 0x2d, 0xf5, 0x30, 0x21, 0x78, 0xd1, 0x7a, 0xae,
   564  	0xed, 0x7f, 0x03, 0xdb, 0x77, 0xb3, 0xb7, 0xb6, 0xfa, 0x4e, 0xec, 0xd6, 0x52, 0x7f, 0x07, 0x8f,
   565  	0xef, 0xe7, 0xed, 0xff, 0xf4, 0x46, 0x5d, 0xff, 0x2d, 0xec, 0xdc, 0xcb, 0xd9, 0x5a, 0xf2, 0x17,
   566  	0xd0, 0xad, 0x67, 0x6c, 0x2d, 0xed, 0x2f, 0xb0, 0xdb, 0x14, 0xad, 0x06, 0x8f, 0x67, 0x75, 0x0f,
   567  	0x6b, 0xf4, 0xe4, 0xbf, 0xef, 0x2c, 0x3a, 0xd4, 0xcc, 0xfb, 0xc7, 0xd0, 0x5d, 0x26, 0x58, 0x7e,
   568  	0x56, 0x7a, 0x00, 0xb2, 0x4f, 0x2e, 0x4f, 0xc5, 0xc9, 0x11, 0x7a, 0x1b, 0xac, 0x56, 0x91, 0xef,
   569  	0x1b, 0x66, 0xe1, 0xe4, 0xa8, 0xdc, 0x68, 0x05, 0xfb, 0x87, 0xf0, 0xa8, 0xee, 0x94, 0x92, 0x2f,
   570  	0xc0, 0x90, 0xbf, 0xe5, 0x43, 0xf6, 0xa4, 0xe9, 0xce, 0xbc, 0x12, 0x8b, 0x43, 0xe3, 0xed, 0x9f,
   571  	0x1f, 0x6e, 0x30, 0xa4, 0x1e, 0x9e, 0xbe, 0xbd, 0xe9, 0x69, 0xef, 0x6e, 0x7a, 0xda, 0x5f, 0x37,
   572  	0x3d, 0xed, 0x8f, 0xdb, 0xde, 0xc6, 0xbb, 0xdb, 0xde, 0xc6, 0xfb, 0xdb, 0xde, 0xc6, 0xcf, 0xa3,
   573  	0xda, 0x97, 0x79, 0xce, 0xb3, 0xc4, 0x2f, 0xa2, 0xc4, 0xf7, 0xfc, 0xb0, 0x02, 0xa1, 0x18, 0xc6,
   574  	0x97, 0xde, 0x30, 0x76, 0x87, 0xcb, 0x65, 0xdc, 0x36, 0x7e, 0xa5, 0xbf, 0xfc, 0x37, 0x00, 0x00,
   575  	0xff, 0xff, 0x63, 0xd9, 0x3a, 0xfd, 0xf2, 0x07, 0x00, 0x00,
   576  }
   577  
   578  func (m *ShuffleHeap) Marshal() (dAtA []byte, err error) {
   579  	size := m.Size()
   580  	dAtA = make([]byte, size)
   581  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   582  	if err != nil {
   583  		return nil, err
   584  	}
   585  	return dAtA[:n], nil
   586  }
   587  
   588  func (m *ShuffleHeap) MarshalTo(dAtA []byte) (int, error) {
   589  	size := m.Size()
   590  	return m.MarshalToSizedBuffer(dAtA[:size])
   591  }
   592  
   593  func (m *ShuffleHeap) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   594  	i := len(dAtA)
   595  	_ = i
   596  	var l int
   597  	_ = l
   598  	if m.Reverse {
   599  		i--
   600  		if m.Reverse {
   601  			dAtA[i] = 1
   602  		} else {
   603  			dAtA[i] = 0
   604  		}
   605  		i--
   606  		dAtA[i] = 0x40
   607  	}
   608  	if m.Nulls != 0 {
   609  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.Nulls))
   610  		i--
   611  		dAtA[i] = 0x38
   612  	}
   613  	if m.Sz != 0 {
   614  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.Sz))
   615  		i--
   616  		dAtA[i] = 0x30
   617  	}
   618  	if m.Height != 0 {
   619  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.Height))
   620  		i--
   621  		dAtA[i] = 0x28
   622  	}
   623  	if m.Value != 0 {
   624  		i -= 8
   625  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value))))
   626  		i--
   627  		dAtA[i] = 0x21
   628  	}
   629  	if m.Key != 0 {
   630  		i -= 8
   631  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Key))))
   632  		i--
   633  		dAtA[i] = 0x19
   634  	}
   635  	if m.Right != nil {
   636  		{
   637  			size, err := m.Right.MarshalToSizedBuffer(dAtA[:i])
   638  			if err != nil {
   639  				return 0, err
   640  			}
   641  			i -= size
   642  			i = encodeVarintStatsinfo(dAtA, i, uint64(size))
   643  		}
   644  		i--
   645  		dAtA[i] = 0x12
   646  	}
   647  	if m.Left != nil {
   648  		{
   649  			size, err := m.Left.MarshalToSizedBuffer(dAtA[:i])
   650  			if err != nil {
   651  				return 0, err
   652  			}
   653  			i -= size
   654  			i = encodeVarintStatsinfo(dAtA, i, uint64(size))
   655  		}
   656  		i--
   657  		dAtA[i] = 0xa
   658  	}
   659  	return len(dAtA) - i, nil
   660  }
   661  
   662  func (m *ShuffleRange) Marshal() (dAtA []byte, err error) {
   663  	size := m.Size()
   664  	dAtA = make([]byte, size)
   665  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   666  	if err != nil {
   667  		return nil, err
   668  	}
   669  	return dAtA[:n], nil
   670  }
   671  
   672  func (m *ShuffleRange) MarshalTo(dAtA []byte) (int, error) {
   673  	size := m.Size()
   674  	return m.MarshalToSizedBuffer(dAtA[:size])
   675  }
   676  
   677  func (m *ShuffleRange) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   678  	i := len(dAtA)
   679  	_ = i
   680  	var l int
   681  	_ = l
   682  	if len(m.Result) > 0 {
   683  		for iNdEx := len(m.Result) - 1; iNdEx >= 0; iNdEx-- {
   684  			f3 := math.Float64bits(float64(m.Result[iNdEx]))
   685  			i -= 8
   686  			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f3))
   687  		}
   688  		i = encodeVarintStatsinfo(dAtA, i, uint64(len(m.Result)*8))
   689  		i--
   690  		dAtA[i] = 0x72
   691  	}
   692  	if m.Uniform != 0 {
   693  		i -= 8
   694  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Uniform))))
   695  		i--
   696  		dAtA[i] = 0x69
   697  	}
   698  	if m.Overlap != 0 {
   699  		i -= 8
   700  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Overlap))))
   701  		i--
   702  		dAtA[i] = 0x61
   703  	}
   704  	if len(m.Flags) > 0 {
   705  		for iNdEx := len(m.Flags) - 1; iNdEx >= 0; iNdEx-- {
   706  			i--
   707  			if m.Flags[iNdEx] {
   708  				dAtA[i] = 1
   709  			} else {
   710  				dAtA[i] = 0
   711  			}
   712  		}
   713  		i = encodeVarintStatsinfo(dAtA, i, uint64(len(m.Flags)))
   714  		i--
   715  		dAtA[i] = 0x5a
   716  	}
   717  	if m.MaxLen != 0 {
   718  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.MaxLen))
   719  		i--
   720  		dAtA[i] = 0x50
   721  	}
   722  	if len(m.Nulls) > 0 {
   723  		dAtA5 := make([]byte, len(m.Nulls)*10)
   724  		var j4 int
   725  		for _, num1 := range m.Nulls {
   726  			num := uint64(num1)
   727  			for num >= 1<<7 {
   728  				dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80)
   729  				num >>= 7
   730  				j4++
   731  			}
   732  			dAtA5[j4] = uint8(num)
   733  			j4++
   734  		}
   735  		i -= j4
   736  		copy(dAtA[i:], dAtA5[:j4])
   737  		i = encodeVarintStatsinfo(dAtA, i, uint64(j4))
   738  		i--
   739  		dAtA[i] = 0x4a
   740  	}
   741  	if len(m.Rows) > 0 {
   742  		dAtA7 := make([]byte, len(m.Rows)*10)
   743  		var j6 int
   744  		for _, num1 := range m.Rows {
   745  			num := uint64(num1)
   746  			for num >= 1<<7 {
   747  				dAtA7[j6] = uint8(uint64(num)&0x7f | 0x80)
   748  				num >>= 7
   749  				j6++
   750  			}
   751  			dAtA7[j6] = uint8(num)
   752  			j6++
   753  		}
   754  		i -= j6
   755  		copy(dAtA[i:], dAtA7[:j6])
   756  		i = encodeVarintStatsinfo(dAtA, i, uint64(j6))
   757  		i--
   758  		dAtA[i] = 0x42
   759  	}
   760  	if len(m.Maxs) > 0 {
   761  		for iNdEx := len(m.Maxs) - 1; iNdEx >= 0; iNdEx-- {
   762  			i -= len(m.Maxs[iNdEx])
   763  			copy(dAtA[i:], m.Maxs[iNdEx])
   764  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(m.Maxs[iNdEx])))
   765  			i--
   766  			dAtA[i] = 0x3a
   767  		}
   768  	}
   769  	if len(m.Mins) > 0 {
   770  		for iNdEx := len(m.Mins) - 1; iNdEx >= 0; iNdEx-- {
   771  			i -= len(m.Mins[iNdEx])
   772  			copy(dAtA[i:], m.Mins[iNdEx])
   773  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(m.Mins[iNdEx])))
   774  			i--
   775  			dAtA[i] = 0x32
   776  		}
   777  	}
   778  	if m.Max != 0 {
   779  		i -= 8
   780  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Max))))
   781  		i--
   782  		dAtA[i] = 0x29
   783  	}
   784  	if m.Min != 0 {
   785  		i -= 8
   786  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Min))))
   787  		i--
   788  		dAtA[i] = 0x21
   789  	}
   790  	if m.Tree != nil {
   791  		{
   792  			size, err := m.Tree.MarshalToSizedBuffer(dAtA[:i])
   793  			if err != nil {
   794  				return 0, err
   795  			}
   796  			i -= size
   797  			i = encodeVarintStatsinfo(dAtA, i, uint64(size))
   798  		}
   799  		i--
   800  		dAtA[i] = 0x1a
   801  	}
   802  	if m.Sz != 0 {
   803  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.Sz))
   804  		i--
   805  		dAtA[i] = 0x10
   806  	}
   807  	if m.IsStrType {
   808  		i--
   809  		if m.IsStrType {
   810  			dAtA[i] = 1
   811  		} else {
   812  			dAtA[i] = 0
   813  		}
   814  		i--
   815  		dAtA[i] = 0x8
   816  	}
   817  	return len(dAtA) - i, nil
   818  }
   819  
   820  func (m *StatsInfo) Marshal() (dAtA []byte, err error) {
   821  	size := m.Size()
   822  	dAtA = make([]byte, size)
   823  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   824  	if err != nil {
   825  		return nil, err
   826  	}
   827  	return dAtA[:n], nil
   828  }
   829  
   830  func (m *StatsInfo) MarshalTo(dAtA []byte) (int, error) {
   831  	size := m.Size()
   832  	return m.MarshalToSizedBuffer(dAtA[:size])
   833  }
   834  
   835  func (m *StatsInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   836  	i := len(dAtA)
   837  	_ = i
   838  	var l int
   839  	_ = l
   840  	if len(m.TableName) > 0 {
   841  		i -= len(m.TableName)
   842  		copy(dAtA[i:], m.TableName)
   843  		i = encodeVarintStatsinfo(dAtA, i, uint64(len(m.TableName)))
   844  		i--
   845  		dAtA[i] = 0x62
   846  	}
   847  	if m.TableCnt != 0 {
   848  		i -= 8
   849  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TableCnt))))
   850  		i--
   851  		dAtA[i] = 0x59
   852  	}
   853  	if m.ApproxObjectNumber != 0 {
   854  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.ApproxObjectNumber))
   855  		i--
   856  		dAtA[i] = 0x50
   857  	}
   858  	if m.AccurateObjectNumber != 0 {
   859  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.AccurateObjectNumber))
   860  		i--
   861  		dAtA[i] = 0x48
   862  	}
   863  	if m.BlockNumber != 0 {
   864  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.BlockNumber))
   865  		i--
   866  		dAtA[i] = 0x40
   867  	}
   868  	if len(m.ShuffleRangeMap) > 0 {
   869  		for k := range m.ShuffleRangeMap {
   870  			v := m.ShuffleRangeMap[k]
   871  			baseI := i
   872  			if v != nil {
   873  				{
   874  					size, err := v.MarshalToSizedBuffer(dAtA[:i])
   875  					if err != nil {
   876  						return 0, err
   877  					}
   878  					i -= size
   879  					i = encodeVarintStatsinfo(dAtA, i, uint64(size))
   880  				}
   881  				i--
   882  				dAtA[i] = 0x12
   883  			}
   884  			i -= len(k)
   885  			copy(dAtA[i:], k)
   886  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   887  			i--
   888  			dAtA[i] = 0xa
   889  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   890  			i--
   891  			dAtA[i] = 0x3a
   892  		}
   893  	}
   894  	if len(m.SizeMap) > 0 {
   895  		for k := range m.SizeMap {
   896  			v := m.SizeMap[k]
   897  			baseI := i
   898  			i = encodeVarintStatsinfo(dAtA, i, uint64(v))
   899  			i--
   900  			dAtA[i] = 0x10
   901  			i -= len(k)
   902  			copy(dAtA[i:], k)
   903  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   904  			i--
   905  			dAtA[i] = 0xa
   906  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   907  			i--
   908  			dAtA[i] = 0x32
   909  		}
   910  	}
   911  	if len(m.NullCntMap) > 0 {
   912  		for k := range m.NullCntMap {
   913  			v := m.NullCntMap[k]
   914  			baseI := i
   915  			i = encodeVarintStatsinfo(dAtA, i, uint64(v))
   916  			i--
   917  			dAtA[i] = 0x10
   918  			i -= len(k)
   919  			copy(dAtA[i:], k)
   920  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   921  			i--
   922  			dAtA[i] = 0xa
   923  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   924  			i--
   925  			dAtA[i] = 0x2a
   926  		}
   927  	}
   928  	if len(m.DataTypeMap) > 0 {
   929  		for k := range m.DataTypeMap {
   930  			v := m.DataTypeMap[k]
   931  			baseI := i
   932  			i = encodeVarintStatsinfo(dAtA, i, uint64(v))
   933  			i--
   934  			dAtA[i] = 0x10
   935  			i -= len(k)
   936  			copy(dAtA[i:], k)
   937  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   938  			i--
   939  			dAtA[i] = 0xa
   940  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   941  			i--
   942  			dAtA[i] = 0x22
   943  		}
   944  	}
   945  	if len(m.MaxValMap) > 0 {
   946  		for k := range m.MaxValMap {
   947  			v := m.MaxValMap[k]
   948  			baseI := i
   949  			i -= 8
   950  			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v))))
   951  			i--
   952  			dAtA[i] = 0x11
   953  			i -= len(k)
   954  			copy(dAtA[i:], k)
   955  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   956  			i--
   957  			dAtA[i] = 0xa
   958  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   959  			i--
   960  			dAtA[i] = 0x1a
   961  		}
   962  	}
   963  	if len(m.MinValMap) > 0 {
   964  		for k := range m.MinValMap {
   965  			v := m.MinValMap[k]
   966  			baseI := i
   967  			i -= 8
   968  			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v))))
   969  			i--
   970  			dAtA[i] = 0x11
   971  			i -= len(k)
   972  			copy(dAtA[i:], k)
   973  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   974  			i--
   975  			dAtA[i] = 0xa
   976  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   977  			i--
   978  			dAtA[i] = 0x12
   979  		}
   980  	}
   981  	if len(m.NdvMap) > 0 {
   982  		for k := range m.NdvMap {
   983  			v := m.NdvMap[k]
   984  			baseI := i
   985  			i -= 8
   986  			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v))))
   987  			i--
   988  			dAtA[i] = 0x11
   989  			i -= len(k)
   990  			copy(dAtA[i:], k)
   991  			i = encodeVarintStatsinfo(dAtA, i, uint64(len(k)))
   992  			i--
   993  			dAtA[i] = 0xa
   994  			i = encodeVarintStatsinfo(dAtA, i, uint64(baseI-i))
   995  			i--
   996  			dAtA[i] = 0xa
   997  		}
   998  	}
   999  	return len(dAtA) - i, nil
  1000  }
  1001  
  1002  func (m *StatsInfoKey) Marshal() (dAtA []byte, err error) {
  1003  	size := m.Size()
  1004  	dAtA = make([]byte, size)
  1005  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1006  	if err != nil {
  1007  		return nil, err
  1008  	}
  1009  	return dAtA[:n], nil
  1010  }
  1011  
  1012  func (m *StatsInfoKey) MarshalTo(dAtA []byte) (int, error) {
  1013  	size := m.Size()
  1014  	return m.MarshalToSizedBuffer(dAtA[:size])
  1015  }
  1016  
  1017  func (m *StatsInfoKey) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1018  	i := len(dAtA)
  1019  	_ = i
  1020  	var l int
  1021  	_ = l
  1022  	if m.TableID != 0 {
  1023  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.TableID))
  1024  		i--
  1025  		dAtA[i] = 0x10
  1026  	}
  1027  	if m.DatabaseID != 0 {
  1028  		i = encodeVarintStatsinfo(dAtA, i, uint64(m.DatabaseID))
  1029  		i--
  1030  		dAtA[i] = 0x8
  1031  	}
  1032  	return len(dAtA) - i, nil
  1033  }
  1034  
  1035  func (m *StatsInfoKeys) Marshal() (dAtA []byte, err error) {
  1036  	size := m.Size()
  1037  	dAtA = make([]byte, size)
  1038  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1039  	if err != nil {
  1040  		return nil, err
  1041  	}
  1042  	return dAtA[:n], nil
  1043  }
  1044  
  1045  func (m *StatsInfoKeys) MarshalTo(dAtA []byte) (int, error) {
  1046  	size := m.Size()
  1047  	return m.MarshalToSizedBuffer(dAtA[:size])
  1048  }
  1049  
  1050  func (m *StatsInfoKeys) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1051  	i := len(dAtA)
  1052  	_ = i
  1053  	var l int
  1054  	_ = l
  1055  	if len(m.Keys) > 0 {
  1056  		for iNdEx := len(m.Keys) - 1; iNdEx >= 0; iNdEx-- {
  1057  			{
  1058  				size, err := m.Keys[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1059  				if err != nil {
  1060  					return 0, err
  1061  				}
  1062  				i -= size
  1063  				i = encodeVarintStatsinfo(dAtA, i, uint64(size))
  1064  			}
  1065  			i--
  1066  			dAtA[i] = 0xa
  1067  		}
  1068  	}
  1069  	return len(dAtA) - i, nil
  1070  }
  1071  
  1072  func encodeVarintStatsinfo(dAtA []byte, offset int, v uint64) int {
  1073  	offset -= sovStatsinfo(v)
  1074  	base := offset
  1075  	for v >= 1<<7 {
  1076  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1077  		v >>= 7
  1078  		offset++
  1079  	}
  1080  	dAtA[offset] = uint8(v)
  1081  	return base
  1082  }
  1083  func (m *ShuffleHeap) Size() (n int) {
  1084  	if m == nil {
  1085  		return 0
  1086  	}
  1087  	var l int
  1088  	_ = l
  1089  	if m.Left != nil {
  1090  		l = m.Left.Size()
  1091  		n += 1 + l + sovStatsinfo(uint64(l))
  1092  	}
  1093  	if m.Right != nil {
  1094  		l = m.Right.Size()
  1095  		n += 1 + l + sovStatsinfo(uint64(l))
  1096  	}
  1097  	if m.Key != 0 {
  1098  		n += 9
  1099  	}
  1100  	if m.Value != 0 {
  1101  		n += 9
  1102  	}
  1103  	if m.Height != 0 {
  1104  		n += 1 + sovStatsinfo(uint64(m.Height))
  1105  	}
  1106  	if m.Sz != 0 {
  1107  		n += 1 + sovStatsinfo(uint64(m.Sz))
  1108  	}
  1109  	if m.Nulls != 0 {
  1110  		n += 1 + sovStatsinfo(uint64(m.Nulls))
  1111  	}
  1112  	if m.Reverse {
  1113  		n += 2
  1114  	}
  1115  	return n
  1116  }
  1117  
  1118  func (m *ShuffleRange) Size() (n int) {
  1119  	if m == nil {
  1120  		return 0
  1121  	}
  1122  	var l int
  1123  	_ = l
  1124  	if m.IsStrType {
  1125  		n += 2
  1126  	}
  1127  	if m.Sz != 0 {
  1128  		n += 1 + sovStatsinfo(uint64(m.Sz))
  1129  	}
  1130  	if m.Tree != nil {
  1131  		l = m.Tree.Size()
  1132  		n += 1 + l + sovStatsinfo(uint64(l))
  1133  	}
  1134  	if m.Min != 0 {
  1135  		n += 9
  1136  	}
  1137  	if m.Max != 0 {
  1138  		n += 9
  1139  	}
  1140  	if len(m.Mins) > 0 {
  1141  		for _, b := range m.Mins {
  1142  			l = len(b)
  1143  			n += 1 + l + sovStatsinfo(uint64(l))
  1144  		}
  1145  	}
  1146  	if len(m.Maxs) > 0 {
  1147  		for _, b := range m.Maxs {
  1148  			l = len(b)
  1149  			n += 1 + l + sovStatsinfo(uint64(l))
  1150  		}
  1151  	}
  1152  	if len(m.Rows) > 0 {
  1153  		l = 0
  1154  		for _, e := range m.Rows {
  1155  			l += sovStatsinfo(uint64(e))
  1156  		}
  1157  		n += 1 + sovStatsinfo(uint64(l)) + l
  1158  	}
  1159  	if len(m.Nulls) > 0 {
  1160  		l = 0
  1161  		for _, e := range m.Nulls {
  1162  			l += sovStatsinfo(uint64(e))
  1163  		}
  1164  		n += 1 + sovStatsinfo(uint64(l)) + l
  1165  	}
  1166  	if m.MaxLen != 0 {
  1167  		n += 1 + sovStatsinfo(uint64(m.MaxLen))
  1168  	}
  1169  	if len(m.Flags) > 0 {
  1170  		n += 1 + sovStatsinfo(uint64(len(m.Flags))) + len(m.Flags)*1
  1171  	}
  1172  	if m.Overlap != 0 {
  1173  		n += 9
  1174  	}
  1175  	if m.Uniform != 0 {
  1176  		n += 9
  1177  	}
  1178  	if len(m.Result) > 0 {
  1179  		n += 1 + sovStatsinfo(uint64(len(m.Result)*8)) + len(m.Result)*8
  1180  	}
  1181  	return n
  1182  }
  1183  
  1184  func (m *StatsInfo) Size() (n int) {
  1185  	if m == nil {
  1186  		return 0
  1187  	}
  1188  	var l int
  1189  	_ = l
  1190  	if len(m.NdvMap) > 0 {
  1191  		for k, v := range m.NdvMap {
  1192  			_ = k
  1193  			_ = v
  1194  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + 1 + 8
  1195  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1196  		}
  1197  	}
  1198  	if len(m.MinValMap) > 0 {
  1199  		for k, v := range m.MinValMap {
  1200  			_ = k
  1201  			_ = v
  1202  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + 1 + 8
  1203  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1204  		}
  1205  	}
  1206  	if len(m.MaxValMap) > 0 {
  1207  		for k, v := range m.MaxValMap {
  1208  			_ = k
  1209  			_ = v
  1210  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + 1 + 8
  1211  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1212  		}
  1213  	}
  1214  	if len(m.DataTypeMap) > 0 {
  1215  		for k, v := range m.DataTypeMap {
  1216  			_ = k
  1217  			_ = v
  1218  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + 1 + sovStatsinfo(uint64(v))
  1219  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1220  		}
  1221  	}
  1222  	if len(m.NullCntMap) > 0 {
  1223  		for k, v := range m.NullCntMap {
  1224  			_ = k
  1225  			_ = v
  1226  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + 1 + sovStatsinfo(uint64(v))
  1227  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1228  		}
  1229  	}
  1230  	if len(m.SizeMap) > 0 {
  1231  		for k, v := range m.SizeMap {
  1232  			_ = k
  1233  			_ = v
  1234  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + 1 + sovStatsinfo(uint64(v))
  1235  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1236  		}
  1237  	}
  1238  	if len(m.ShuffleRangeMap) > 0 {
  1239  		for k, v := range m.ShuffleRangeMap {
  1240  			_ = k
  1241  			_ = v
  1242  			l = 0
  1243  			if v != nil {
  1244  				l = v.Size()
  1245  				l += 1 + sovStatsinfo(uint64(l))
  1246  			}
  1247  			mapEntrySize := 1 + len(k) + sovStatsinfo(uint64(len(k))) + l
  1248  			n += mapEntrySize + 1 + sovStatsinfo(uint64(mapEntrySize))
  1249  		}
  1250  	}
  1251  	if m.BlockNumber != 0 {
  1252  		n += 1 + sovStatsinfo(uint64(m.BlockNumber))
  1253  	}
  1254  	if m.AccurateObjectNumber != 0 {
  1255  		n += 1 + sovStatsinfo(uint64(m.AccurateObjectNumber))
  1256  	}
  1257  	if m.ApproxObjectNumber != 0 {
  1258  		n += 1 + sovStatsinfo(uint64(m.ApproxObjectNumber))
  1259  	}
  1260  	if m.TableCnt != 0 {
  1261  		n += 9
  1262  	}
  1263  	l = len(m.TableName)
  1264  	if l > 0 {
  1265  		n += 1 + l + sovStatsinfo(uint64(l))
  1266  	}
  1267  	return n
  1268  }
  1269  
  1270  func (m *StatsInfoKey) Size() (n int) {
  1271  	if m == nil {
  1272  		return 0
  1273  	}
  1274  	var l int
  1275  	_ = l
  1276  	if m.DatabaseID != 0 {
  1277  		n += 1 + sovStatsinfo(uint64(m.DatabaseID))
  1278  	}
  1279  	if m.TableID != 0 {
  1280  		n += 1 + sovStatsinfo(uint64(m.TableID))
  1281  	}
  1282  	return n
  1283  }
  1284  
  1285  func (m *StatsInfoKeys) Size() (n int) {
  1286  	if m == nil {
  1287  		return 0
  1288  	}
  1289  	var l int
  1290  	_ = l
  1291  	if len(m.Keys) > 0 {
  1292  		for _, e := range m.Keys {
  1293  			l = e.Size()
  1294  			n += 1 + l + sovStatsinfo(uint64(l))
  1295  		}
  1296  	}
  1297  	return n
  1298  }
  1299  
  1300  func sovStatsinfo(x uint64) (n int) {
  1301  	return (math_bits.Len64(x|1) + 6) / 7
  1302  }
  1303  func sozStatsinfo(x uint64) (n int) {
  1304  	return sovStatsinfo(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1305  }
  1306  func (m *ShuffleHeap) Unmarshal(dAtA []byte) error {
  1307  	l := len(dAtA)
  1308  	iNdEx := 0
  1309  	for iNdEx < l {
  1310  		preIndex := iNdEx
  1311  		var wire uint64
  1312  		for shift := uint(0); ; shift += 7 {
  1313  			if shift >= 64 {
  1314  				return ErrIntOverflowStatsinfo
  1315  			}
  1316  			if iNdEx >= l {
  1317  				return io.ErrUnexpectedEOF
  1318  			}
  1319  			b := dAtA[iNdEx]
  1320  			iNdEx++
  1321  			wire |= uint64(b&0x7F) << shift
  1322  			if b < 0x80 {
  1323  				break
  1324  			}
  1325  		}
  1326  		fieldNum := int32(wire >> 3)
  1327  		wireType := int(wire & 0x7)
  1328  		if wireType == 4 {
  1329  			return fmt.Errorf("proto: ShuffleHeap: wiretype end group for non-group")
  1330  		}
  1331  		if fieldNum <= 0 {
  1332  			return fmt.Errorf("proto: ShuffleHeap: illegal tag %d (wire type %d)", fieldNum, wire)
  1333  		}
  1334  		switch fieldNum {
  1335  		case 1:
  1336  			if wireType != 2 {
  1337  				return fmt.Errorf("proto: wrong wireType = %d for field Left", wireType)
  1338  			}
  1339  			var msglen int
  1340  			for shift := uint(0); ; shift += 7 {
  1341  				if shift >= 64 {
  1342  					return ErrIntOverflowStatsinfo
  1343  				}
  1344  				if iNdEx >= l {
  1345  					return io.ErrUnexpectedEOF
  1346  				}
  1347  				b := dAtA[iNdEx]
  1348  				iNdEx++
  1349  				msglen |= int(b&0x7F) << shift
  1350  				if b < 0x80 {
  1351  					break
  1352  				}
  1353  			}
  1354  			if msglen < 0 {
  1355  				return ErrInvalidLengthStatsinfo
  1356  			}
  1357  			postIndex := iNdEx + msglen
  1358  			if postIndex < 0 {
  1359  				return ErrInvalidLengthStatsinfo
  1360  			}
  1361  			if postIndex > l {
  1362  				return io.ErrUnexpectedEOF
  1363  			}
  1364  			if m.Left == nil {
  1365  				m.Left = &ShuffleHeap{}
  1366  			}
  1367  			if err := m.Left.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1368  				return err
  1369  			}
  1370  			iNdEx = postIndex
  1371  		case 2:
  1372  			if wireType != 2 {
  1373  				return fmt.Errorf("proto: wrong wireType = %d for field Right", wireType)
  1374  			}
  1375  			var msglen int
  1376  			for shift := uint(0); ; shift += 7 {
  1377  				if shift >= 64 {
  1378  					return ErrIntOverflowStatsinfo
  1379  				}
  1380  				if iNdEx >= l {
  1381  					return io.ErrUnexpectedEOF
  1382  				}
  1383  				b := dAtA[iNdEx]
  1384  				iNdEx++
  1385  				msglen |= int(b&0x7F) << shift
  1386  				if b < 0x80 {
  1387  					break
  1388  				}
  1389  			}
  1390  			if msglen < 0 {
  1391  				return ErrInvalidLengthStatsinfo
  1392  			}
  1393  			postIndex := iNdEx + msglen
  1394  			if postIndex < 0 {
  1395  				return ErrInvalidLengthStatsinfo
  1396  			}
  1397  			if postIndex > l {
  1398  				return io.ErrUnexpectedEOF
  1399  			}
  1400  			if m.Right == nil {
  1401  				m.Right = &ShuffleHeap{}
  1402  			}
  1403  			if err := m.Right.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1404  				return err
  1405  			}
  1406  			iNdEx = postIndex
  1407  		case 3:
  1408  			if wireType != 1 {
  1409  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  1410  			}
  1411  			var v uint64
  1412  			if (iNdEx + 8) > l {
  1413  				return io.ErrUnexpectedEOF
  1414  			}
  1415  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1416  			iNdEx += 8
  1417  			m.Key = float64(math.Float64frombits(v))
  1418  		case 4:
  1419  			if wireType != 1 {
  1420  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  1421  			}
  1422  			var v uint64
  1423  			if (iNdEx + 8) > l {
  1424  				return io.ErrUnexpectedEOF
  1425  			}
  1426  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1427  			iNdEx += 8
  1428  			m.Value = float64(math.Float64frombits(v))
  1429  		case 5:
  1430  			if wireType != 0 {
  1431  				return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
  1432  			}
  1433  			m.Height = 0
  1434  			for shift := uint(0); ; shift += 7 {
  1435  				if shift >= 64 {
  1436  					return ErrIntOverflowStatsinfo
  1437  				}
  1438  				if iNdEx >= l {
  1439  					return io.ErrUnexpectedEOF
  1440  				}
  1441  				b := dAtA[iNdEx]
  1442  				iNdEx++
  1443  				m.Height |= int64(b&0x7F) << shift
  1444  				if b < 0x80 {
  1445  					break
  1446  				}
  1447  			}
  1448  		case 6:
  1449  			if wireType != 0 {
  1450  				return fmt.Errorf("proto: wrong wireType = %d for field Sz", wireType)
  1451  			}
  1452  			m.Sz = 0
  1453  			for shift := uint(0); ; shift += 7 {
  1454  				if shift >= 64 {
  1455  					return ErrIntOverflowStatsinfo
  1456  				}
  1457  				if iNdEx >= l {
  1458  					return io.ErrUnexpectedEOF
  1459  				}
  1460  				b := dAtA[iNdEx]
  1461  				iNdEx++
  1462  				m.Sz |= int64(b&0x7F) << shift
  1463  				if b < 0x80 {
  1464  					break
  1465  				}
  1466  			}
  1467  		case 7:
  1468  			if wireType != 0 {
  1469  				return fmt.Errorf("proto: wrong wireType = %d for field Nulls", wireType)
  1470  			}
  1471  			m.Nulls = 0
  1472  			for shift := uint(0); ; shift += 7 {
  1473  				if shift >= 64 {
  1474  					return ErrIntOverflowStatsinfo
  1475  				}
  1476  				if iNdEx >= l {
  1477  					return io.ErrUnexpectedEOF
  1478  				}
  1479  				b := dAtA[iNdEx]
  1480  				iNdEx++
  1481  				m.Nulls |= int64(b&0x7F) << shift
  1482  				if b < 0x80 {
  1483  					break
  1484  				}
  1485  			}
  1486  		case 8:
  1487  			if wireType != 0 {
  1488  				return fmt.Errorf("proto: wrong wireType = %d for field Reverse", wireType)
  1489  			}
  1490  			var v int
  1491  			for shift := uint(0); ; shift += 7 {
  1492  				if shift >= 64 {
  1493  					return ErrIntOverflowStatsinfo
  1494  				}
  1495  				if iNdEx >= l {
  1496  					return io.ErrUnexpectedEOF
  1497  				}
  1498  				b := dAtA[iNdEx]
  1499  				iNdEx++
  1500  				v |= int(b&0x7F) << shift
  1501  				if b < 0x80 {
  1502  					break
  1503  				}
  1504  			}
  1505  			m.Reverse = bool(v != 0)
  1506  		default:
  1507  			iNdEx = preIndex
  1508  			skippy, err := skipStatsinfo(dAtA[iNdEx:])
  1509  			if err != nil {
  1510  				return err
  1511  			}
  1512  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1513  				return ErrInvalidLengthStatsinfo
  1514  			}
  1515  			if (iNdEx + skippy) > l {
  1516  				return io.ErrUnexpectedEOF
  1517  			}
  1518  			iNdEx += skippy
  1519  		}
  1520  	}
  1521  
  1522  	if iNdEx > l {
  1523  		return io.ErrUnexpectedEOF
  1524  	}
  1525  	return nil
  1526  }
  1527  func (m *ShuffleRange) Unmarshal(dAtA []byte) error {
  1528  	l := len(dAtA)
  1529  	iNdEx := 0
  1530  	for iNdEx < l {
  1531  		preIndex := iNdEx
  1532  		var wire uint64
  1533  		for shift := uint(0); ; shift += 7 {
  1534  			if shift >= 64 {
  1535  				return ErrIntOverflowStatsinfo
  1536  			}
  1537  			if iNdEx >= l {
  1538  				return io.ErrUnexpectedEOF
  1539  			}
  1540  			b := dAtA[iNdEx]
  1541  			iNdEx++
  1542  			wire |= uint64(b&0x7F) << shift
  1543  			if b < 0x80 {
  1544  				break
  1545  			}
  1546  		}
  1547  		fieldNum := int32(wire >> 3)
  1548  		wireType := int(wire & 0x7)
  1549  		if wireType == 4 {
  1550  			return fmt.Errorf("proto: ShuffleRange: wiretype end group for non-group")
  1551  		}
  1552  		if fieldNum <= 0 {
  1553  			return fmt.Errorf("proto: ShuffleRange: illegal tag %d (wire type %d)", fieldNum, wire)
  1554  		}
  1555  		switch fieldNum {
  1556  		case 1:
  1557  			if wireType != 0 {
  1558  				return fmt.Errorf("proto: wrong wireType = %d for field IsStrType", wireType)
  1559  			}
  1560  			var v int
  1561  			for shift := uint(0); ; shift += 7 {
  1562  				if shift >= 64 {
  1563  					return ErrIntOverflowStatsinfo
  1564  				}
  1565  				if iNdEx >= l {
  1566  					return io.ErrUnexpectedEOF
  1567  				}
  1568  				b := dAtA[iNdEx]
  1569  				iNdEx++
  1570  				v |= int(b&0x7F) << shift
  1571  				if b < 0x80 {
  1572  					break
  1573  				}
  1574  			}
  1575  			m.IsStrType = bool(v != 0)
  1576  		case 2:
  1577  			if wireType != 0 {
  1578  				return fmt.Errorf("proto: wrong wireType = %d for field Sz", wireType)
  1579  			}
  1580  			m.Sz = 0
  1581  			for shift := uint(0); ; shift += 7 {
  1582  				if shift >= 64 {
  1583  					return ErrIntOverflowStatsinfo
  1584  				}
  1585  				if iNdEx >= l {
  1586  					return io.ErrUnexpectedEOF
  1587  				}
  1588  				b := dAtA[iNdEx]
  1589  				iNdEx++
  1590  				m.Sz |= int64(b&0x7F) << shift
  1591  				if b < 0x80 {
  1592  					break
  1593  				}
  1594  			}
  1595  		case 3:
  1596  			if wireType != 2 {
  1597  				return fmt.Errorf("proto: wrong wireType = %d for field Tree", wireType)
  1598  			}
  1599  			var msglen int
  1600  			for shift := uint(0); ; shift += 7 {
  1601  				if shift >= 64 {
  1602  					return ErrIntOverflowStatsinfo
  1603  				}
  1604  				if iNdEx >= l {
  1605  					return io.ErrUnexpectedEOF
  1606  				}
  1607  				b := dAtA[iNdEx]
  1608  				iNdEx++
  1609  				msglen |= int(b&0x7F) << shift
  1610  				if b < 0x80 {
  1611  					break
  1612  				}
  1613  			}
  1614  			if msglen < 0 {
  1615  				return ErrInvalidLengthStatsinfo
  1616  			}
  1617  			postIndex := iNdEx + msglen
  1618  			if postIndex < 0 {
  1619  				return ErrInvalidLengthStatsinfo
  1620  			}
  1621  			if postIndex > l {
  1622  				return io.ErrUnexpectedEOF
  1623  			}
  1624  			if m.Tree == nil {
  1625  				m.Tree = &ShuffleHeap{}
  1626  			}
  1627  			if err := m.Tree.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1628  				return err
  1629  			}
  1630  			iNdEx = postIndex
  1631  		case 4:
  1632  			if wireType != 1 {
  1633  				return fmt.Errorf("proto: wrong wireType = %d for field Min", wireType)
  1634  			}
  1635  			var v uint64
  1636  			if (iNdEx + 8) > l {
  1637  				return io.ErrUnexpectedEOF
  1638  			}
  1639  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1640  			iNdEx += 8
  1641  			m.Min = float64(math.Float64frombits(v))
  1642  		case 5:
  1643  			if wireType != 1 {
  1644  				return fmt.Errorf("proto: wrong wireType = %d for field Max", wireType)
  1645  			}
  1646  			var v uint64
  1647  			if (iNdEx + 8) > l {
  1648  				return io.ErrUnexpectedEOF
  1649  			}
  1650  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1651  			iNdEx += 8
  1652  			m.Max = float64(math.Float64frombits(v))
  1653  		case 6:
  1654  			if wireType != 2 {
  1655  				return fmt.Errorf("proto: wrong wireType = %d for field Mins", wireType)
  1656  			}
  1657  			var byteLen int
  1658  			for shift := uint(0); ; shift += 7 {
  1659  				if shift >= 64 {
  1660  					return ErrIntOverflowStatsinfo
  1661  				}
  1662  				if iNdEx >= l {
  1663  					return io.ErrUnexpectedEOF
  1664  				}
  1665  				b := dAtA[iNdEx]
  1666  				iNdEx++
  1667  				byteLen |= int(b&0x7F) << shift
  1668  				if b < 0x80 {
  1669  					break
  1670  				}
  1671  			}
  1672  			if byteLen < 0 {
  1673  				return ErrInvalidLengthStatsinfo
  1674  			}
  1675  			postIndex := iNdEx + byteLen
  1676  			if postIndex < 0 {
  1677  				return ErrInvalidLengthStatsinfo
  1678  			}
  1679  			if postIndex > l {
  1680  				return io.ErrUnexpectedEOF
  1681  			}
  1682  			m.Mins = append(m.Mins, make([]byte, postIndex-iNdEx))
  1683  			copy(m.Mins[len(m.Mins)-1], dAtA[iNdEx:postIndex])
  1684  			iNdEx = postIndex
  1685  		case 7:
  1686  			if wireType != 2 {
  1687  				return fmt.Errorf("proto: wrong wireType = %d for field Maxs", wireType)
  1688  			}
  1689  			var byteLen int
  1690  			for shift := uint(0); ; shift += 7 {
  1691  				if shift >= 64 {
  1692  					return ErrIntOverflowStatsinfo
  1693  				}
  1694  				if iNdEx >= l {
  1695  					return io.ErrUnexpectedEOF
  1696  				}
  1697  				b := dAtA[iNdEx]
  1698  				iNdEx++
  1699  				byteLen |= int(b&0x7F) << shift
  1700  				if b < 0x80 {
  1701  					break
  1702  				}
  1703  			}
  1704  			if byteLen < 0 {
  1705  				return ErrInvalidLengthStatsinfo
  1706  			}
  1707  			postIndex := iNdEx + byteLen
  1708  			if postIndex < 0 {
  1709  				return ErrInvalidLengthStatsinfo
  1710  			}
  1711  			if postIndex > l {
  1712  				return io.ErrUnexpectedEOF
  1713  			}
  1714  			m.Maxs = append(m.Maxs, make([]byte, postIndex-iNdEx))
  1715  			copy(m.Maxs[len(m.Maxs)-1], dAtA[iNdEx:postIndex])
  1716  			iNdEx = postIndex
  1717  		case 8:
  1718  			if wireType == 0 {
  1719  				var v int64
  1720  				for shift := uint(0); ; shift += 7 {
  1721  					if shift >= 64 {
  1722  						return ErrIntOverflowStatsinfo
  1723  					}
  1724  					if iNdEx >= l {
  1725  						return io.ErrUnexpectedEOF
  1726  					}
  1727  					b := dAtA[iNdEx]
  1728  					iNdEx++
  1729  					v |= int64(b&0x7F) << shift
  1730  					if b < 0x80 {
  1731  						break
  1732  					}
  1733  				}
  1734  				m.Rows = append(m.Rows, v)
  1735  			} else if wireType == 2 {
  1736  				var packedLen int
  1737  				for shift := uint(0); ; shift += 7 {
  1738  					if shift >= 64 {
  1739  						return ErrIntOverflowStatsinfo
  1740  					}
  1741  					if iNdEx >= l {
  1742  						return io.ErrUnexpectedEOF
  1743  					}
  1744  					b := dAtA[iNdEx]
  1745  					iNdEx++
  1746  					packedLen |= int(b&0x7F) << shift
  1747  					if b < 0x80 {
  1748  						break
  1749  					}
  1750  				}
  1751  				if packedLen < 0 {
  1752  					return ErrInvalidLengthStatsinfo
  1753  				}
  1754  				postIndex := iNdEx + packedLen
  1755  				if postIndex < 0 {
  1756  					return ErrInvalidLengthStatsinfo
  1757  				}
  1758  				if postIndex > l {
  1759  					return io.ErrUnexpectedEOF
  1760  				}
  1761  				var elementCount int
  1762  				var count int
  1763  				for _, integer := range dAtA[iNdEx:postIndex] {
  1764  					if integer < 128 {
  1765  						count++
  1766  					}
  1767  				}
  1768  				elementCount = count
  1769  				if elementCount != 0 && len(m.Rows) == 0 {
  1770  					m.Rows = make([]int64, 0, elementCount)
  1771  				}
  1772  				for iNdEx < postIndex {
  1773  					var v int64
  1774  					for shift := uint(0); ; shift += 7 {
  1775  						if shift >= 64 {
  1776  							return ErrIntOverflowStatsinfo
  1777  						}
  1778  						if iNdEx >= l {
  1779  							return io.ErrUnexpectedEOF
  1780  						}
  1781  						b := dAtA[iNdEx]
  1782  						iNdEx++
  1783  						v |= int64(b&0x7F) << shift
  1784  						if b < 0x80 {
  1785  							break
  1786  						}
  1787  					}
  1788  					m.Rows = append(m.Rows, v)
  1789  				}
  1790  			} else {
  1791  				return fmt.Errorf("proto: wrong wireType = %d for field Rows", wireType)
  1792  			}
  1793  		case 9:
  1794  			if wireType == 0 {
  1795  				var v int64
  1796  				for shift := uint(0); ; shift += 7 {
  1797  					if shift >= 64 {
  1798  						return ErrIntOverflowStatsinfo
  1799  					}
  1800  					if iNdEx >= l {
  1801  						return io.ErrUnexpectedEOF
  1802  					}
  1803  					b := dAtA[iNdEx]
  1804  					iNdEx++
  1805  					v |= int64(b&0x7F) << shift
  1806  					if b < 0x80 {
  1807  						break
  1808  					}
  1809  				}
  1810  				m.Nulls = append(m.Nulls, v)
  1811  			} else if wireType == 2 {
  1812  				var packedLen int
  1813  				for shift := uint(0); ; shift += 7 {
  1814  					if shift >= 64 {
  1815  						return ErrIntOverflowStatsinfo
  1816  					}
  1817  					if iNdEx >= l {
  1818  						return io.ErrUnexpectedEOF
  1819  					}
  1820  					b := dAtA[iNdEx]
  1821  					iNdEx++
  1822  					packedLen |= int(b&0x7F) << shift
  1823  					if b < 0x80 {
  1824  						break
  1825  					}
  1826  				}
  1827  				if packedLen < 0 {
  1828  					return ErrInvalidLengthStatsinfo
  1829  				}
  1830  				postIndex := iNdEx + packedLen
  1831  				if postIndex < 0 {
  1832  					return ErrInvalidLengthStatsinfo
  1833  				}
  1834  				if postIndex > l {
  1835  					return io.ErrUnexpectedEOF
  1836  				}
  1837  				var elementCount int
  1838  				var count int
  1839  				for _, integer := range dAtA[iNdEx:postIndex] {
  1840  					if integer < 128 {
  1841  						count++
  1842  					}
  1843  				}
  1844  				elementCount = count
  1845  				if elementCount != 0 && len(m.Nulls) == 0 {
  1846  					m.Nulls = make([]int64, 0, elementCount)
  1847  				}
  1848  				for iNdEx < postIndex {
  1849  					var v int64
  1850  					for shift := uint(0); ; shift += 7 {
  1851  						if shift >= 64 {
  1852  							return ErrIntOverflowStatsinfo
  1853  						}
  1854  						if iNdEx >= l {
  1855  							return io.ErrUnexpectedEOF
  1856  						}
  1857  						b := dAtA[iNdEx]
  1858  						iNdEx++
  1859  						v |= int64(b&0x7F) << shift
  1860  						if b < 0x80 {
  1861  							break
  1862  						}
  1863  					}
  1864  					m.Nulls = append(m.Nulls, v)
  1865  				}
  1866  			} else {
  1867  				return fmt.Errorf("proto: wrong wireType = %d for field Nulls", wireType)
  1868  			}
  1869  		case 10:
  1870  			if wireType != 0 {
  1871  				return fmt.Errorf("proto: wrong wireType = %d for field MaxLen", wireType)
  1872  			}
  1873  			m.MaxLen = 0
  1874  			for shift := uint(0); ; shift += 7 {
  1875  				if shift >= 64 {
  1876  					return ErrIntOverflowStatsinfo
  1877  				}
  1878  				if iNdEx >= l {
  1879  					return io.ErrUnexpectedEOF
  1880  				}
  1881  				b := dAtA[iNdEx]
  1882  				iNdEx++
  1883  				m.MaxLen |= int64(b&0x7F) << shift
  1884  				if b < 0x80 {
  1885  					break
  1886  				}
  1887  			}
  1888  		case 11:
  1889  			if wireType == 0 {
  1890  				var v int
  1891  				for shift := uint(0); ; shift += 7 {
  1892  					if shift >= 64 {
  1893  						return ErrIntOverflowStatsinfo
  1894  					}
  1895  					if iNdEx >= l {
  1896  						return io.ErrUnexpectedEOF
  1897  					}
  1898  					b := dAtA[iNdEx]
  1899  					iNdEx++
  1900  					v |= int(b&0x7F) << shift
  1901  					if b < 0x80 {
  1902  						break
  1903  					}
  1904  				}
  1905  				m.Flags = append(m.Flags, bool(v != 0))
  1906  			} else if wireType == 2 {
  1907  				var packedLen int
  1908  				for shift := uint(0); ; shift += 7 {
  1909  					if shift >= 64 {
  1910  						return ErrIntOverflowStatsinfo
  1911  					}
  1912  					if iNdEx >= l {
  1913  						return io.ErrUnexpectedEOF
  1914  					}
  1915  					b := dAtA[iNdEx]
  1916  					iNdEx++
  1917  					packedLen |= int(b&0x7F) << shift
  1918  					if b < 0x80 {
  1919  						break
  1920  					}
  1921  				}
  1922  				if packedLen < 0 {
  1923  					return ErrInvalidLengthStatsinfo
  1924  				}
  1925  				postIndex := iNdEx + packedLen
  1926  				if postIndex < 0 {
  1927  					return ErrInvalidLengthStatsinfo
  1928  				}
  1929  				if postIndex > l {
  1930  					return io.ErrUnexpectedEOF
  1931  				}
  1932  				var elementCount int
  1933  				elementCount = packedLen
  1934  				if elementCount != 0 && len(m.Flags) == 0 {
  1935  					m.Flags = make([]bool, 0, elementCount)
  1936  				}
  1937  				for iNdEx < postIndex {
  1938  					var v int
  1939  					for shift := uint(0); ; shift += 7 {
  1940  						if shift >= 64 {
  1941  							return ErrIntOverflowStatsinfo
  1942  						}
  1943  						if iNdEx >= l {
  1944  							return io.ErrUnexpectedEOF
  1945  						}
  1946  						b := dAtA[iNdEx]
  1947  						iNdEx++
  1948  						v |= int(b&0x7F) << shift
  1949  						if b < 0x80 {
  1950  							break
  1951  						}
  1952  					}
  1953  					m.Flags = append(m.Flags, bool(v != 0))
  1954  				}
  1955  			} else {
  1956  				return fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType)
  1957  			}
  1958  		case 12:
  1959  			if wireType != 1 {
  1960  				return fmt.Errorf("proto: wrong wireType = %d for field Overlap", wireType)
  1961  			}
  1962  			var v uint64
  1963  			if (iNdEx + 8) > l {
  1964  				return io.ErrUnexpectedEOF
  1965  			}
  1966  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1967  			iNdEx += 8
  1968  			m.Overlap = float64(math.Float64frombits(v))
  1969  		case 13:
  1970  			if wireType != 1 {
  1971  				return fmt.Errorf("proto: wrong wireType = %d for field Uniform", wireType)
  1972  			}
  1973  			var v uint64
  1974  			if (iNdEx + 8) > l {
  1975  				return io.ErrUnexpectedEOF
  1976  			}
  1977  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1978  			iNdEx += 8
  1979  			m.Uniform = float64(math.Float64frombits(v))
  1980  		case 14:
  1981  			if wireType == 1 {
  1982  				var v uint64
  1983  				if (iNdEx + 8) > l {
  1984  					return io.ErrUnexpectedEOF
  1985  				}
  1986  				v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1987  				iNdEx += 8
  1988  				v2 := float64(math.Float64frombits(v))
  1989  				m.Result = append(m.Result, v2)
  1990  			} else if wireType == 2 {
  1991  				var packedLen int
  1992  				for shift := uint(0); ; shift += 7 {
  1993  					if shift >= 64 {
  1994  						return ErrIntOverflowStatsinfo
  1995  					}
  1996  					if iNdEx >= l {
  1997  						return io.ErrUnexpectedEOF
  1998  					}
  1999  					b := dAtA[iNdEx]
  2000  					iNdEx++
  2001  					packedLen |= int(b&0x7F) << shift
  2002  					if b < 0x80 {
  2003  						break
  2004  					}
  2005  				}
  2006  				if packedLen < 0 {
  2007  					return ErrInvalidLengthStatsinfo
  2008  				}
  2009  				postIndex := iNdEx + packedLen
  2010  				if postIndex < 0 {
  2011  					return ErrInvalidLengthStatsinfo
  2012  				}
  2013  				if postIndex > l {
  2014  					return io.ErrUnexpectedEOF
  2015  				}
  2016  				var elementCount int
  2017  				elementCount = packedLen / 8
  2018  				if elementCount != 0 && len(m.Result) == 0 {
  2019  					m.Result = make([]float64, 0, elementCount)
  2020  				}
  2021  				for iNdEx < postIndex {
  2022  					var v uint64
  2023  					if (iNdEx + 8) > l {
  2024  						return io.ErrUnexpectedEOF
  2025  					}
  2026  					v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2027  					iNdEx += 8
  2028  					v2 := float64(math.Float64frombits(v))
  2029  					m.Result = append(m.Result, v2)
  2030  				}
  2031  			} else {
  2032  				return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
  2033  			}
  2034  		default:
  2035  			iNdEx = preIndex
  2036  			skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2037  			if err != nil {
  2038  				return err
  2039  			}
  2040  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2041  				return ErrInvalidLengthStatsinfo
  2042  			}
  2043  			if (iNdEx + skippy) > l {
  2044  				return io.ErrUnexpectedEOF
  2045  			}
  2046  			iNdEx += skippy
  2047  		}
  2048  	}
  2049  
  2050  	if iNdEx > l {
  2051  		return io.ErrUnexpectedEOF
  2052  	}
  2053  	return nil
  2054  }
  2055  func (m *StatsInfo) Unmarshal(dAtA []byte) error {
  2056  	l := len(dAtA)
  2057  	iNdEx := 0
  2058  	for iNdEx < l {
  2059  		preIndex := iNdEx
  2060  		var wire uint64
  2061  		for shift := uint(0); ; shift += 7 {
  2062  			if shift >= 64 {
  2063  				return ErrIntOverflowStatsinfo
  2064  			}
  2065  			if iNdEx >= l {
  2066  				return io.ErrUnexpectedEOF
  2067  			}
  2068  			b := dAtA[iNdEx]
  2069  			iNdEx++
  2070  			wire |= uint64(b&0x7F) << shift
  2071  			if b < 0x80 {
  2072  				break
  2073  			}
  2074  		}
  2075  		fieldNum := int32(wire >> 3)
  2076  		wireType := int(wire & 0x7)
  2077  		if wireType == 4 {
  2078  			return fmt.Errorf("proto: StatsInfo: wiretype end group for non-group")
  2079  		}
  2080  		if fieldNum <= 0 {
  2081  			return fmt.Errorf("proto: StatsInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  2082  		}
  2083  		switch fieldNum {
  2084  		case 1:
  2085  			if wireType != 2 {
  2086  				return fmt.Errorf("proto: wrong wireType = %d for field NdvMap", wireType)
  2087  			}
  2088  			var msglen int
  2089  			for shift := uint(0); ; shift += 7 {
  2090  				if shift >= 64 {
  2091  					return ErrIntOverflowStatsinfo
  2092  				}
  2093  				if iNdEx >= l {
  2094  					return io.ErrUnexpectedEOF
  2095  				}
  2096  				b := dAtA[iNdEx]
  2097  				iNdEx++
  2098  				msglen |= int(b&0x7F) << shift
  2099  				if b < 0x80 {
  2100  					break
  2101  				}
  2102  			}
  2103  			if msglen < 0 {
  2104  				return ErrInvalidLengthStatsinfo
  2105  			}
  2106  			postIndex := iNdEx + msglen
  2107  			if postIndex < 0 {
  2108  				return ErrInvalidLengthStatsinfo
  2109  			}
  2110  			if postIndex > l {
  2111  				return io.ErrUnexpectedEOF
  2112  			}
  2113  			if m.NdvMap == nil {
  2114  				m.NdvMap = make(map[string]float64)
  2115  			}
  2116  			var mapkey string
  2117  			var mapvalue float64
  2118  			for iNdEx < postIndex {
  2119  				entryPreIndex := iNdEx
  2120  				var wire uint64
  2121  				for shift := uint(0); ; shift += 7 {
  2122  					if shift >= 64 {
  2123  						return ErrIntOverflowStatsinfo
  2124  					}
  2125  					if iNdEx >= l {
  2126  						return io.ErrUnexpectedEOF
  2127  					}
  2128  					b := dAtA[iNdEx]
  2129  					iNdEx++
  2130  					wire |= uint64(b&0x7F) << shift
  2131  					if b < 0x80 {
  2132  						break
  2133  					}
  2134  				}
  2135  				fieldNum := int32(wire >> 3)
  2136  				if fieldNum == 1 {
  2137  					var stringLenmapkey uint64
  2138  					for shift := uint(0); ; shift += 7 {
  2139  						if shift >= 64 {
  2140  							return ErrIntOverflowStatsinfo
  2141  						}
  2142  						if iNdEx >= l {
  2143  							return io.ErrUnexpectedEOF
  2144  						}
  2145  						b := dAtA[iNdEx]
  2146  						iNdEx++
  2147  						stringLenmapkey |= uint64(b&0x7F) << shift
  2148  						if b < 0x80 {
  2149  							break
  2150  						}
  2151  					}
  2152  					intStringLenmapkey := int(stringLenmapkey)
  2153  					if intStringLenmapkey < 0 {
  2154  						return ErrInvalidLengthStatsinfo
  2155  					}
  2156  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2157  					if postStringIndexmapkey < 0 {
  2158  						return ErrInvalidLengthStatsinfo
  2159  					}
  2160  					if postStringIndexmapkey > l {
  2161  						return io.ErrUnexpectedEOF
  2162  					}
  2163  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2164  					iNdEx = postStringIndexmapkey
  2165  				} else if fieldNum == 2 {
  2166  					var mapvaluetemp uint64
  2167  					if (iNdEx + 8) > l {
  2168  						return io.ErrUnexpectedEOF
  2169  					}
  2170  					mapvaluetemp = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2171  					iNdEx += 8
  2172  					mapvalue = math.Float64frombits(mapvaluetemp)
  2173  				} else {
  2174  					iNdEx = entryPreIndex
  2175  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2176  					if err != nil {
  2177  						return err
  2178  					}
  2179  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2180  						return ErrInvalidLengthStatsinfo
  2181  					}
  2182  					if (iNdEx + skippy) > postIndex {
  2183  						return io.ErrUnexpectedEOF
  2184  					}
  2185  					iNdEx += skippy
  2186  				}
  2187  			}
  2188  			m.NdvMap[mapkey] = mapvalue
  2189  			iNdEx = postIndex
  2190  		case 2:
  2191  			if wireType != 2 {
  2192  				return fmt.Errorf("proto: wrong wireType = %d for field MinValMap", wireType)
  2193  			}
  2194  			var msglen int
  2195  			for shift := uint(0); ; shift += 7 {
  2196  				if shift >= 64 {
  2197  					return ErrIntOverflowStatsinfo
  2198  				}
  2199  				if iNdEx >= l {
  2200  					return io.ErrUnexpectedEOF
  2201  				}
  2202  				b := dAtA[iNdEx]
  2203  				iNdEx++
  2204  				msglen |= int(b&0x7F) << shift
  2205  				if b < 0x80 {
  2206  					break
  2207  				}
  2208  			}
  2209  			if msglen < 0 {
  2210  				return ErrInvalidLengthStatsinfo
  2211  			}
  2212  			postIndex := iNdEx + msglen
  2213  			if postIndex < 0 {
  2214  				return ErrInvalidLengthStatsinfo
  2215  			}
  2216  			if postIndex > l {
  2217  				return io.ErrUnexpectedEOF
  2218  			}
  2219  			if m.MinValMap == nil {
  2220  				m.MinValMap = make(map[string]float64)
  2221  			}
  2222  			var mapkey string
  2223  			var mapvalue float64
  2224  			for iNdEx < postIndex {
  2225  				entryPreIndex := iNdEx
  2226  				var wire uint64
  2227  				for shift := uint(0); ; shift += 7 {
  2228  					if shift >= 64 {
  2229  						return ErrIntOverflowStatsinfo
  2230  					}
  2231  					if iNdEx >= l {
  2232  						return io.ErrUnexpectedEOF
  2233  					}
  2234  					b := dAtA[iNdEx]
  2235  					iNdEx++
  2236  					wire |= uint64(b&0x7F) << shift
  2237  					if b < 0x80 {
  2238  						break
  2239  					}
  2240  				}
  2241  				fieldNum := int32(wire >> 3)
  2242  				if fieldNum == 1 {
  2243  					var stringLenmapkey uint64
  2244  					for shift := uint(0); ; shift += 7 {
  2245  						if shift >= 64 {
  2246  							return ErrIntOverflowStatsinfo
  2247  						}
  2248  						if iNdEx >= l {
  2249  							return io.ErrUnexpectedEOF
  2250  						}
  2251  						b := dAtA[iNdEx]
  2252  						iNdEx++
  2253  						stringLenmapkey |= uint64(b&0x7F) << shift
  2254  						if b < 0x80 {
  2255  							break
  2256  						}
  2257  					}
  2258  					intStringLenmapkey := int(stringLenmapkey)
  2259  					if intStringLenmapkey < 0 {
  2260  						return ErrInvalidLengthStatsinfo
  2261  					}
  2262  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2263  					if postStringIndexmapkey < 0 {
  2264  						return ErrInvalidLengthStatsinfo
  2265  					}
  2266  					if postStringIndexmapkey > l {
  2267  						return io.ErrUnexpectedEOF
  2268  					}
  2269  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2270  					iNdEx = postStringIndexmapkey
  2271  				} else if fieldNum == 2 {
  2272  					var mapvaluetemp uint64
  2273  					if (iNdEx + 8) > l {
  2274  						return io.ErrUnexpectedEOF
  2275  					}
  2276  					mapvaluetemp = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2277  					iNdEx += 8
  2278  					mapvalue = math.Float64frombits(mapvaluetemp)
  2279  				} else {
  2280  					iNdEx = entryPreIndex
  2281  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2282  					if err != nil {
  2283  						return err
  2284  					}
  2285  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2286  						return ErrInvalidLengthStatsinfo
  2287  					}
  2288  					if (iNdEx + skippy) > postIndex {
  2289  						return io.ErrUnexpectedEOF
  2290  					}
  2291  					iNdEx += skippy
  2292  				}
  2293  			}
  2294  			m.MinValMap[mapkey] = mapvalue
  2295  			iNdEx = postIndex
  2296  		case 3:
  2297  			if wireType != 2 {
  2298  				return fmt.Errorf("proto: wrong wireType = %d for field MaxValMap", wireType)
  2299  			}
  2300  			var msglen int
  2301  			for shift := uint(0); ; shift += 7 {
  2302  				if shift >= 64 {
  2303  					return ErrIntOverflowStatsinfo
  2304  				}
  2305  				if iNdEx >= l {
  2306  					return io.ErrUnexpectedEOF
  2307  				}
  2308  				b := dAtA[iNdEx]
  2309  				iNdEx++
  2310  				msglen |= int(b&0x7F) << shift
  2311  				if b < 0x80 {
  2312  					break
  2313  				}
  2314  			}
  2315  			if msglen < 0 {
  2316  				return ErrInvalidLengthStatsinfo
  2317  			}
  2318  			postIndex := iNdEx + msglen
  2319  			if postIndex < 0 {
  2320  				return ErrInvalidLengthStatsinfo
  2321  			}
  2322  			if postIndex > l {
  2323  				return io.ErrUnexpectedEOF
  2324  			}
  2325  			if m.MaxValMap == nil {
  2326  				m.MaxValMap = make(map[string]float64)
  2327  			}
  2328  			var mapkey string
  2329  			var mapvalue float64
  2330  			for iNdEx < postIndex {
  2331  				entryPreIndex := iNdEx
  2332  				var wire uint64
  2333  				for shift := uint(0); ; shift += 7 {
  2334  					if shift >= 64 {
  2335  						return ErrIntOverflowStatsinfo
  2336  					}
  2337  					if iNdEx >= l {
  2338  						return io.ErrUnexpectedEOF
  2339  					}
  2340  					b := dAtA[iNdEx]
  2341  					iNdEx++
  2342  					wire |= uint64(b&0x7F) << shift
  2343  					if b < 0x80 {
  2344  						break
  2345  					}
  2346  				}
  2347  				fieldNum := int32(wire >> 3)
  2348  				if fieldNum == 1 {
  2349  					var stringLenmapkey uint64
  2350  					for shift := uint(0); ; shift += 7 {
  2351  						if shift >= 64 {
  2352  							return ErrIntOverflowStatsinfo
  2353  						}
  2354  						if iNdEx >= l {
  2355  							return io.ErrUnexpectedEOF
  2356  						}
  2357  						b := dAtA[iNdEx]
  2358  						iNdEx++
  2359  						stringLenmapkey |= uint64(b&0x7F) << shift
  2360  						if b < 0x80 {
  2361  							break
  2362  						}
  2363  					}
  2364  					intStringLenmapkey := int(stringLenmapkey)
  2365  					if intStringLenmapkey < 0 {
  2366  						return ErrInvalidLengthStatsinfo
  2367  					}
  2368  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2369  					if postStringIndexmapkey < 0 {
  2370  						return ErrInvalidLengthStatsinfo
  2371  					}
  2372  					if postStringIndexmapkey > l {
  2373  						return io.ErrUnexpectedEOF
  2374  					}
  2375  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2376  					iNdEx = postStringIndexmapkey
  2377  				} else if fieldNum == 2 {
  2378  					var mapvaluetemp uint64
  2379  					if (iNdEx + 8) > l {
  2380  						return io.ErrUnexpectedEOF
  2381  					}
  2382  					mapvaluetemp = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2383  					iNdEx += 8
  2384  					mapvalue = math.Float64frombits(mapvaluetemp)
  2385  				} else {
  2386  					iNdEx = entryPreIndex
  2387  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2388  					if err != nil {
  2389  						return err
  2390  					}
  2391  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2392  						return ErrInvalidLengthStatsinfo
  2393  					}
  2394  					if (iNdEx + skippy) > postIndex {
  2395  						return io.ErrUnexpectedEOF
  2396  					}
  2397  					iNdEx += skippy
  2398  				}
  2399  			}
  2400  			m.MaxValMap[mapkey] = mapvalue
  2401  			iNdEx = postIndex
  2402  		case 4:
  2403  			if wireType != 2 {
  2404  				return fmt.Errorf("proto: wrong wireType = %d for field DataTypeMap", wireType)
  2405  			}
  2406  			var msglen int
  2407  			for shift := uint(0); ; shift += 7 {
  2408  				if shift >= 64 {
  2409  					return ErrIntOverflowStatsinfo
  2410  				}
  2411  				if iNdEx >= l {
  2412  					return io.ErrUnexpectedEOF
  2413  				}
  2414  				b := dAtA[iNdEx]
  2415  				iNdEx++
  2416  				msglen |= int(b&0x7F) << shift
  2417  				if b < 0x80 {
  2418  					break
  2419  				}
  2420  			}
  2421  			if msglen < 0 {
  2422  				return ErrInvalidLengthStatsinfo
  2423  			}
  2424  			postIndex := iNdEx + msglen
  2425  			if postIndex < 0 {
  2426  				return ErrInvalidLengthStatsinfo
  2427  			}
  2428  			if postIndex > l {
  2429  				return io.ErrUnexpectedEOF
  2430  			}
  2431  			if m.DataTypeMap == nil {
  2432  				m.DataTypeMap = make(map[string]uint64)
  2433  			}
  2434  			var mapkey string
  2435  			var mapvalue uint64
  2436  			for iNdEx < postIndex {
  2437  				entryPreIndex := iNdEx
  2438  				var wire uint64
  2439  				for shift := uint(0); ; shift += 7 {
  2440  					if shift >= 64 {
  2441  						return ErrIntOverflowStatsinfo
  2442  					}
  2443  					if iNdEx >= l {
  2444  						return io.ErrUnexpectedEOF
  2445  					}
  2446  					b := dAtA[iNdEx]
  2447  					iNdEx++
  2448  					wire |= uint64(b&0x7F) << shift
  2449  					if b < 0x80 {
  2450  						break
  2451  					}
  2452  				}
  2453  				fieldNum := int32(wire >> 3)
  2454  				if fieldNum == 1 {
  2455  					var stringLenmapkey uint64
  2456  					for shift := uint(0); ; shift += 7 {
  2457  						if shift >= 64 {
  2458  							return ErrIntOverflowStatsinfo
  2459  						}
  2460  						if iNdEx >= l {
  2461  							return io.ErrUnexpectedEOF
  2462  						}
  2463  						b := dAtA[iNdEx]
  2464  						iNdEx++
  2465  						stringLenmapkey |= uint64(b&0x7F) << shift
  2466  						if b < 0x80 {
  2467  							break
  2468  						}
  2469  					}
  2470  					intStringLenmapkey := int(stringLenmapkey)
  2471  					if intStringLenmapkey < 0 {
  2472  						return ErrInvalidLengthStatsinfo
  2473  					}
  2474  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2475  					if postStringIndexmapkey < 0 {
  2476  						return ErrInvalidLengthStatsinfo
  2477  					}
  2478  					if postStringIndexmapkey > l {
  2479  						return io.ErrUnexpectedEOF
  2480  					}
  2481  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2482  					iNdEx = postStringIndexmapkey
  2483  				} else if fieldNum == 2 {
  2484  					for shift := uint(0); ; shift += 7 {
  2485  						if shift >= 64 {
  2486  							return ErrIntOverflowStatsinfo
  2487  						}
  2488  						if iNdEx >= l {
  2489  							return io.ErrUnexpectedEOF
  2490  						}
  2491  						b := dAtA[iNdEx]
  2492  						iNdEx++
  2493  						mapvalue |= uint64(b&0x7F) << shift
  2494  						if b < 0x80 {
  2495  							break
  2496  						}
  2497  					}
  2498  				} else {
  2499  					iNdEx = entryPreIndex
  2500  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2501  					if err != nil {
  2502  						return err
  2503  					}
  2504  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2505  						return ErrInvalidLengthStatsinfo
  2506  					}
  2507  					if (iNdEx + skippy) > postIndex {
  2508  						return io.ErrUnexpectedEOF
  2509  					}
  2510  					iNdEx += skippy
  2511  				}
  2512  			}
  2513  			m.DataTypeMap[mapkey] = mapvalue
  2514  			iNdEx = postIndex
  2515  		case 5:
  2516  			if wireType != 2 {
  2517  				return fmt.Errorf("proto: wrong wireType = %d for field NullCntMap", wireType)
  2518  			}
  2519  			var msglen int
  2520  			for shift := uint(0); ; shift += 7 {
  2521  				if shift >= 64 {
  2522  					return ErrIntOverflowStatsinfo
  2523  				}
  2524  				if iNdEx >= l {
  2525  					return io.ErrUnexpectedEOF
  2526  				}
  2527  				b := dAtA[iNdEx]
  2528  				iNdEx++
  2529  				msglen |= int(b&0x7F) << shift
  2530  				if b < 0x80 {
  2531  					break
  2532  				}
  2533  			}
  2534  			if msglen < 0 {
  2535  				return ErrInvalidLengthStatsinfo
  2536  			}
  2537  			postIndex := iNdEx + msglen
  2538  			if postIndex < 0 {
  2539  				return ErrInvalidLengthStatsinfo
  2540  			}
  2541  			if postIndex > l {
  2542  				return io.ErrUnexpectedEOF
  2543  			}
  2544  			if m.NullCntMap == nil {
  2545  				m.NullCntMap = make(map[string]uint64)
  2546  			}
  2547  			var mapkey string
  2548  			var mapvalue uint64
  2549  			for iNdEx < postIndex {
  2550  				entryPreIndex := iNdEx
  2551  				var wire uint64
  2552  				for shift := uint(0); ; shift += 7 {
  2553  					if shift >= 64 {
  2554  						return ErrIntOverflowStatsinfo
  2555  					}
  2556  					if iNdEx >= l {
  2557  						return io.ErrUnexpectedEOF
  2558  					}
  2559  					b := dAtA[iNdEx]
  2560  					iNdEx++
  2561  					wire |= uint64(b&0x7F) << shift
  2562  					if b < 0x80 {
  2563  						break
  2564  					}
  2565  				}
  2566  				fieldNum := int32(wire >> 3)
  2567  				if fieldNum == 1 {
  2568  					var stringLenmapkey uint64
  2569  					for shift := uint(0); ; shift += 7 {
  2570  						if shift >= 64 {
  2571  							return ErrIntOverflowStatsinfo
  2572  						}
  2573  						if iNdEx >= l {
  2574  							return io.ErrUnexpectedEOF
  2575  						}
  2576  						b := dAtA[iNdEx]
  2577  						iNdEx++
  2578  						stringLenmapkey |= uint64(b&0x7F) << shift
  2579  						if b < 0x80 {
  2580  							break
  2581  						}
  2582  					}
  2583  					intStringLenmapkey := int(stringLenmapkey)
  2584  					if intStringLenmapkey < 0 {
  2585  						return ErrInvalidLengthStatsinfo
  2586  					}
  2587  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2588  					if postStringIndexmapkey < 0 {
  2589  						return ErrInvalidLengthStatsinfo
  2590  					}
  2591  					if postStringIndexmapkey > l {
  2592  						return io.ErrUnexpectedEOF
  2593  					}
  2594  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2595  					iNdEx = postStringIndexmapkey
  2596  				} else if fieldNum == 2 {
  2597  					for shift := uint(0); ; shift += 7 {
  2598  						if shift >= 64 {
  2599  							return ErrIntOverflowStatsinfo
  2600  						}
  2601  						if iNdEx >= l {
  2602  							return io.ErrUnexpectedEOF
  2603  						}
  2604  						b := dAtA[iNdEx]
  2605  						iNdEx++
  2606  						mapvalue |= uint64(b&0x7F) << shift
  2607  						if b < 0x80 {
  2608  							break
  2609  						}
  2610  					}
  2611  				} else {
  2612  					iNdEx = entryPreIndex
  2613  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2614  					if err != nil {
  2615  						return err
  2616  					}
  2617  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2618  						return ErrInvalidLengthStatsinfo
  2619  					}
  2620  					if (iNdEx + skippy) > postIndex {
  2621  						return io.ErrUnexpectedEOF
  2622  					}
  2623  					iNdEx += skippy
  2624  				}
  2625  			}
  2626  			m.NullCntMap[mapkey] = mapvalue
  2627  			iNdEx = postIndex
  2628  		case 6:
  2629  			if wireType != 2 {
  2630  				return fmt.Errorf("proto: wrong wireType = %d for field SizeMap", wireType)
  2631  			}
  2632  			var msglen int
  2633  			for shift := uint(0); ; shift += 7 {
  2634  				if shift >= 64 {
  2635  					return ErrIntOverflowStatsinfo
  2636  				}
  2637  				if iNdEx >= l {
  2638  					return io.ErrUnexpectedEOF
  2639  				}
  2640  				b := dAtA[iNdEx]
  2641  				iNdEx++
  2642  				msglen |= int(b&0x7F) << shift
  2643  				if b < 0x80 {
  2644  					break
  2645  				}
  2646  			}
  2647  			if msglen < 0 {
  2648  				return ErrInvalidLengthStatsinfo
  2649  			}
  2650  			postIndex := iNdEx + msglen
  2651  			if postIndex < 0 {
  2652  				return ErrInvalidLengthStatsinfo
  2653  			}
  2654  			if postIndex > l {
  2655  				return io.ErrUnexpectedEOF
  2656  			}
  2657  			if m.SizeMap == nil {
  2658  				m.SizeMap = make(map[string]uint64)
  2659  			}
  2660  			var mapkey string
  2661  			var mapvalue uint64
  2662  			for iNdEx < postIndex {
  2663  				entryPreIndex := iNdEx
  2664  				var wire uint64
  2665  				for shift := uint(0); ; shift += 7 {
  2666  					if shift >= 64 {
  2667  						return ErrIntOverflowStatsinfo
  2668  					}
  2669  					if iNdEx >= l {
  2670  						return io.ErrUnexpectedEOF
  2671  					}
  2672  					b := dAtA[iNdEx]
  2673  					iNdEx++
  2674  					wire |= uint64(b&0x7F) << shift
  2675  					if b < 0x80 {
  2676  						break
  2677  					}
  2678  				}
  2679  				fieldNum := int32(wire >> 3)
  2680  				if fieldNum == 1 {
  2681  					var stringLenmapkey uint64
  2682  					for shift := uint(0); ; shift += 7 {
  2683  						if shift >= 64 {
  2684  							return ErrIntOverflowStatsinfo
  2685  						}
  2686  						if iNdEx >= l {
  2687  							return io.ErrUnexpectedEOF
  2688  						}
  2689  						b := dAtA[iNdEx]
  2690  						iNdEx++
  2691  						stringLenmapkey |= uint64(b&0x7F) << shift
  2692  						if b < 0x80 {
  2693  							break
  2694  						}
  2695  					}
  2696  					intStringLenmapkey := int(stringLenmapkey)
  2697  					if intStringLenmapkey < 0 {
  2698  						return ErrInvalidLengthStatsinfo
  2699  					}
  2700  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2701  					if postStringIndexmapkey < 0 {
  2702  						return ErrInvalidLengthStatsinfo
  2703  					}
  2704  					if postStringIndexmapkey > l {
  2705  						return io.ErrUnexpectedEOF
  2706  					}
  2707  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2708  					iNdEx = postStringIndexmapkey
  2709  				} else if fieldNum == 2 {
  2710  					for shift := uint(0); ; shift += 7 {
  2711  						if shift >= 64 {
  2712  							return ErrIntOverflowStatsinfo
  2713  						}
  2714  						if iNdEx >= l {
  2715  							return io.ErrUnexpectedEOF
  2716  						}
  2717  						b := dAtA[iNdEx]
  2718  						iNdEx++
  2719  						mapvalue |= uint64(b&0x7F) << shift
  2720  						if b < 0x80 {
  2721  							break
  2722  						}
  2723  					}
  2724  				} else {
  2725  					iNdEx = entryPreIndex
  2726  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2727  					if err != nil {
  2728  						return err
  2729  					}
  2730  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2731  						return ErrInvalidLengthStatsinfo
  2732  					}
  2733  					if (iNdEx + skippy) > postIndex {
  2734  						return io.ErrUnexpectedEOF
  2735  					}
  2736  					iNdEx += skippy
  2737  				}
  2738  			}
  2739  			m.SizeMap[mapkey] = mapvalue
  2740  			iNdEx = postIndex
  2741  		case 7:
  2742  			if wireType != 2 {
  2743  				return fmt.Errorf("proto: wrong wireType = %d for field ShuffleRangeMap", wireType)
  2744  			}
  2745  			var msglen int
  2746  			for shift := uint(0); ; shift += 7 {
  2747  				if shift >= 64 {
  2748  					return ErrIntOverflowStatsinfo
  2749  				}
  2750  				if iNdEx >= l {
  2751  					return io.ErrUnexpectedEOF
  2752  				}
  2753  				b := dAtA[iNdEx]
  2754  				iNdEx++
  2755  				msglen |= int(b&0x7F) << shift
  2756  				if b < 0x80 {
  2757  					break
  2758  				}
  2759  			}
  2760  			if msglen < 0 {
  2761  				return ErrInvalidLengthStatsinfo
  2762  			}
  2763  			postIndex := iNdEx + msglen
  2764  			if postIndex < 0 {
  2765  				return ErrInvalidLengthStatsinfo
  2766  			}
  2767  			if postIndex > l {
  2768  				return io.ErrUnexpectedEOF
  2769  			}
  2770  			if m.ShuffleRangeMap == nil {
  2771  				m.ShuffleRangeMap = make(map[string]*ShuffleRange)
  2772  			}
  2773  			var mapkey string
  2774  			var mapvalue *ShuffleRange
  2775  			for iNdEx < postIndex {
  2776  				entryPreIndex := iNdEx
  2777  				var wire uint64
  2778  				for shift := uint(0); ; shift += 7 {
  2779  					if shift >= 64 {
  2780  						return ErrIntOverflowStatsinfo
  2781  					}
  2782  					if iNdEx >= l {
  2783  						return io.ErrUnexpectedEOF
  2784  					}
  2785  					b := dAtA[iNdEx]
  2786  					iNdEx++
  2787  					wire |= uint64(b&0x7F) << shift
  2788  					if b < 0x80 {
  2789  						break
  2790  					}
  2791  				}
  2792  				fieldNum := int32(wire >> 3)
  2793  				if fieldNum == 1 {
  2794  					var stringLenmapkey uint64
  2795  					for shift := uint(0); ; shift += 7 {
  2796  						if shift >= 64 {
  2797  							return ErrIntOverflowStatsinfo
  2798  						}
  2799  						if iNdEx >= l {
  2800  							return io.ErrUnexpectedEOF
  2801  						}
  2802  						b := dAtA[iNdEx]
  2803  						iNdEx++
  2804  						stringLenmapkey |= uint64(b&0x7F) << shift
  2805  						if b < 0x80 {
  2806  							break
  2807  						}
  2808  					}
  2809  					intStringLenmapkey := int(stringLenmapkey)
  2810  					if intStringLenmapkey < 0 {
  2811  						return ErrInvalidLengthStatsinfo
  2812  					}
  2813  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2814  					if postStringIndexmapkey < 0 {
  2815  						return ErrInvalidLengthStatsinfo
  2816  					}
  2817  					if postStringIndexmapkey > l {
  2818  						return io.ErrUnexpectedEOF
  2819  					}
  2820  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2821  					iNdEx = postStringIndexmapkey
  2822  				} else if fieldNum == 2 {
  2823  					var mapmsglen int
  2824  					for shift := uint(0); ; shift += 7 {
  2825  						if shift >= 64 {
  2826  							return ErrIntOverflowStatsinfo
  2827  						}
  2828  						if iNdEx >= l {
  2829  							return io.ErrUnexpectedEOF
  2830  						}
  2831  						b := dAtA[iNdEx]
  2832  						iNdEx++
  2833  						mapmsglen |= int(b&0x7F) << shift
  2834  						if b < 0x80 {
  2835  							break
  2836  						}
  2837  					}
  2838  					if mapmsglen < 0 {
  2839  						return ErrInvalidLengthStatsinfo
  2840  					}
  2841  					postmsgIndex := iNdEx + mapmsglen
  2842  					if postmsgIndex < 0 {
  2843  						return ErrInvalidLengthStatsinfo
  2844  					}
  2845  					if postmsgIndex > l {
  2846  						return io.ErrUnexpectedEOF
  2847  					}
  2848  					mapvalue = &ShuffleRange{}
  2849  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  2850  						return err
  2851  					}
  2852  					iNdEx = postmsgIndex
  2853  				} else {
  2854  					iNdEx = entryPreIndex
  2855  					skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2856  					if err != nil {
  2857  						return err
  2858  					}
  2859  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2860  						return ErrInvalidLengthStatsinfo
  2861  					}
  2862  					if (iNdEx + skippy) > postIndex {
  2863  						return io.ErrUnexpectedEOF
  2864  					}
  2865  					iNdEx += skippy
  2866  				}
  2867  			}
  2868  			m.ShuffleRangeMap[mapkey] = mapvalue
  2869  			iNdEx = postIndex
  2870  		case 8:
  2871  			if wireType != 0 {
  2872  				return fmt.Errorf("proto: wrong wireType = %d for field BlockNumber", wireType)
  2873  			}
  2874  			m.BlockNumber = 0
  2875  			for shift := uint(0); ; shift += 7 {
  2876  				if shift >= 64 {
  2877  					return ErrIntOverflowStatsinfo
  2878  				}
  2879  				if iNdEx >= l {
  2880  					return io.ErrUnexpectedEOF
  2881  				}
  2882  				b := dAtA[iNdEx]
  2883  				iNdEx++
  2884  				m.BlockNumber |= int64(b&0x7F) << shift
  2885  				if b < 0x80 {
  2886  					break
  2887  				}
  2888  			}
  2889  		case 9:
  2890  			if wireType != 0 {
  2891  				return fmt.Errorf("proto: wrong wireType = %d for field AccurateObjectNumber", wireType)
  2892  			}
  2893  			m.AccurateObjectNumber = 0
  2894  			for shift := uint(0); ; shift += 7 {
  2895  				if shift >= 64 {
  2896  					return ErrIntOverflowStatsinfo
  2897  				}
  2898  				if iNdEx >= l {
  2899  					return io.ErrUnexpectedEOF
  2900  				}
  2901  				b := dAtA[iNdEx]
  2902  				iNdEx++
  2903  				m.AccurateObjectNumber |= int64(b&0x7F) << shift
  2904  				if b < 0x80 {
  2905  					break
  2906  				}
  2907  			}
  2908  		case 10:
  2909  			if wireType != 0 {
  2910  				return fmt.Errorf("proto: wrong wireType = %d for field ApproxObjectNumber", wireType)
  2911  			}
  2912  			m.ApproxObjectNumber = 0
  2913  			for shift := uint(0); ; shift += 7 {
  2914  				if shift >= 64 {
  2915  					return ErrIntOverflowStatsinfo
  2916  				}
  2917  				if iNdEx >= l {
  2918  					return io.ErrUnexpectedEOF
  2919  				}
  2920  				b := dAtA[iNdEx]
  2921  				iNdEx++
  2922  				m.ApproxObjectNumber |= int64(b&0x7F) << shift
  2923  				if b < 0x80 {
  2924  					break
  2925  				}
  2926  			}
  2927  		case 11:
  2928  			if wireType != 1 {
  2929  				return fmt.Errorf("proto: wrong wireType = %d for field TableCnt", wireType)
  2930  			}
  2931  			var v uint64
  2932  			if (iNdEx + 8) > l {
  2933  				return io.ErrUnexpectedEOF
  2934  			}
  2935  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2936  			iNdEx += 8
  2937  			m.TableCnt = float64(math.Float64frombits(v))
  2938  		case 12:
  2939  			if wireType != 2 {
  2940  				return fmt.Errorf("proto: wrong wireType = %d for field TableName", wireType)
  2941  			}
  2942  			var stringLen uint64
  2943  			for shift := uint(0); ; shift += 7 {
  2944  				if shift >= 64 {
  2945  					return ErrIntOverflowStatsinfo
  2946  				}
  2947  				if iNdEx >= l {
  2948  					return io.ErrUnexpectedEOF
  2949  				}
  2950  				b := dAtA[iNdEx]
  2951  				iNdEx++
  2952  				stringLen |= uint64(b&0x7F) << shift
  2953  				if b < 0x80 {
  2954  					break
  2955  				}
  2956  			}
  2957  			intStringLen := int(stringLen)
  2958  			if intStringLen < 0 {
  2959  				return ErrInvalidLengthStatsinfo
  2960  			}
  2961  			postIndex := iNdEx + intStringLen
  2962  			if postIndex < 0 {
  2963  				return ErrInvalidLengthStatsinfo
  2964  			}
  2965  			if postIndex > l {
  2966  				return io.ErrUnexpectedEOF
  2967  			}
  2968  			m.TableName = string(dAtA[iNdEx:postIndex])
  2969  			iNdEx = postIndex
  2970  		default:
  2971  			iNdEx = preIndex
  2972  			skippy, err := skipStatsinfo(dAtA[iNdEx:])
  2973  			if err != nil {
  2974  				return err
  2975  			}
  2976  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2977  				return ErrInvalidLengthStatsinfo
  2978  			}
  2979  			if (iNdEx + skippy) > l {
  2980  				return io.ErrUnexpectedEOF
  2981  			}
  2982  			iNdEx += skippy
  2983  		}
  2984  	}
  2985  
  2986  	if iNdEx > l {
  2987  		return io.ErrUnexpectedEOF
  2988  	}
  2989  	return nil
  2990  }
  2991  func (m *StatsInfoKey) Unmarshal(dAtA []byte) error {
  2992  	l := len(dAtA)
  2993  	iNdEx := 0
  2994  	for iNdEx < l {
  2995  		preIndex := iNdEx
  2996  		var wire uint64
  2997  		for shift := uint(0); ; shift += 7 {
  2998  			if shift >= 64 {
  2999  				return ErrIntOverflowStatsinfo
  3000  			}
  3001  			if iNdEx >= l {
  3002  				return io.ErrUnexpectedEOF
  3003  			}
  3004  			b := dAtA[iNdEx]
  3005  			iNdEx++
  3006  			wire |= uint64(b&0x7F) << shift
  3007  			if b < 0x80 {
  3008  				break
  3009  			}
  3010  		}
  3011  		fieldNum := int32(wire >> 3)
  3012  		wireType := int(wire & 0x7)
  3013  		if wireType == 4 {
  3014  			return fmt.Errorf("proto: StatsInfoKey: wiretype end group for non-group")
  3015  		}
  3016  		if fieldNum <= 0 {
  3017  			return fmt.Errorf("proto: StatsInfoKey: illegal tag %d (wire type %d)", fieldNum, wire)
  3018  		}
  3019  		switch fieldNum {
  3020  		case 1:
  3021  			if wireType != 0 {
  3022  				return fmt.Errorf("proto: wrong wireType = %d for field DatabaseID", wireType)
  3023  			}
  3024  			m.DatabaseID = 0
  3025  			for shift := uint(0); ; shift += 7 {
  3026  				if shift >= 64 {
  3027  					return ErrIntOverflowStatsinfo
  3028  				}
  3029  				if iNdEx >= l {
  3030  					return io.ErrUnexpectedEOF
  3031  				}
  3032  				b := dAtA[iNdEx]
  3033  				iNdEx++
  3034  				m.DatabaseID |= uint64(b&0x7F) << shift
  3035  				if b < 0x80 {
  3036  					break
  3037  				}
  3038  			}
  3039  		case 2:
  3040  			if wireType != 0 {
  3041  				return fmt.Errorf("proto: wrong wireType = %d for field TableID", wireType)
  3042  			}
  3043  			m.TableID = 0
  3044  			for shift := uint(0); ; shift += 7 {
  3045  				if shift >= 64 {
  3046  					return ErrIntOverflowStatsinfo
  3047  				}
  3048  				if iNdEx >= l {
  3049  					return io.ErrUnexpectedEOF
  3050  				}
  3051  				b := dAtA[iNdEx]
  3052  				iNdEx++
  3053  				m.TableID |= uint64(b&0x7F) << shift
  3054  				if b < 0x80 {
  3055  					break
  3056  				}
  3057  			}
  3058  		default:
  3059  			iNdEx = preIndex
  3060  			skippy, err := skipStatsinfo(dAtA[iNdEx:])
  3061  			if err != nil {
  3062  				return err
  3063  			}
  3064  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3065  				return ErrInvalidLengthStatsinfo
  3066  			}
  3067  			if (iNdEx + skippy) > l {
  3068  				return io.ErrUnexpectedEOF
  3069  			}
  3070  			iNdEx += skippy
  3071  		}
  3072  	}
  3073  
  3074  	if iNdEx > l {
  3075  		return io.ErrUnexpectedEOF
  3076  	}
  3077  	return nil
  3078  }
  3079  func (m *StatsInfoKeys) Unmarshal(dAtA []byte) error {
  3080  	l := len(dAtA)
  3081  	iNdEx := 0
  3082  	for iNdEx < l {
  3083  		preIndex := iNdEx
  3084  		var wire uint64
  3085  		for shift := uint(0); ; shift += 7 {
  3086  			if shift >= 64 {
  3087  				return ErrIntOverflowStatsinfo
  3088  			}
  3089  			if iNdEx >= l {
  3090  				return io.ErrUnexpectedEOF
  3091  			}
  3092  			b := dAtA[iNdEx]
  3093  			iNdEx++
  3094  			wire |= uint64(b&0x7F) << shift
  3095  			if b < 0x80 {
  3096  				break
  3097  			}
  3098  		}
  3099  		fieldNum := int32(wire >> 3)
  3100  		wireType := int(wire & 0x7)
  3101  		if wireType == 4 {
  3102  			return fmt.Errorf("proto: StatsInfoKeys: wiretype end group for non-group")
  3103  		}
  3104  		if fieldNum <= 0 {
  3105  			return fmt.Errorf("proto: StatsInfoKeys: illegal tag %d (wire type %d)", fieldNum, wire)
  3106  		}
  3107  		switch fieldNum {
  3108  		case 1:
  3109  			if wireType != 2 {
  3110  				return fmt.Errorf("proto: wrong wireType = %d for field Keys", wireType)
  3111  			}
  3112  			var msglen int
  3113  			for shift := uint(0); ; shift += 7 {
  3114  				if shift >= 64 {
  3115  					return ErrIntOverflowStatsinfo
  3116  				}
  3117  				if iNdEx >= l {
  3118  					return io.ErrUnexpectedEOF
  3119  				}
  3120  				b := dAtA[iNdEx]
  3121  				iNdEx++
  3122  				msglen |= int(b&0x7F) << shift
  3123  				if b < 0x80 {
  3124  					break
  3125  				}
  3126  			}
  3127  			if msglen < 0 {
  3128  				return ErrInvalidLengthStatsinfo
  3129  			}
  3130  			postIndex := iNdEx + msglen
  3131  			if postIndex < 0 {
  3132  				return ErrInvalidLengthStatsinfo
  3133  			}
  3134  			if postIndex > l {
  3135  				return io.ErrUnexpectedEOF
  3136  			}
  3137  			m.Keys = append(m.Keys, StatsInfoKey{})
  3138  			if err := m.Keys[len(m.Keys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3139  				return err
  3140  			}
  3141  			iNdEx = postIndex
  3142  		default:
  3143  			iNdEx = preIndex
  3144  			skippy, err := skipStatsinfo(dAtA[iNdEx:])
  3145  			if err != nil {
  3146  				return err
  3147  			}
  3148  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3149  				return ErrInvalidLengthStatsinfo
  3150  			}
  3151  			if (iNdEx + skippy) > l {
  3152  				return io.ErrUnexpectedEOF
  3153  			}
  3154  			iNdEx += skippy
  3155  		}
  3156  	}
  3157  
  3158  	if iNdEx > l {
  3159  		return io.ErrUnexpectedEOF
  3160  	}
  3161  	return nil
  3162  }
  3163  func skipStatsinfo(dAtA []byte) (n int, err error) {
  3164  	l := len(dAtA)
  3165  	iNdEx := 0
  3166  	depth := 0
  3167  	for iNdEx < l {
  3168  		var wire uint64
  3169  		for shift := uint(0); ; shift += 7 {
  3170  			if shift >= 64 {
  3171  				return 0, ErrIntOverflowStatsinfo
  3172  			}
  3173  			if iNdEx >= l {
  3174  				return 0, io.ErrUnexpectedEOF
  3175  			}
  3176  			b := dAtA[iNdEx]
  3177  			iNdEx++
  3178  			wire |= (uint64(b) & 0x7F) << shift
  3179  			if b < 0x80 {
  3180  				break
  3181  			}
  3182  		}
  3183  		wireType := int(wire & 0x7)
  3184  		switch wireType {
  3185  		case 0:
  3186  			for shift := uint(0); ; shift += 7 {
  3187  				if shift >= 64 {
  3188  					return 0, ErrIntOverflowStatsinfo
  3189  				}
  3190  				if iNdEx >= l {
  3191  					return 0, io.ErrUnexpectedEOF
  3192  				}
  3193  				iNdEx++
  3194  				if dAtA[iNdEx-1] < 0x80 {
  3195  					break
  3196  				}
  3197  			}
  3198  		case 1:
  3199  			iNdEx += 8
  3200  		case 2:
  3201  			var length int
  3202  			for shift := uint(0); ; shift += 7 {
  3203  				if shift >= 64 {
  3204  					return 0, ErrIntOverflowStatsinfo
  3205  				}
  3206  				if iNdEx >= l {
  3207  					return 0, io.ErrUnexpectedEOF
  3208  				}
  3209  				b := dAtA[iNdEx]
  3210  				iNdEx++
  3211  				length |= (int(b) & 0x7F) << shift
  3212  				if b < 0x80 {
  3213  					break
  3214  				}
  3215  			}
  3216  			if length < 0 {
  3217  				return 0, ErrInvalidLengthStatsinfo
  3218  			}
  3219  			iNdEx += length
  3220  		case 3:
  3221  			depth++
  3222  		case 4:
  3223  			if depth == 0 {
  3224  				return 0, ErrUnexpectedEndOfGroupStatsinfo
  3225  			}
  3226  			depth--
  3227  		case 5:
  3228  			iNdEx += 4
  3229  		default:
  3230  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3231  		}
  3232  		if iNdEx < 0 {
  3233  			return 0, ErrInvalidLengthStatsinfo
  3234  		}
  3235  		if depth == 0 {
  3236  			return iNdEx, nil
  3237  		}
  3238  	}
  3239  	return 0, io.ErrUnexpectedEOF
  3240  }
  3241  
  3242  var (
  3243  	ErrInvalidLengthStatsinfo        = fmt.Errorf("proto: negative length found during unmarshaling")
  3244  	ErrIntOverflowStatsinfo          = fmt.Errorf("proto: integer overflow")
  3245  	ErrUnexpectedEndOfGroupStatsinfo = fmt.Errorf("proto: unexpected end of group")
  3246  )