Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: service/datastore/interface.go

Issue 1309933003: datastore: Add DecodeCursor to [Raw]Interface. (Closed) Base URL: https://github.com/luci/gae@master
Patch Set: Use more concise formulation. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « service/datastore/datastore.go ('k') | service/datastore/raw_interface.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // func(obj TYPE, getCursor CursorCB) bool 76 // func(obj TYPE, getCursor CursorCB) bool
77 // 77 //
78 // Where TYPE is one of: 78 // Where TYPE is one of:
79 // - S or *S where S is a struct 79 // - S or *S where S is a struct
80 // - P or *P where *P is a concrete type implementing PropertyLoadSave r 80 // - P or *P where *P is a concrete type implementing PropertyLoadSave r
81 // - Key (implies a keys-only query) 81 // - Key (implies a keys-only query)
82 // 82 //
83 // Run stops on the first error encountered. 83 // Run stops on the first error encountered.
84 Run(q Query, cb interface{}) error 84 Run(q Query, cb interface{}) error
85 85
86 // DecodeCursor converts a string returned by a Cursor into a Cursor ins tance.
87 // It will return an error if the supplied string is not valid, or could not
88 // be decoded by the implementation.
89 DecodeCursor(string) (Cursor, error)
90
86 // GetAll retrieves all of the Query results into dst. 91 // GetAll retrieves all of the Query results into dst.
87 // 92 //
88 // dst must be one of: 93 // dst must be one of:
89 // - *[]S or *[]*S where S is a struct 94 // - *[]S or *[]*S where S is a struct
90 » // - *[]P or *[]*P where *P is a concrete type implementing PropertyLo adSaver 95 » // - *[]P or *[]*P where *P is a concrete type implementing
96 » // PropertyLoadSaver
91 // - *[]Key implies a keys-only query. 97 // - *[]Key implies a keys-only query.
92 GetAll(q Query, dst interface{}) error 98 GetAll(q Query, dst interface{}) error
93 99
94 // Get retrieves a single object from the datastore 100 // Get retrieves a single object from the datastore
95 // 101 //
96 // dst must be one of: 102 // dst must be one of:
97 // - *S where S is a struct 103 // - *S where S is a struct
98 // - *P where *P is a concrete type implementing PropertyLoadSaver 104 // - *P where *P is a concrete type implementing PropertyLoadSaver
99 Get(dst interface{}) error 105 Get(dst interface{}) error
100 106
(...skipping 10 matching lines...) Expand all
111 117
112 // Delete removes an item from the datastore. 118 // Delete removes an item from the datastore.
113 Delete(key Key) error 119 Delete(key Key) error
114 120
115 // GetMulti retrieves items from the datastore. 121 // GetMulti retrieves items from the datastore.
116 // 122 //
117 // dst must be one of: 123 // dst must be one of:
118 // - []S or []*S where S is a struct 124 // - []S or []*S where S is a struct
119 // - []P or []*P where *P is a concrete type implementing PropertyLoad Saver 125 // - []P or []*P where *P is a concrete type implementing PropertyLoad Saver
120 // - []I where I is some interface type. Each element of the slice mus t 126 // - []I where I is some interface type. Each element of the slice mus t
121 » //» » be non-nil, and its underlying type must be either *S o r *P. 127 » // be non-nil, and its underlying type must be either *S or *P.
122 GetMulti(dst interface{}) error 128 GetMulti(dst interface{}) error
123 129
124 // PutMulti writes items to the datastore. 130 // PutMulti writes items to the datastore.
125 // 131 //
126 // src must be one of: 132 // src must be one of:
127 // - []S or []*S where S is a struct 133 // - []S or []*S where S is a struct
128 // - []P or []*P where *P is a concrete type implementing PropertyLoad Saver 134 // - []P or []*P where *P is a concrete type implementing PropertyLoad Saver
129 // - []I where i is some interface type. Each elemet of the slice must 135 // - []I where i is some interface type. Each elemet of the slice must
130 // be non-nil, and its underlying type must be either *S or *P. 136 // be non-nil, and its underlying type must be either *S or *P.
131 // 137 //
132 // If items in src resolve to Incomplete keys, PutMulti will write the 138 // If items in src resolve to Incomplete keys, PutMulti will write the
133 // resolved keys back to the items in src. 139 // resolved keys back to the items in src.
134 PutMulti(src interface{}) error 140 PutMulti(src interface{}) error
135 141
136 // DeleteMulti removes items from the datastore. 142 // DeleteMulti removes items from the datastore.
137 DeleteMulti(keys []Key) error 143 DeleteMulti(keys []Key) error
138 144
139 // Raw returns the underlying RawInterface. The Interface and RawInterfa ce may 145 // Raw returns the underlying RawInterface. The Interface and RawInterfa ce may
140 // be used interchangably; there's no danger of interleaving access to t he 146 // be used interchangably; there's no danger of interleaving access to t he
141 // datastore via the two. 147 // datastore via the two.
142 Raw() RawInterface 148 Raw() RawInterface
143 } 149 }
OLDNEW
« no previous file with comments | « service/datastore/datastore.go ('k') | service/datastore/raw_interface.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698