| OLD | NEW | 
|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 package memory | 5 package memory | 
| 6 | 6 | 
| 7 import ( | 7 import ( | 
| 8         "errors" | 8         "errors" | 
| 9         "fmt" | 9         "fmt" | 
| 10 | 10 | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 61 func (d *dsImpl) DeleteMulti(keys []ds.Key, cb ds.DeleteMultiCB) error { | 61 func (d *dsImpl) DeleteMulti(keys []ds.Key, cb ds.DeleteMultiCB) error { | 
| 62         d.data.delMulti(keys, cb) | 62         d.data.delMulti(keys, cb) | 
| 63         return nil | 63         return nil | 
| 64 } | 64 } | 
| 65 | 65 | 
| 66 func (d *dsImpl) NewQuery(kind string) ds.Query { | 66 func (d *dsImpl) NewQuery(kind string) ds.Query { | 
| 67         return &queryImpl{ns: d.ns, kind: kind} | 67         return &queryImpl{ns: d.ns, kind: kind} | 
| 68 } | 68 } | 
| 69 | 69 | 
| 70 func (d *dsImpl) Run(q ds.Query, cb ds.RawRunCB) error { | 70 func (d *dsImpl) Run(q ds.Query, cb ds.RawRunCB) error { | 
|  | 71         rq := q.(*queryImpl) | 
|  | 72         done, err := rq.valid(d.ns, true) | 
|  | 73         if done || err != nil { | 
|  | 74                 return err // will be nil if done | 
|  | 75         } | 
| 71         return nil | 76         return nil | 
| 72 } | 77 } | 
| 73 | 78 | 
| 74 func (d *dsImpl) AddIndexes(idxs ...*ds.IndexDefinition) { | 79 func (d *dsImpl) AddIndexes(idxs ...*ds.IndexDefinition) { | 
| 75         for _, i := range idxs { | 80         for _, i := range idxs { | 
| 76                 if !i.Compound() { | 81                 if !i.Compound() { | 
| 77                         panic(fmt.Errorf("Attempted to add non-compound index: %
     s", i)) | 82                         panic(fmt.Errorf("Attempted to add non-compound index: %
     s", i)) | 
| 78                 } | 83                 } | 
| 79         } | 84         } | 
| 80 | 85 | 
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 130 } | 135 } | 
| 131 | 136 | 
| 132 func (d *txnDsImpl) DeleteMulti(keys []ds.Key, cb ds.DeleteMultiCB) error { | 137 func (d *txnDsImpl) DeleteMulti(keys []ds.Key, cb ds.DeleteMultiCB) error { | 
| 133         return d.data.run(func() error { | 138         return d.data.run(func() error { | 
| 134                 return d.data.delMulti(keys, cb) | 139                 return d.data.delMulti(keys, cb) | 
| 135         }) | 140         }) | 
| 136 } | 141 } | 
| 137 | 142 | 
| 138 func (d *txnDsImpl) Run(q ds.Query, cb ds.RawRunCB) error { | 143 func (d *txnDsImpl) Run(q ds.Query, cb ds.RawRunCB) error { | 
| 139         rq := q.(*queryImpl) | 144         rq := q.(*queryImpl) | 
| 140 »       if rq.ancestor == nil { | 145 »       done, err := rq.valid(d.ns, true) | 
| 141 »       »       return errors.New("gae/impl/memory: queries in transactions only
      support ancestor queries") | 146 »       if done || err != nil { | 
|  | 147 »       »       return err // will be nil if done | 
| 142         } | 148         } | 
| 143         if rq.eventualConsistency { | 149         if rq.eventualConsistency { | 
| 144 »       »       rq = rq.clone() | 150 »       »       rq = rq.checkMutateClone(nil, nil) | 
| 145                 rq.eventualConsistency = false | 151                 rq.eventualConsistency = false | 
| 146         } | 152         } | 
| 147         // TODO(riannucci): use head instead of snap for indexes | 153         // TODO(riannucci): use head instead of snap for indexes | 
| 148         panic("NOT IMPLEMENTED") | 154         panic("NOT IMPLEMENTED") | 
| 149 } | 155 } | 
| 150 | 156 | 
| 151 func (*txnDsImpl) RunInTransaction(func(c context.Context) error, *ds.Transactio
     nOptions) error { | 157 func (*txnDsImpl) RunInTransaction(func(c context.Context) error, *ds.Transactio
     nOptions) error { | 
| 152         return errors.New("datastore: nested transactions are not supported") | 158         return errors.New("datastore: nested transactions are not supported") | 
| 153 } | 159 } | 
| 154 | 160 | 
| 155 func (d *txnDsImpl) NewQuery(kind string) ds.Query { | 161 func (d *txnDsImpl) NewQuery(kind string) ds.Query { | 
| 156         return &queryImpl{ns: d.ns, kind: kind} | 162         return &queryImpl{ns: d.ns, kind: kind} | 
| 157 } | 163 } | 
| 158 | 164 | 
| 159 func (*txnDsImpl) Testable() ds.Testable { | 165 func (*txnDsImpl) Testable() ds.Testable { | 
| 160         return nil | 166         return nil | 
| 161 } | 167 } | 
| OLD | NEW | 
|---|