| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package txnBuf | 5 package txnBuf |
| 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/luci-go/common/errors" | 9 "github.com/luci/luci-go/common/errors" |
| 10 "golang.org/x/net/context" | 10 "golang.org/x/net/context" |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 } | 109 } |
| 110 | 110 |
| 111 func (d *dsTxnBuf) RunInTransaction(cb func(context.Context) error, opts *ds.Tra
nsactionOptions) error { | 111 func (d *dsTxnBuf) RunInTransaction(cb func(context.Context) error, opts *ds.Tra
nsactionOptions) error { |
| 112 if !d.haveLock { | 112 if !d.haveLock { |
| 113 d.state.Lock() | 113 d.state.Lock() |
| 114 defer d.state.Unlock() | 114 defer d.state.Unlock() |
| 115 } | 115 } |
| 116 return withTxnBuf(d.ic, cb, opts) | 116 return withTxnBuf(d.ic, cb, opts) |
| 117 } | 117 } |
| 118 | 118 |
| 119 func (d *dsTxnBuf) Testable() ds.Testable { | 119 func (d *dsTxnBuf) CurrentTransaction() ds.Transaction { return d.state.parentDS
.CurrentTransaction() } |
| 120 » return d.state.parentDS.Testable() | 120 |
| 121 func (d *dsTxnBuf) WithoutTransaction() context.Context { |
| 122 » c := d.state.parentDS.WithoutTransaction() |
| 123 » c = context.WithValue(c, dsTxnBufParent, nil) |
| 124 » c = context.WithValue(c, dsTxnBufHaveLock, nil) |
| 125 » return c |
| 121 } | 126 } |
| 127 |
| 128 func (d *dsTxnBuf) GetTestable() ds.Testable { |
| 129 return d.state.parentDS.GetTestable() |
| 130 } |
| OLD | NEW |