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

Side by Side Diff: lib/src/db/db.dart

Issue 937133002: Add DatastoreDB.replace({defaultPartition}) (Closed) Base URL: git@github.com:dart-lang/gcloud.git@master
Patch Set: Created 5 years, 10 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of gcloud.db; 5 part of gcloud.db;
6 6
7 /** 7 /**
8 * A function definition for transactional functions. 8 * A function definition for transactional functions.
9 * 9 *
10 * The function will be given a [Transaction] object which can be used to make 10 * The function will be given a [Transaction] object which can be used to make
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 } 240 }
241 return propertyName; 241 return propertyName;
242 } 242 }
243 } 243 }
244 244
245 class DatastoreDB { 245 class DatastoreDB {
246 final datastore.Datastore datastore; 246 final datastore.Datastore datastore;
247 final ModelDB _modelDB; 247 final ModelDB _modelDB;
248 Partition _defaultPartition; 248 Partition _defaultPartition;
249 249
250 DatastoreDB(this.datastore, {ModelDB modelDB}) 250 DatastoreDB(this.datastore, {ModelDB modelDB, Partition defaultPartition}) :
251 : _modelDB = modelDB != null ? modelDB : new ModelDBImpl() { 251 _modelDB = modelDB != null ? modelDB : new ModelDBImpl() {
252 _defaultPartition = new Partition(null); 252 _defaultPartition =
253 defaultPartition != null ? defaultPartition : new Partition(null);
253 } 254 }
254 255
255 /** 256 /**
256 * The [ModelDB] used to serialize/deserialize objects. 257 * The [ModelDB] used to serialize/deserialize objects.
257 */ 258 */
258 ModelDB get modelDB => _modelDB; 259 ModelDB get modelDB => _modelDB;
259 260
260 /** 261 /**
261 * Gets the empty key using the default [Partition]. 262 * Gets the empty key using the default [Partition].
262 * 263 *
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 * The order of inserts and deletes is not specified. When the commit is done 319 * The order of inserts and deletes is not specified. When the commit is done
319 * direct lookups will see the effect but non-ancestor queries will see the 320 * direct lookups will see the effect but non-ancestor queries will see the
320 * change in an eventual consistent way. 321 * change in an eventual consistent way.
321 * 322 *
322 * For transactions, please use `beginTransaction` and it's returned 323 * For transactions, please use `beginTransaction` and it's returned
323 * [Transaction] object. 324 * [Transaction] object.
324 */ 325 */
325 Future commit({List<Model> inserts, List<Key> deletes}) { 326 Future commit({List<Model> inserts, List<Key> deletes}) {
326 return _commitHelper(this, inserts: inserts, deletes: deletes); 327 return _commitHelper(this, inserts: inserts, deletes: deletes);
327 } 328 }
329
330 /**
331 * Returns a new [DatastoreDB] with the given [defaultPartition].
332 */
333 DatastoreDB replace({Partition defaultPartition}) {
Søren Gjesse 2015/02/19 11:59:51 The method name 'replace' seems somewhat overloade
kustermann 2015/02/19 12:17:11 Another constructor is of no value, since the exis
334 return new DatastoreDB(
335 datastore, modelDB: modelDB, defaultPartition: defaultPartition);
336 }
328 } 337 }
329 338
330 Future _commitHelper(DatastoreDB db, 339 Future _commitHelper(DatastoreDB db,
331 {List<Model> inserts, 340 {List<Model> inserts,
332 List<Key> deletes, 341 List<Key> deletes,
333 datastore.Transaction datastoreTransaction}) { 342 datastore.Transaction datastoreTransaction}) {
334 var entityInserts, entityAutoIdInserts, entityDeletes; 343 var entityInserts, entityAutoIdInserts, entityDeletes;
335 var autoIdModelInserts; 344 var autoIdModelInserts;
336 if (inserts != null) { 345 if (inserts != null) {
337 entityInserts = []; 346 entityInserts = [];
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 382
374 Future<List<Model>> _lookupHelper( 383 Future<List<Model>> _lookupHelper(
375 DatastoreDB db, List<Key> keys, 384 DatastoreDB db, List<Key> keys,
376 {datastore.Transaction datastoreTransaction}) { 385 {datastore.Transaction datastoreTransaction}) {
377 var entityKeys = keys.map(db.modelDB.toDatastoreKey).toList(); 386 var entityKeys = keys.map(db.modelDB.toDatastoreKey).toList();
378 return db.datastore.lookup(entityKeys, transaction: datastoreTransaction) 387 return db.datastore.lookup(entityKeys, transaction: datastoreTransaction)
379 .then((List<datastore.Entity> entities) { 388 .then((List<datastore.Entity> entities) {
380 return entities.map(db.modelDB.fromDatastoreEntity).toList(); 389 return entities.map(db.modelDB.fromDatastoreEntity).toList();
381 }); 390 });
382 } 391 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698