| Index: impl/memory/datastore.go
 | 
| diff --git a/impl/memory/datastore.go b/impl/memory/datastore.go
 | 
| index 8337626889763d8cdcbfc32b629da7960f70a55e..46c32e9864a55063d5b04555b2b4ac1e47c379c2 100644
 | 
| --- a/impl/memory/datastore.go
 | 
| +++ b/impl/memory/datastore.go
 | 
| @@ -52,23 +52,22 @@ func useRDS(c context.Context) context.Context {
 | 
|  //   * DisableSpecialEntities(true)
 | 
|  //
 | 
|  // These settings can of course be changed by using the Testable() interface.
 | 
| -func NewDatastore(aid, ns string) (ds.Interface, error) {
 | 
| -	ctx := UseWithAppID(context.Background(), aid)
 | 
| -
 | 
| -	if ns != "" {
 | 
| -		var err error
 | 
| -		ctx, err = info.Get(ctx).Namespace(ns)
 | 
| -		if err != nil {
 | 
| -			return nil, err
 | 
| -		}
 | 
| -	}
 | 
| +func NewDatastore(inf info.Interface) ds.Interface {
 | 
| +	fqAppID := inf.FullyQualifiedAppID()
 | 
| +	ns, hasNS := inf.GetNamespace()
 | 
| +
 | 
| +	memctx := newMemContext(fqAppID)
 | 
|  
 | 
| -	ret := ds.Get(ctx)
 | 
| +	dsCtx := info.Set(context.Background(), inf)
 | 
| +	rds := &dsImpl{memctx.Get(memContextDSIdx).(*dataStoreData), ns, hasNS, dsCtx}
 | 
| +
 | 
| +	ret := ds.Get(ds.SetRaw(dsCtx, rds))
 | 
|  	t := ret.Testable()
 | 
|  	t.AutoIndex(true)
 | 
|  	t.Consistent(true)
 | 
|  	t.DisableSpecialEntities(true)
 | 
| -	return ret, nil
 | 
| +
 | 
| +	return ret
 | 
|  }
 | 
|  
 | 
|  //////////////////////////////////// dsImpl ////////////////////////////////////
 | 
| 
 |