mirror of https://github.com/tikv/client-go.git
Add an RemoveFromBuffer method for test (#387)
* export DeleteKey Signed-off-by: ekexium <ekexium@gmail.com> * rename DeleteKey to UnsafeRemoveRecord Signed-off-by: ekexium <ekexium@gmail.com> * rename the old DeleteKey Signed-off-by: ekexium <ekexium@gmail.com>
This commit is contained in:
parent
b11da6307c
commit
350b6ce9fb
|
|
@ -833,3 +833,13 @@ func (n *memdbNode) getKeyFlags() kv.KeyFlags {
|
||||||
func (n *memdbNode) setKeyFlags(f kv.KeyFlags) {
|
func (n *memdbNode) setKeyFlags(f kv.KeyFlags) {
|
||||||
n.flags = (^nodeFlagsMask & n.flags) | uint16(f)
|
n.flags = (^nodeFlagsMask & n.flags) | uint16(f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RemoveFromBuffer removes a record from the mem buffer. It should be only used for test.
|
||||||
|
func (db *MemDB) RemoveFromBuffer(key []byte) {
|
||||||
|
x := db.traverse(key, false)
|
||||||
|
if x.isNull() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
db.size -= len(db.vlog.getValue(x.vptr))
|
||||||
|
db.deleteNode(x)
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ func TestRandom(t *testing.T) {
|
||||||
for _, k := range keys {
|
for _, k := range keys {
|
||||||
op := rand.Float64()
|
op := rand.Float64()
|
||||||
if op < 0.35 {
|
if op < 0.35 {
|
||||||
p1.DeleteKey(k)
|
p1.RemoveFromBuffer(k)
|
||||||
p2.Delete(k)
|
p2.Delete(k)
|
||||||
} else {
|
} else {
|
||||||
newValue := make([]byte, rand.Intn(19)+1)
|
newValue := make([]byte, rand.Intn(19)+1)
|
||||||
|
|
|
||||||
|
|
@ -53,16 +53,6 @@ func init() {
|
||||||
testMode = true
|
testMode = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteKey is used in test to verify the `deleteNode` used in `vlog.revertToCheckpoint`.
|
|
||||||
func (db *MemDB) DeleteKey(key []byte) {
|
|
||||||
x := db.traverse(key, false)
|
|
||||||
if x.isNull() {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
db.size -= len(db.vlog.getValue(x.vptr))
|
|
||||||
db.deleteNode(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestGetSet(t *testing.T) {
|
func TestGetSet(t *testing.T) {
|
||||||
require := require.New(t)
|
require := require.New(t)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue