فهرست منبع

Correct table names of sql storage for remotecache

Oleg Gaidarenko 6 سال پیش
والد
کامیت
c5bc723a6e
2فایلهای تغییر یافته به همراه18 افزوده شده و 2 حذف شده
  1. 1 1
      pkg/infra/remotecache/database_storage.go
  2. 17 1
      pkg/infra/remotecache/database_storage_test.go

+ 1 - 1
pkg/infra/remotecache/database_storage.go

@@ -101,7 +101,7 @@ func (dc *databaseCache) Set(key string, value interface{}, expire time.Duration
 
 	// insert or update depending on if item already exist
 	if has {
-		sql := `UPDATE cache_data SET data=?, created=?, expire=? WHERE cache_key='?'`
+		sql := `UPDATE cache_data SET data=?, created_at=?, expires=? WHERE cache_key=?`
 		_, err = session.Exec(sql, data, getTime().Unix(), expiresInSeconds, key)
 	} else {
 		sql := `INSERT INTO cache_data (cache_key,data,created_at,expires) VALUES(?,?,?,?)`

+ 17 - 1
pkg/infra/remotecache/database_storage_test.go

@@ -5,7 +5,6 @@ import (
 	"time"
 
 	"github.com/bmizerany/assert"
-
 	"github.com/grafana/grafana/pkg/log"
 	"github.com/grafana/grafana/pkg/services/sqlstore"
 )
@@ -54,3 +53,20 @@ func TestDatabaseStorageGarbageCollection(t *testing.T) {
 	_, err = db.Get("key5")
 	assert.Equal(t, err, nil)
 }
+
+func TestSecondSet(t *testing.T) {
+	var err error
+	sqlstore := sqlstore.InitTestDB(t)
+
+	db := &databaseCache{
+		SQLStore: sqlstore,
+		log:      log.New("remotecache.database"),
+	}
+
+	obj := &CacheableStruct{String: "hey!"}
+
+	err = db.Set("killa-gorilla", obj, 0)
+	err = db.Set("killa-gorilla", obj, 0)
+
+	assert.Equal(t, err, nil)
+}