diff options
Diffstat (limited to 'pkg/commands/rename.go')
| -rw-r--r-- | pkg/commands/rename.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/commands/rename.go b/pkg/commands/rename.go new file mode 100644 index 0000000..6325fd4 --- /dev/null +++ b/pkg/commands/rename.go @@ -0,0 +1,19 @@ +package commands + +import ( + "errors" + "redisClone/pkg/core" +) + +func Rename(args []string, getShard func(k string) *core.Shard) interface{}{ + item, exists := getShard(args[1]).Data[args[1]] + if !exists { + + return errors.New("no such key") + } + + getShard(args[2]).Data[args[2]] = item + delete(getShard(args[1]).Data, args[1]) + + return core.SimpleString("OK") +} |
