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

Unified Diff: impl/memory/datastore_query_execution.go

Issue 1312433013: Switch to external stringset implementation. (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: fix nitish Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « impl/memory/datastore_query.go ('k') | impl/memory/stringset.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: impl/memory/datastore_query_execution.go
diff --git a/impl/memory/datastore_query_execution.go b/impl/memory/datastore_query_execution.go
index 869428953c93e13fc1ed470ed9a9a5eaf9dced4d..dc4efa0f38f8600b41c74e8a30b1684e9c2b283f 100644
--- a/impl/memory/datastore_query_execution.go
+++ b/impl/memory/datastore_query_execution.go
@@ -11,6 +11,7 @@ import (
ds "github.com/luci/gae/service/datastore"
"github.com/luci/gae/service/datastore/serialize"
"github.com/luci/luci-go/common/cmpbin"
+ "github.com/luci/luci-go/common/stringset"
)
type queryStrategy interface {
@@ -33,7 +34,7 @@ type projectionStrategy struct {
cb ds.RawRunCB
project []projectionLookup
- distinct stringSet
+ distinct stringset.Set
}
func newProjectionStrategy(q *queryImpl, rq *reducedQuery, cb ds.RawRunCB) queryStrategy {
@@ -52,7 +53,7 @@ func newProjectionStrategy(q *queryImpl, rq *reducedQuery, cb ds.RawRunCB) query
}
ret := &projectionStrategy{cb: cb, project: projectionLookups}
if q.distinct {
- ret.distinct = stringSet{}
+ ret.distinct = stringset.New(0)
}
return ret
}
@@ -70,7 +71,7 @@ func (s *projectionStrategy) handle(rawData [][]byte, decodedProps []ds.Property
pmap[p.propertyName] = []ds.Property{decodedProps[p.suffixIndex]}
}
if s.distinct != nil {
- if !s.distinct.add(string(bjoin(projectedRaw...))) {
+ if !s.distinct.Add(string(bjoin(projectedRaw...))) {
return true
}
}
@@ -80,11 +81,11 @@ func (s *projectionStrategy) handle(rawData [][]byte, decodedProps []ds.Property
type keysOnlyStrategy struct {
cb ds.RawRunCB
- dedup stringSet
+ dedup stringset.Set
}
func (s *keysOnlyStrategy) handle(rawData [][]byte, _ []ds.Property, key ds.Key, gc func() (ds.Cursor, error)) bool {
- if !s.dedup.add(string(rawData[len(rawData)-1])) {
+ if !s.dedup.Add(string(rawData[len(rawData)-1])) {
return true
}
return s.cb(key, nil, gc)
@@ -95,7 +96,7 @@ type normalStrategy struct {
ns string
head *memCollection
- dedup stringSet
+ dedup stringset.Set
}
func newNormalStrategy(ns string, cb ds.RawRunCB, head *memStore) queryStrategy {
@@ -103,12 +104,12 @@ func newNormalStrategy(ns string, cb ds.RawRunCB, head *memStore) queryStrategy
if coll == nil {
return nil
}
- return &normalStrategy{cb, ns, coll, stringSet{}}
+ return &normalStrategy{cb, ns, coll, stringset.New(0)}
}
func (s *normalStrategy) handle(rawData [][]byte, _ []ds.Property, key ds.Key, gc func() (ds.Cursor, error)) bool {
rawKey := rawData[len(rawData)-1]
- if !s.dedup.add(string(rawKey)) {
+ if !s.dedup.Add(string(rawKey)) {
return true
}
@@ -125,7 +126,7 @@ func (s *normalStrategy) handle(rawData [][]byte, _ []ds.Property, key ds.Key, g
func pickQueryStrategy(q *queryImpl, rq *reducedQuery, cb ds.RawRunCB, head *memStore) queryStrategy {
if q.keysOnly {
- return &keysOnlyStrategy{cb, stringSet{}}
+ return &keysOnlyStrategy{cb, stringset.New(0)}
}
if len(q.project) > 0 {
return newProjectionStrategy(q, rq, cb)
« no previous file with comments | « impl/memory/datastore_query.go ('k') | impl/memory/stringset.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698