store/tikv: use tikv.error.ErrCannotSetNilValue instead of kv error (#24350)

This commit is contained in:
Shirly
2021-04-28 21:05:56 +08:00
committed by GitHub
parent 3f8e8beb21
commit 349221142b
3 changed files with 8 additions and 2 deletions

View File

@ -156,6 +156,10 @@ func toTiDBErr(err error) error {
return kv.ErrNotExist
}
if errors.ErrorEqual(err, tikverr.ErrCannotSetNilValue) {
return kv.ErrCannotSetNilValue
}
if e, ok := err.(*tikverr.ErrEntryTooLarge); ok {
return kv.ErrEntryTooLarge.GenWithStackByArgs(e.Limit, e.Size)
}

View File

@ -29,6 +29,8 @@ var (
ErrTiDBShuttingDown = errors.New("tidb server shutting down")
// ErrNotExist means the related data not exist.
ErrNotExist = errors.New("not exist")
// ErrCannotSetNilValue is the error when sets an empty value.
ErrCannotSetNilValue = errors.New("can not set nil value")
// ErrInvalidTxn is the error when commits or rollbacks in an invalid transaction.
ErrInvalidTxn = errors.New("invalid transaction")
)

View File

@ -217,7 +217,7 @@ func (db *MemDB) UpdateFlags(key []byte, ops ...kv.FlagsOp) {
// v must NOT be nil or empty, otherwise it returns ErrCannotSetNilValue.
func (db *MemDB) Set(key []byte, value []byte) error {
if len(value) == 0 {
return tidbkv.ErrCannotSetNilValue
return tikverr.ErrCannotSetNilValue
}
return db.set(key, value)
}
@ -225,7 +225,7 @@ func (db *MemDB) Set(key []byte, value []byte) error {
// SetWithFlags put key-value into the last active staging buffer with the given KeyFlags.
func (db *MemDB) SetWithFlags(key []byte, value []byte, ops ...kv.FlagsOp) error {
if len(value) == 0 {
return tidbkv.ErrCannotSetNilValue
return tikverr.ErrCannotSetNilValue
}
return db.set(key, value, ops...)
}