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

Side by Side Diff: filter/dscache/plan.go

Issue 1291813003: Make LazyMultiError constructed via function (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: interface not pointer 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 | « no previous file | service/datastore/checkfilter.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 dscache 5 package dscache
6 6
7 import ( 7 import (
8 "bytes" 8 "bytes"
9 9
10 ds "github.com/luci/gae/service/datastore" 10 ds "github.com/luci/gae/service/datastore"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 // from datastore and then attempt to save them back to memcache. 85 // from datastore and then attempt to save them back to memcache.
86 // * some entries are 'lock' entries, owned by something else, so we should 86 // * some entries are 'lock' entries, owned by something else, so we should
87 // get them from datastore and then NOT save them to memcache. 87 // get them from datastore and then NOT save them to memcache.
88 // 88 //
89 // Or some combination thereof. This also handles memcache enries with invalid 89 // Or some combination thereof. This also handles memcache enries with invalid
90 // data in them, cases where items have caching disabled entirely, etc. 90 // data in them, cases where items have caching disabled entirely, etc.
91 func makeFetchPlan(c context.Context, aid, ns string, f *facts) *plan { 91 func makeFetchPlan(c context.Context, aid, ns string, f *facts) *plan {
92 p := plan{ 92 p := plan{
93 keepMeta: f.getMeta != nil, 93 keepMeta: f.getMeta != nil,
94 decoded: make([]ds.PropertyMap, len(f.lockItems)), 94 decoded: make([]ds.PropertyMap, len(f.lockItems)),
95 » » lme: errors.LazyMultiError{Size: len(f.lockItems)}, 95 » » lme: errors.NewLazyMultiError(len(f.lockItems)),
96 } 96 }
97 for i, lockItm := range f.lockItems { 97 for i, lockItm := range f.lockItems {
98 m := f.getMeta.GetSingle(i) 98 m := f.getMeta.GetSingle(i)
99 getKey := f.getKeys[i] 99 getKey := f.getKeys[i]
100 100
101 if lockItm == nil { 101 if lockItm == nil {
102 // this item wasn't cacheable (e.g. the model had cachin g disabled, 102 // this item wasn't cacheable (e.g. the model had cachin g disabled,
103 // shardsForKey returned 0, etc.) 103 // shardsForKey returned 0, etc.)
104 p.add(i, getKey, m, nil) 104 p.add(i, getKey, m, nil)
105 continue 105 continue
(...skipping 22 matching lines...) Expand all
128 p.add(i, getKey, m, nil) 128 p.add(i, getKey, m, nil)
129 } 129 }
130 130
131 default: 131 default:
132 // have some other sort of object, or our AddMulti faile d to add this item. 132 // have some other sort of object, or our AddMulti faile d to add this item.
133 p.add(i, getKey, m, nil) 133 p.add(i, getKey, m, nil)
134 } 134 }
135 } 135 }
136 return &p 136 return &p
137 } 137 }
OLDNEW
« no previous file with comments | « no previous file | service/datastore/checkfilter.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698