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) {
|
||||
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 {
|
||||
op := rand.Float64()
|
||||
if op < 0.35 {
|
||||
p1.DeleteKey(k)
|
||||
p1.RemoveFromBuffer(k)
|
||||
p2.Delete(k)
|
||||
} else {
|
||||
newValue := make([]byte, rand.Intn(19)+1)
|
||||
|
|
|
|||
|
|
@ -53,16 +53,6 @@ func init() {
|
|||
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) {
|
||||
require := require.New(t)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue