Index: service/datastore/datastore.go |
diff --git a/service/datastore/datastore.go b/service/datastore/datastore.go |
index 6ded9554dbc2d809f932341baf424113e6a400b6..a6ae3e9e3509e2a9a0ab6bde7e90cb859d358699 100644 |
--- a/service/datastore/datastore.go |
+++ b/service/datastore/datastore.go |
@@ -62,8 +62,8 @@ func (d *datastoreImpl) Run(q *Query, cbIface interface{}) error { |
if firstArg == typeOfKey { |
isKey = true |
} else { |
- mat = parseArg(firstArg) |
- badSig = !mat.valid || mat.newElem == nil |
+ mat = parseArg(firstArg, false) |
+ badSig = mat.newElem == nil |
} |
} else { |
badSig = true |
@@ -143,7 +143,7 @@ func (d *datastoreImpl) GetAll(q *Query, dst interface{}) error { |
slice := v.Elem() |
mat := parseMultiArg(slice.Type()) |
- if !mat.valid || mat.newElem == nil { |
+ if mat.newElem == nil { |
return fmt.Errorf("invalid GetAll input type: %T", dst) |
} |
@@ -226,9 +226,6 @@ func (d *datastoreImpl) Delete(key *Key) (err error) { |
func (d *datastoreImpl) GetMulti(dst interface{}) error { |
slice := reflect.ValueOf(dst) |
mat := parseMultiArg(slice.Type()) |
- if !mat.valid { |
- return fmt.Errorf("invalid GetMulti input type: %T", dst) |
- } |
keys, pms, err := mat.GetKeysPMs(d.aid, d.ns, slice, true) |
if err != nil { |
@@ -254,9 +251,6 @@ func (d *datastoreImpl) GetMulti(dst interface{}) error { |
func (d *datastoreImpl) PutMulti(src interface{}) error { |
slice := reflect.ValueOf(src) |
mat := parseMultiArg(slice.Type()) |
- if !mat.valid { |
- return fmt.Errorf("invalid PutMulti input type: %T", src) |
- } |
keys, vals, err := mat.GetKeysPMs(d.aid, d.ns, slice, false) |
if err != nil { |