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 prod | 5 package prod |
6 | 6 |
7 import ( | 7 import ( |
8 ds "github.com/luci/gae/service/datastore" | 8 ds "github.com/luci/gae/service/datastore" |
9 "github.com/luci/gae/service/info" | 9 "github.com/luci/gae/service/info" |
10 "github.com/luci/luci-go/common/errors" | 10 "github.com/luci/luci-go/common/errors" |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 } | 209 } |
210 tf := typeFilter{} | 210 tf := typeFilter{} |
211 for { | 211 for { |
212 k, err := t.Next(&tf) | 212 k, err := t.Next(&tf) |
213 if err == datastore.Done { | 213 if err == datastore.Done { |
214 return nil | 214 return nil |
215 } | 215 } |
216 if err != nil { | 216 if err != nil { |
217 return err | 217 return err |
218 } | 218 } |
219 » » if !cb(dsR2F(k), tf.pm, cfunc) { | 219 » » if err := cb(dsR2F(k), tf.pm, cfunc); err != nil { |
220 » » » return nil | 220 » » » if err == ds.Stop { |
| 221 » » » » return nil |
| 222 » » » } |
| 223 » » » return err |
221 } | 224 } |
222 } | 225 } |
223 } | 226 } |
224 | 227 |
225 func (d rdsImpl) Count(fq *ds.FinalizedQuery) (int64, error) { | 228 func (d rdsImpl) Count(fq *ds.FinalizedQuery) (int64, error) { |
226 q, err := d.fixQuery(fq) | 229 q, err := d.fixQuery(fq) |
227 if err != nil { | 230 if err != nil { |
228 return 0, err | 231 return 0, err |
229 } | 232 } |
230 ret, err := q.Count(d.aeCtx) | 233 ret, err := q.Count(d.aeCtx) |
231 return int64(ret), err | 234 return int64(ret), err |
232 } | 235 } |
233 | 236 |
234 func (d rdsImpl) RunInTransaction(f func(c context.Context) error, opts *ds.Tran
sactionOptions) error { | 237 func (d rdsImpl) RunInTransaction(f func(c context.Context) error, opts *ds.Tran
sactionOptions) error { |
235 ropts := (*datastore.TransactionOptions)(opts) | 238 ropts := (*datastore.TransactionOptions)(opts) |
236 return datastore.RunInTransaction(d.aeCtx, func(c context.Context) error
{ | 239 return datastore.RunInTransaction(d.aeCtx, func(c context.Context) error
{ |
237 return f(context.WithValue(d.userCtx, prodContextKey, c)) | 240 return f(context.WithValue(d.userCtx, prodContextKey, c)) |
238 }, ropts) | 241 }, ropts) |
239 } | 242 } |
240 | 243 |
241 func (d rdsImpl) Testable() ds.Testable { | 244 func (d rdsImpl) Testable() ds.Testable { |
242 return nil | 245 return nil |
243 } | 246 } |
OLD | NEW |