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

Side by Side Diff: impl/memory/datastore.go

Issue 1929423002: filter/txnBuf: Use fully-qualified App ID. (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/gae@master
Patch Set: Go back to "dev~", too many things care. Created 4 years, 7 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 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 memory 5 package memory
6 6
7 import ( 7 import (
8 "errors" 8 "errors"
9 "fmt" 9 "fmt"
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 45
46 // NewDatastore creates a new standalone memory implementation of the datastore, 46 // NewDatastore creates a new standalone memory implementation of the datastore,
47 // suitable for embedding for doing in-memory data organization. 47 // suitable for embedding for doing in-memory data organization.
48 // 48 //
49 // It's configured by default with the following settings: 49 // It's configured by default with the following settings:
50 // * AutoIndex(true) 50 // * AutoIndex(true)
51 // * Consistent(true) 51 // * Consistent(true)
52 // * DisableSpecialEntities(true) 52 // * DisableSpecialEntities(true)
53 // 53 //
54 // These settings can of course be changed by using the Testable() interface. 54 // These settings can of course be changed by using the Testable() interface.
55 func NewDatastore(aid, ns string) (ds.Interface, error) { 55 func NewDatastore(inf info.Interface) ds.Interface {
56 » ctx := UseWithAppID(context.Background(), aid) 56 » fqAppID := inf.FullyQualifiedAppID()
57 » ns, hasNS := inf.GetNamespace()
57 58
58 » if ns != "" { 59 » memctx := newMemContext(fqAppID)
59 » » var err error
60 » » ctx, err = info.Get(ctx).Namespace(ns)
61 » » if err != nil {
62 » » » return nil, err
63 » » }
64 » }
65 60
66 » ret := ds.Get(ctx) 61 » dsCtx := info.Set(context.Background(), inf)
62 » rds := &dsImpl{memctx.Get(memContextDSIdx).(*dataStoreData), ns, hasNS, dsCtx}
63
64 » ret := ds.Get(ds.SetRaw(dsCtx, rds))
67 t := ret.Testable() 65 t := ret.Testable()
68 t.AutoIndex(true) 66 t.AutoIndex(true)
69 t.Consistent(true) 67 t.Consistent(true)
70 t.DisableSpecialEntities(true) 68 t.DisableSpecialEntities(true)
71 » return ret, nil 69
70 » return ret
72 } 71 }
73 72
74 //////////////////////////////////// dsImpl //////////////////////////////////// 73 //////////////////////////////////// dsImpl ////////////////////////////////////
75 74
76 // dsImpl exists solely to bind the current c to the datastore data. 75 // dsImpl exists solely to bind the current c to the datastore data.
77 type dsImpl struct { 76 type dsImpl struct {
78 data *dataStoreData 77 data *dataStoreData
79 ns string 78 ns string
80 hasNS bool 79 hasNS bool
81 c context.Context 80 c context.Context
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 if ns == "" && hasNS { 252 if ns == "" && hasNS {
254 // The user has set an empty namespace. Datastore does not suppo rt this 253 // The user has set an empty namespace. Datastore does not suppo rt this
255 // for queries. 254 // for queries.
256 // 255 //
257 // Bug on file is: 256 // Bug on file is:
258 // https://code.google.com/p/googleappengine/issues/detail?id=12 914 257 // https://code.google.com/p/googleappengine/issues/detail?id=12 914
259 return errors.New("namespace may not be present and empty") 258 return errors.New("namespace may not be present and empty")
260 } 259 }
261 return nil 260 return nil
262 } 261 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698