Index: service/datastore/datastore.go |
diff --git a/service/datastore/datastore.go b/service/datastore/datastore.go |
index b4f1220b0f1311b5753a4c8b511b811415e1883a..4bb31d4a5de096fdd2e2c9c8edd5ec8df608a14f 100644 |
--- a/service/datastore/datastore.go |
+++ b/service/datastore/datastore.go |
@@ -127,14 +127,15 @@ func (d *datastoreImpl) GetMulti(dst interface{}) error { |
return fmt.Errorf("invalid GetMulti input type: %T", dst) |
} |
- keys, err := mat.GetKeys(d.NewKey, slice) |
+ keys, pms, err := mat.GetKeysPMs(d.NewKey, slice) |
if err != nil { |
return err |
} |
lme := errors.LazyMultiError{Size: len(keys)} |
i := 0 |
- err = d.RawInterface.GetMulti(keys, func(pm PropertyMap, err error) { |
+ meta := NewMultiMetaGetter(pms) |
+ err = d.RawInterface.GetMulti(keys, meta, func(pm PropertyMap, err error) { |
if !lme.Assign(i, err) { |
lme.Assign(i, mat.setPM(slice.Index(i), pm)) |
} |
@@ -154,12 +155,7 @@ func (d *datastoreImpl) PutMulti(src interface{}) error { |
return fmt.Errorf("invalid PutMulti input type: %T", src) |
} |
- keys, err := mat.GetKeys(d.NewKey, slice) |
- if err != nil { |
- return err |
- } |
- |
- vals, err := mat.GetPMs(slice) |
+ keys, vals, err := mat.GetKeysPMs(d.NewKey, slice) |
if err != nil { |
return err |
} |