store/tikv: use tikv.error.ErrCannotSetNilValue instead of kv error (#24350)
This commit is contained in:
@ -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)
|
||||
}
|
||||
|
||||
@ -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")
|
||||
)
|
||||
|
||||
@ -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...)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user