mirror of
https://github.com/nalgeon/redka.git
synced 2025-12-24 12:38:00 +08:00
refactor: command - always return nil on error
This commit is contained in:
@@ -36,7 +36,7 @@ func (cmd *Expire) Run(w Writer, red Redka) (any, error) {
|
||||
err := red.Key().Expire(cmd.key, cmd.ttl)
|
||||
if err != nil && err != core.ErrNotFound {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
if err == core.ErrNotFound {
|
||||
w.WriteInt(0)
|
||||
|
||||
@@ -36,7 +36,7 @@ func (cmd *ExpireAt) Run(w Writer, red Redka) (any, error) {
|
||||
err := red.Key().ExpireAt(cmd.key, cmd.at)
|
||||
if err != nil && err != core.ErrNotFound {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
if err == core.ErrNotFound {
|
||||
w.WriteInt(0)
|
||||
|
||||
@@ -19,7 +19,7 @@ func (cmd *FlushDB) Run(w Writer, red Redka) (any, error) {
|
||||
err := red.Key().DeleteAll()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteString("OK")
|
||||
return true, nil
|
||||
|
||||
@@ -27,7 +27,7 @@ func (cmd *Get) Run(w Writer, red Redka) (any, error) {
|
||||
}
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return val, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteBulk(val)
|
||||
return val, nil
|
||||
|
||||
@@ -29,7 +29,7 @@ func (cmd *HGet) Run(w Writer, red Redka) (any, error) {
|
||||
}
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return val, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteBulk(val)
|
||||
return val, nil
|
||||
|
||||
@@ -23,7 +23,7 @@ func (cmd *Persist) Run(w Writer, red Redka) (any, error) {
|
||||
err := red.Key().Persist(cmd.key)
|
||||
if err != nil && err != core.ErrNotFound {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
if err == core.ErrNotFound {
|
||||
w.WriteInt(0)
|
||||
|
||||
@@ -23,7 +23,7 @@ func (cmd *Rename) Run(w Writer, red Redka) (any, error) {
|
||||
err := red.Key().Rename(cmd.key, cmd.newKey)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteString("OK")
|
||||
return true, nil
|
||||
|
||||
@@ -121,7 +121,7 @@ func TestRenameExec(t *testing.T) {
|
||||
conn := new(fakeConn)
|
||||
res, err := cmd.Run(conn, red)
|
||||
testx.AssertEqual(t, err, core.ErrNotFound)
|
||||
testx.AssertEqual(t, res, false)
|
||||
testx.AssertEqual(t, res, nil)
|
||||
testx.AssertEqual(t, strings.HasPrefix(conn.out(), ErrNotFound.Error()), true)
|
||||
|
||||
key, _ := db.Key().Get("name")
|
||||
|
||||
@@ -23,7 +23,7 @@ func (cmd *RenameNX) Run(w Writer, red Redka) (any, error) {
|
||||
ok, err := red.Key().RenameNotExists(cmd.key, cmd.newKey)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
if ok {
|
||||
w.WriteInt(1)
|
||||
|
||||
@@ -123,7 +123,7 @@ func TestRenameNXExec(t *testing.T) {
|
||||
conn := new(fakeConn)
|
||||
res, err := cmd.Run(conn, red)
|
||||
testx.AssertEqual(t, err, core.ErrNotFound)
|
||||
testx.AssertEqual(t, res, false)
|
||||
testx.AssertEqual(t, res, nil)
|
||||
testx.AssertEqual(t, strings.HasPrefix(conn.out(), ErrNotFound.Error()), true)
|
||||
|
||||
key, _ := db.Key().Get("name")
|
||||
|
||||
@@ -71,7 +71,7 @@ func (cmd *Set) Run(w Writer, red Redka) (any, error) {
|
||||
err := red.Str().SetExpires(cmd.key, cmd.value, cmd.ttl)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteString("OK")
|
||||
return true, nil
|
||||
|
||||
@@ -13,5 +13,5 @@ func parseUnknown(b baseCmd) (*Unknown, error) {
|
||||
func (cmd *Unknown) Run(w Writer, _ Redka) (any, error) {
|
||||
err := ErrUnknownCmd
|
||||
w.WriteError(cmd.Error(err))
|
||||
return false, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ func (cmd *ZAdd) Run(w Writer, red Redka) (any, error) {
|
||||
count, err := red.ZSet().AddMany(cmd.key, cmd.items)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return 0, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteInt(count)
|
||||
return count, nil
|
||||
|
||||
@@ -146,7 +146,7 @@ func TestZAddExec(t *testing.T) {
|
||||
conn := new(fakeConn)
|
||||
res, err := cmd.Run(conn, red)
|
||||
testx.AssertErr(t, err, core.ErrKeyType)
|
||||
testx.AssertEqual(t, res, 0)
|
||||
testx.AssertEqual(t, res, nil)
|
||||
testx.AssertEqual(t, conn.out(), ErrKeyType.Error()+" (zadd)")
|
||||
})
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ func (cmd *ZCard) Run(w Writer, red Redka) (any, error) {
|
||||
n, err := red.ZSet().Len(cmd.key)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return 0, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteInt(n)
|
||||
return n, nil
|
||||
|
||||
@@ -29,7 +29,7 @@ func (cmd *ZCount) Run(w Writer, red Redka) (any, error) {
|
||||
n, err := red.ZSet().Count(cmd.key, cmd.min, cmd.max)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return 0, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteInt(n)
|
||||
return n, nil
|
||||
|
||||
@@ -44,7 +44,7 @@ func (cmd *ZInterStore) Run(w Writer, red Redka) (any, error) {
|
||||
count, err := inter.Store()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return count, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
w.WriteInt(count)
|
||||
|
||||
@@ -258,7 +258,7 @@ func TestZInterStoreExec(t *testing.T) {
|
||||
conn := new(fakeConn)
|
||||
res, err := cmd.Run(conn, red)
|
||||
testx.AssertErr(t, err, core.ErrKeyType)
|
||||
testx.AssertEqual(t, res, 0)
|
||||
testx.AssertEqual(t, res, nil)
|
||||
testx.AssertEqual(t, conn.out(), ErrKeyType.Error()+" (zinterstore)")
|
||||
|
||||
dest, _ := db.Str().Get("dest")
|
||||
|
||||
@@ -63,7 +63,7 @@ func (cmd *ZRange) Run(w Writer, red Redka) (any, error) {
|
||||
items, err := rang.Run()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return items, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// write the response with/without scores
|
||||
|
||||
@@ -47,7 +47,7 @@ func (cmd *ZRangeByScore) Run(w Writer, red Redka) (any, error) {
|
||||
items, err := rang.Run()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return items, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// write the response with/without scores
|
||||
|
||||
@@ -29,7 +29,7 @@ func (cmd *ZRem) Run(w Writer, red Redka) (any, error) {
|
||||
n, err := red.ZSet().Delete(cmd.key, cmd.members...)
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return 0, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteInt(n)
|
||||
return n, nil
|
||||
|
||||
@@ -31,7 +31,7 @@ func (cmd *ZRemRangeByRank) Run(w Writer, red Redka) (any, error) {
|
||||
n, err := red.ZSet().DeleteWith(cmd.key).ByRank(cmd.start, cmd.stop).Run()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return 0, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteInt(n)
|
||||
return n, nil
|
||||
|
||||
@@ -31,7 +31,7 @@ func (cmd *ZRemRangeByScore) Run(w Writer, red Redka) (any, error) {
|
||||
n, err := red.ZSet().DeleteWith(cmd.key).ByScore(cmd.min, cmd.max).Run()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return 0, err
|
||||
return nil, err
|
||||
}
|
||||
w.WriteInt(n)
|
||||
return n, nil
|
||||
|
||||
@@ -33,7 +33,7 @@ func (cmd *ZRevRange) Run(w Writer, red Redka) (any, error) {
|
||||
items, err := red.ZSet().RangeWith(cmd.key).ByRank(cmd.start, cmd.stop).Desc().Run()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return items, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// write the response with/without scores
|
||||
|
||||
@@ -47,7 +47,7 @@ func (cmd *ZRevRangeByScore) Run(w Writer, red Redka) (any, error) {
|
||||
items, err := rang.Run()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return items, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// write the response with/without scores
|
||||
|
||||
@@ -44,7 +44,7 @@ func (cmd *ZUnionStore) Run(w Writer, red Redka) (any, error) {
|
||||
count, err := union.Store()
|
||||
if err != nil {
|
||||
w.WriteError(cmd.Error(err))
|
||||
return count, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
w.WriteInt(count)
|
||||
|
||||
@@ -244,7 +244,7 @@ func TestZUnionStoreExec(t *testing.T) {
|
||||
conn := new(fakeConn)
|
||||
res, err := cmd.Run(conn, red)
|
||||
testx.AssertErr(t, err, core.ErrKeyType)
|
||||
testx.AssertEqual(t, res, 0)
|
||||
testx.AssertEqual(t, res, nil)
|
||||
testx.AssertEqual(t, conn.out(), ErrKeyType.Error()+" (zunionstore)")
|
||||
|
||||
dest, _ := db.Str().Get("dest")
|
||||
|
||||
Reference in New Issue
Block a user