database: Remove bgCtx, add AE context to deleteIndex
Change-Id: I8e774af75dc291c5a5784d5f14b8a481593d4978
Reviewed-on: https://go-review.googlesource.com/44333
Reviewed-by: Stephen Weinberg <stephenmw@google.com>
diff --git a/database/database.go b/database/database.go
index 234a2e6..8e33b0f 100644
--- a/database/database.go
+++ b/database/database.go
@@ -231,9 +231,6 @@
return err
}
-// TODO(stephenmw): bgCtx is not necessary anymore.
-var bgCtx = context.Background // replaced by tests
-
// Put adds the package documentation to the database.
func (db *Database) Put(pdoc *doc.Package, nextCrawl time.Time, hide bool) error {
c := db.Pool.Get()
@@ -298,20 +295,19 @@
if err != nil {
return err
}
- ctx := bgCtx()
if score > 0 {
- if err := db.PutIndex(ctx, pdoc, id, score, n); err != nil {
+ if err := db.PutIndex(db.AppEngineContext, pdoc, id, score, n); err != nil {
log.Printf("Cannot put %q in index: %v", pdoc.ImportPath, err)
}
if old != nil {
- if err := db.updateImportsIndex(c, ctx, old, pdoc); err != nil {
+ if err := db.updateImportsIndex(c, db.AppEngineContext, old, pdoc); err != nil {
return err
}
}
} else {
- if err := deleteIndex(ctx, id); err != nil {
+ if err := deleteIndex(db.AppEngineContext, id); err != nil {
return err
}
}
@@ -382,13 +378,13 @@
// For each import change, re-index that package with updated NumImported.
// In practice this should not happen often and when it does, the changes are
// likely to be a small amount.
- for p, _ := range changes {
+ for p := range changes {
id, n, err := pkgIDAndImportCount(c, p)
if err != nil {
return err
}
if id != "" {
- db.PutIndex(ctx, nil, id, -1, n)
+ db.PutIndex(db.AppEngineContext, nil, id, -1, n)
}
}
return nil
@@ -625,7 +621,6 @@
c := db.Pool.Get()
defer c.Close()
- ctx := bgCtx()
id, err := redis.String(c.Do("HGET", "ids", path))
if err == redis.ErrNil {
return nil
@@ -633,7 +628,7 @@
if err != nil {
return err
}
- if err := deleteIndex(ctx, id); err != nil {
+ if err := deleteIndex(db.AppEngineContext, id); err != nil {
return err
}
@@ -1263,11 +1258,9 @@
}
func (db *Database) Search(ctx context.Context, q string) ([]Package, error) {
- // TODO(stephenmw): merge ctx with AppEngineContext
return searchAE(db.AppEngineContext, q)
}
func (db *Database) PutIndex(ctx context.Context, pdoc *doc.Package, id string, score float64, importCount int) error {
- // TODO(stephenmw): merge ctx with AppEngineContext
return putIndex(db.AppEngineContext, pdoc, id, score, importCount)
}
diff --git a/database/database_test.go b/database/database_test.go
index c9d63b3..f8fd70b 100644
--- a/database/database_test.go
+++ b/database/database_test.go
@@ -14,7 +14,6 @@
"time"
"github.com/garyburd/redigo/redis"
- "golang.org/x/net/context"
"google.golang.org/appengine/aetest"
"github.com/golang/gddo/doc"
@@ -40,7 +39,14 @@
if n != 0 || err != nil {
t.Errorf("DBSIZE returned %d, %v", n, err)
}
- return &Database{Pool: p}
+
+ ctx, done, err := aetest.NewContext()
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer done()
+
+ return &Database{Pool: p, AppEngineContext: ctx}
}
func closeDB(db *Database) {
@@ -51,14 +57,6 @@
func TestPutGet(t *testing.T) {
var nextCrawl = time.Unix(time.Now().Add(time.Hour).Unix(), 0).UTC()
- ctx, done, err := aetest.NewContext()
- if err != nil {
- t.Fatal(err)
- }
- defer done()
- bgCtx = func() context.Context {
- return ctx
- }
db := newDB(t)
defer closeDB(db)
diff --git a/database/indexae_test.go b/database/indexae_test.go
index 42530d7..c1b567a 100644
--- a/database/indexae_test.go
+++ b/database/indexae_test.go
@@ -32,7 +32,7 @@
}
defer done()
- if err := PutIndex(c, nil, "", 0, 0); err == nil {
+ if err := putIndex(c, nil, "", 0, 0); err == nil {
t.Errorf("PutIndex succeeded unexpectedly")
}
}
@@ -44,7 +44,7 @@
}
defer done()
- if err := PutIndex(c, nil, "12345", -1, 2); err == nil {
+ if err := putIndex(c, nil, "12345", -1, 2); err == nil {
t.Errorf("PutIndex succeeded unexpectedly")
}
}
@@ -57,7 +57,7 @@
defer done()
// Put a new package into search index.
- if err := PutIndex(c, pdoc, "12345", 0.99, 1); err != nil {
+ if err := putIndex(c, pdoc, "12345", 0.99, 1); err != nil {
t.Fatal(err)
}
@@ -84,7 +84,7 @@
}
// Update the import count of the package.
- if err := PutIndex(c, nil, "12345", -1, 2); err != nil {
+ if err := putIndex(c, nil, "12345", -1, 2); err != nil {
t.Fatal(err)
}
if err := idx.Get(c, "12345", &got); err != nil && err != search.ErrNoSuchDocument {
@@ -109,11 +109,11 @@
for i := 2; i < 6; i++ {
id += strconv.Itoa(i)
pdoc.Synopsis = id
- if err := PutIndex(c, pdoc, id, math.Pow(0.9, float64(i)), 10*i); err != nil {
+ if err := putIndex(c, pdoc, id, math.Pow(0.9, float64(i)), 10*i); err != nil {
t.Fatal(err)
}
}
- got, err := Search(c, "test")
+ got, err := searchAE(c, "test")
if err != nil {
t.Fatal(err)
}