forked from pingcap/tidb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
local_pd.go
39 lines (33 loc) · 808 Bytes
/
local_pd.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package localstore
import "github.com/pingcap/tidb/kv"
type localPD struct {
regions []*regionInfo
}
type regionInfo struct {
startKey kv.Key
endKey kv.Key
rs *localRegion
}
func (pd *localPD) GetRegionInfo() []*regionInfo {
return pd.regions
}
func (pd *localPD) SetRegionInfo(regions []*regionInfo) {
pd.regions = regions
}
// ChangeRegionInfo used for test handling region info change.
func ChangeRegionInfo(store kv.Storage, regionID int, startKey, endKey []byte) {
s := store.(*dbStore)
for i, region := range s.pd.regions {
if region.rs.id == regionID {
newRegionInfo := ®ionInfo{
startKey: startKey,
endKey: endKey,
rs: region.rs,
}
region.rs.startKey = startKey
region.rs.endKey = endKey
s.pd.regions[i] = newRegionInfo
break
}
}
}