Script: Fix `Exists` to use hash instead of source (#726)

`SCRIPT EXISTS` accepts a hash, not the raw source: https://redis.io/commands/script-exists
This commit is contained in:
Evan Goldschmidt 2018-03-05 00:54:11 -08:00 committed by Vladimir Mihailenco
parent d0a2b8bdf3
commit 7acec74c59
2 changed files with 7 additions and 7 deletions

View File

@ -214,7 +214,7 @@ type Cmdable interface {
Time() *TimeCmd
Eval(script string, keys []string, args ...interface{}) *Cmd
EvalSha(sha1 string, keys []string, args ...interface{}) *Cmd
ScriptExists(scripts ...string) *BoolSliceCmd
ScriptExists(hashes ...string) *BoolSliceCmd
ScriptFlush() *StatusCmd
ScriptKill() *StatusCmd
ScriptLoad(script string) *StringCmd
@ -1884,12 +1884,12 @@ func (c *cmdable) EvalSha(sha1 string, keys []string, args ...interface{}) *Cmd
return cmd
}
func (c *cmdable) ScriptExists(scripts ...string) *BoolSliceCmd {
args := make([]interface{}, 2+len(scripts))
func (c *cmdable) ScriptExists(hashes ...string) *BoolSliceCmd {
args := make([]interface{}, 2+len(hashes))
args[0] = "script"
args[1] = "exists"
for i, script := range scripts {
args[2+i] = script
for i, hash := range hashes {
args[2+i] = hash
}
cmd := NewBoolSliceCmd(args...)
c.process(cmd)

View File

@ -10,7 +10,7 @@ import (
type scripter interface {
Eval(script string, keys []string, args ...interface{}) *Cmd
EvalSha(sha1 string, keys []string, args ...interface{}) *Cmd
ScriptExists(scripts ...string) *BoolSliceCmd
ScriptExists(hashes ...string) *BoolSliceCmd
ScriptLoad(script string) *StringCmd
}
@ -40,7 +40,7 @@ func (s *Script) Load(c scripter) *StringCmd {
}
func (s *Script) Exists(c scripter) *BoolSliceCmd {
return c.ScriptExists(s.src)
return c.ScriptExists(s.hash)
}
func (s *Script) Eval(c scripter, keys []string, args ...interface{}) *Cmd {