| Index: impl/memory/datastore.go
|
| diff --git a/impl/memory/datastore.go b/impl/memory/datastore.go
|
| index 84f5adddb53b2fbbb571bed4ff50c868532da881..d45f8e2e5167f474cc2168036a09195fbea4e19b 100644
|
| --- a/impl/memory/datastore.go
|
| +++ b/impl/memory/datastore.go
|
| @@ -29,6 +29,11 @@ func useRDS(c context.Context) context.Context {
|
| })
|
| }
|
|
|
| +// NewDatastore creates a new standalone memory implementation of the datastore.
|
| +func NewDatastore(aid, ns string) ds.RawInterface {
|
| + return &dsImpl{newDataStoreData(aid), ns, context.Background()}
|
| +}
|
| +
|
| //////////////////////////////////// dsImpl ////////////////////////////////////
|
|
|
| // dsImpl exists solely to bind the current c to the datastore data.
|
| @@ -64,20 +69,20 @@ func (d *dsImpl) DecodeCursor(s string) (ds.Cursor, error) {
|
|
|
| func (d *dsImpl) Run(fq *ds.FinalizedQuery, cb ds.RawRunCB) error {
|
| idx, head := d.data.getQuerySnaps(!fq.EventuallyConsistent())
|
| - err := executeQuery(fq, d.ns, false, idx, head, cb)
|
| + err := executeQuery(fq, d.data.aid, d.ns, false, idx, head, cb)
|
| if d.data.maybeAutoIndex(err) {
|
| idx, head = d.data.getQuerySnaps(!fq.EventuallyConsistent())
|
| - err = executeQuery(fq, d.ns, false, idx, head, cb)
|
| + err = executeQuery(fq, d.data.aid, d.ns, false, idx, head, cb)
|
| }
|
| return err
|
| }
|
|
|
| func (d *dsImpl) Count(fq *ds.FinalizedQuery) (ret int64, err error) {
|
| idx, head := d.data.getQuerySnaps(!fq.EventuallyConsistent())
|
| - ret, err = countQuery(fq, d.ns, false, idx, head)
|
| + ret, err = countQuery(fq, d.data.aid, d.ns, false, idx, head)
|
| if d.data.maybeAutoIndex(err) {
|
| idx, head := d.data.getQuerySnaps(!fq.EventuallyConsistent())
|
| - ret, err = countQuery(fq, d.ns, false, idx, head)
|
| + ret, err = countQuery(fq, d.data.aid, d.ns, false, idx, head)
|
| }
|
| return
|
| }
|
| @@ -174,11 +179,11 @@ func (d *txnDsImpl) Run(q *ds.FinalizedQuery, cb ds.RawRunCB) error {
|
| // It's possible that if you have full-consistency and also auto index enabled
|
| // that this would make sense... but at that point you should probably just
|
| // add the index up front.
|
| - return executeQuery(q, d.ns, true, d.data.snap, d.data.snap, cb)
|
| + return executeQuery(q, d.data.parent.aid, d.ns, true, d.data.snap, d.data.snap, cb)
|
| }
|
|
|
| func (d *txnDsImpl) Count(fq *ds.FinalizedQuery) (ret int64, err error) {
|
| - return countQuery(fq, d.ns, true, d.data.snap, d.data.snap)
|
| + return countQuery(fq, d.data.parent.aid, d.ns, true, d.data.snap, d.data.snap)
|
| }
|
|
|
| func (*txnDsImpl) RunInTransaction(func(c context.Context) error, *ds.TransactionOptions) error {
|
|
|