Chromium Code Reviews| Index: go/src/infra/gae/libs/gae/raw_datastore.go |
| diff --git a/go/src/infra/gae/libs/gae/raw_datastore.go b/go/src/infra/gae/libs/gae/raw_datastore.go |
| index 100b7d9471c850bbb1c7fff79286fdd0c41ce25d..17bf44577ac106e7d02f36ab91233143138bf6b4 100644 |
| --- a/go/src/infra/gae/libs/gae/raw_datastore.go |
| +++ b/go/src/infra/gae/libs/gae/raw_datastore.go |
| @@ -38,12 +38,6 @@ type DSCursor interface { |
| fmt.Stringer |
| } |
| -// DSIterator wraps datastore.Iterator. |
| -type DSIterator interface { |
| - Cursor() (DSCursor, error) |
| - Next(dst interface{}) (DSKey, error) |
| -} |
| - |
| // DSQuery wraps datastore.Query. |
| type DSQuery interface { |
| Ancestor(ancestor DSKey) DSQuery |
| @@ -60,34 +54,41 @@ type DSQuery interface { |
| } |
| // CommonDatastore is the interface for the methods which are common between |
| -// Datastore and RawDatastore. |
| +// helper.Datastore and RawDatastore. |
|
iannucci
2015/07/14 18:15:44
Coming Soon to a Checkout Near You!
|
| type CommonDatastore interface { |
| NewKey(kind, stringID string, intID int64, parent DSKey) DSKey |
| DecodeKey(encoded string) (DSKey, error) |
| NewQuery(kind string) DSQuery |
| - Run(q DSQuery) DSIterator |
| - GetAll(q DSQuery, dst interface{}) ([]DSKey, error) |
| Count(q DSQuery) (int, error) |
| RunInTransaction(f func(c context.Context) error, opts *DSTransactionOptions) error |
| } |
| -// RawDatastore implements the datastore functionality as described by |
| -// the raw appengine documentation. No key inference occurs, nor does any |
| -// caching. See Datastore for a nicer interface. |
| +// RDSIterator wraps datastore.Iterator. |
| +type RDSIterator interface { |
| + Cursor() (DSCursor, error) |
| + Next(dst DSPropertyLoadSaver) (DSKey, error) |
| +} |
| + |
| +// RawDatastore implements the datastore functionality without any of the fancy |
| +// reflection stuff. This is so that Filters can avoid doing lots of redundant |
| +// reflection work. See helper.Datastore for a more user-friendly interface. |
| type RawDatastore interface { |
| CommonDatastore |
| - Put(key DSKey, src interface{}) (DSKey, error) |
| - Get(key DSKey, dst interface{}) error |
| + Run(q DSQuery) RDSIterator |
| + GetAll(q DSQuery, dst *[]DSPropertyMap) ([]DSKey, error) |
| + |
| + Put(key DSKey, src DSPropertyLoadSaver) (DSKey, error) |
| + Get(key DSKey, dst DSPropertyLoadSaver) error |
| Delete(key DSKey) error |
| // These allow you to read and write a multiple datastore objects in |
| // a non-atomic batch. |
| DeleteMulti(keys []DSKey) error |
| - GetMulti(keys []DSKey, dst interface{}) error |
| - PutMulti(keys []DSKey, src interface{}) ([]DSKey, error) |
| + GetMulti(keys []DSKey, dst []DSPropertyLoadSaver) error |
| + PutMulti(keys []DSKey, src []DSPropertyLoadSaver) ([]DSKey, error) |
| } |
| // RDSFactory is the function signature for factory methods compatible with |