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 datastore | 5 package datastore |
6 | 6 |
7 import ( | 7 import ( |
8 "golang.org/x/net/context" | 8 "golang.org/x/net/context" |
9 ) | 9 ) |
10 | 10 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 // | 89 // |
90 // Note that the behavior of transactions may change depending on what f
ilters | 90 // Note that the behavior of transactions may change depending on what f
ilters |
91 // have been installed. It's possible that we'll end up implementing thi
ngs | 91 // have been installed. It's possible that we'll end up implementing thi
ngs |
92 // like nested/buffered transactions as filters. | 92 // like nested/buffered transactions as filters. |
93 RunInTransaction(f func(c context.Context) error, opts *TransactionOptio
ns) error | 93 RunInTransaction(f func(c context.Context) error, opts *TransactionOptio
ns) error |
94 | 94 |
95 // Run executes the given query, and calls `cb` for each successfully | 95 // Run executes the given query, and calls `cb` for each successfully |
96 // retrieved item. | 96 // retrieved item. |
97 // | 97 // |
98 // cb is a callback function whose signature is | 98 // cb is a callback function whose signature is |
99 » // func(obj TYPE, getCursor CursorCB) bool | 99 » // func(obj TYPE[, getCursor CursorCB]) [error] |
100 // | 100 // |
101 // Where TYPE is one of: | 101 // Where TYPE is one of: |
102 // - S or *S where S is a struct | 102 // - S or *S where S is a struct |
103 // - P or *P where *P is a concrete type implementing PropertyLoadSave
r | 103 // - P or *P where *P is a concrete type implementing PropertyLoadSave
r |
104 // - *Key (implies a keys-only query) | 104 // - *Key (implies a keys-only query) |
105 // | 105 // |
106 » // Run stops on the first error encountered. | 106 » // If the error is omitted from the signature, this will run until the q
uery |
| 107 » // returns all its results, or has an error/times out. |
| 108 » // |
| 109 » // If error is in the signature, the query will continue as long as the |
| 110 » // callback returns nil. If it returns `Stop`, the query will stop and R
un |
| 111 » // will return nil. Otherwise, the query will stop and Run will return t
he |
| 112 » // user's error. |
| 113 » // |
| 114 » // Run may also stop on the first datastore error encountered, which can
occur |
| 115 » // due to flakiness, timeout, etc. If it encounters such an error, it wi
ll |
| 116 » // be returned. |
107 Run(q *Query, cb interface{}) error | 117 Run(q *Query, cb interface{}) error |
108 | 118 |
109 // Count executes the given query and returns the number of entries whic
h | 119 // Count executes the given query and returns the number of entries whic
h |
110 // match it. | 120 // match it. |
111 Count(q *Query) (int64, error) | 121 Count(q *Query) (int64, error) |
112 | 122 |
113 // DecodeCursor converts a string returned by a Cursor into a Cursor ins
tance. | 123 // DecodeCursor converts a string returned by a Cursor into a Cursor ins
tance. |
114 // It will return an error if the supplied string is not valid, or could
not | 124 // It will return an error if the supplied string is not valid, or could
not |
115 // be decoded by the implementation. | 125 // be decoded by the implementation. |
116 DecodeCursor(string) (Cursor, error) | 126 DecodeCursor(string) (Cursor, error) |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 | 193 |
184 // Testable returns the Testable interface for the implementation, or ni
l if | 194 // Testable returns the Testable interface for the implementation, or ni
l if |
185 // there is none. | 195 // there is none. |
186 Testable() Testable | 196 Testable() Testable |
187 | 197 |
188 // Raw returns the underlying RawInterface. The Interface and RawInterfa
ce may | 198 // Raw returns the underlying RawInterface. The Interface and RawInterfa
ce may |
189 // be used interchangably; there's no danger of interleaving access to t
he | 199 // be used interchangably; there's no danger of interleaving access to t
he |
190 // datastore via the two. | 200 // datastore via the two. |
191 Raw() RawInterface | 201 Raw() RawInterface |
192 } | 202 } |
OLD | NEW |