github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/tidb/store/localstore/local_pd.go (about)

     1  package localstore
     2  
     3  import "github.com/insionng/yougam/libraries/pingcap/tidb/kv"
     4  
     5  type localPD struct {
     6  	regions []*regionInfo
     7  }
     8  
     9  type regionInfo struct {
    10  	startKey kv.Key
    11  	endKey   kv.Key
    12  	rs       *localRegion
    13  }
    14  
    15  func (pd *localPD) GetRegionInfo() []*regionInfo {
    16  	return pd.regions
    17  }
    18  
    19  func (pd *localPD) SetRegionInfo(regions []*regionInfo) {
    20  	pd.regions = regions
    21  }
    22  
    23  // ChangeRegionInfo used for test handling region info change.
    24  func ChangeRegionInfo(store kv.Storage, regionID int, startKey, endKey []byte) {
    25  	s := store.(*dbStore)
    26  	for i, region := range s.pd.regions {
    27  		if region.rs.id == regionID {
    28  			newRegionInfo := &regionInfo{
    29  				startKey: startKey,
    30  				endKey:   endKey,
    31  				rs:       region.rs,
    32  			}
    33  			region.rs.startKey = startKey
    34  			region.rs.endKey = endKey
    35  			s.pd.regions[i] = newRegionInfo
    36  			break
    37  		}
    38  	}
    39  }