| Index: go/src/infra/gae/libs/gae/prod/raw_datastore_type_converter.go
|
| diff --git a/go/src/infra/gae/libs/gae/prod/raw_datastore_type_converter.go b/go/src/infra/gae/libs/gae/prod/raw_datastore_type_converter.go
|
| index 87fdce1400d00c1ff89281bc37ba9ca59c47f192..694b4c186ccf7f836e40632ddc219dbf01160064 100644
|
| --- a/go/src/infra/gae/libs/gae/prod/raw_datastore_type_converter.go
|
| +++ b/go/src/infra/gae/libs/gae/prod/raw_datastore_type_converter.go
|
| @@ -5,8 +5,6 @@
|
| package prod
|
|
|
| import (
|
| - "errors"
|
| -
|
| "infra/gae/libs/gae"
|
|
|
| "google.golang.org/appengine"
|
| @@ -14,13 +12,13 @@ import (
|
| )
|
|
|
| type typeFilter struct {
|
| - dps gae.DSPropertyLoadSaver
|
| + pls gae.DSPropertyLoadSaver
|
| }
|
|
|
| var _ datastore.PropertyLoadSaver = &typeFilter{}
|
|
|
| -func (tf *typeFilter) Load(props []datastore.Property) (err error) {
|
| - newProps := map[string][]gae.DSProperty{}
|
| +func (tf *typeFilter) Load(props []datastore.Property) error {
|
| + pmap := make(gae.DSPropertyMap, len(props))
|
| for _, p := range props {
|
| val := p.Value
|
| switch x := val.(type) {
|
| @@ -34,24 +32,16 @@ func (tf *typeFilter) Load(props []datastore.Property) (err error) {
|
| val = gae.DSGeoPoint(x)
|
| }
|
| prop := gae.DSProperty{}
|
| - if err = prop.SetValue(val, p.NoIndex); err != nil {
|
| + if err := prop.SetValue(val, p.NoIndex); err != nil {
|
| return err
|
| }
|
| - newProps[p.Name] = append(newProps[p.Name], prop)
|
| - }
|
| - convFailures, err := tf.dps.Load(newProps)
|
| - if err == nil && len(convFailures) > 0 {
|
| - me := make(gae.MultiError, len(convFailures))
|
| - for i, f := range convFailures {
|
| - me[i] = errors.New(f)
|
| - }
|
| - err = me
|
| + pmap[p.Name] = append(pmap[p.Name], prop)
|
| }
|
| - return
|
| + return tf.pls.Load(pmap)
|
| }
|
|
|
| func (tf *typeFilter) Save() ([]datastore.Property, error) {
|
| - newProps, err := tf.dps.Save()
|
| + newProps, err := tf.pls.Save(false)
|
| if err != nil {
|
| return nil, err
|
| }
|
|
|