Migrate Post.GetOldest to Sync by default (#11036)

* Migrate Post.GetOldest to Sync by default

* fixed error checking in post_store test
This commit is contained in:
kosgrz
2019-06-12 20:40:17 +02:00
committed by Jesús Espino
parent 793efb15f6
commit 7b9833405d
4 changed files with 24 additions and 16 deletions

View File

@@ -1169,16 +1169,14 @@ func (s *SqlPostStore) PermanentDeleteBatch(endTime int64, limit int64) (int64,
return rowsAffected, nil return rowsAffected, nil
} }
func (s *SqlPostStore) GetOldest() store.StoreChannel { func (s *SqlPostStore) GetOldest() (*model.Post, *model.AppError) {
return store.Do(func(result *store.StoreResult) { var post model.Post
var post model.Post err := s.GetReplica().SelectOne(&post, "SELECT * FROM Posts ORDER BY CreateAt LIMIT 1")
err := s.GetReplica().SelectOne(&post, "SELECT * FROM Posts ORDER BY CreateAt LIMIT 1") if err != nil {
if err != nil { return nil, model.NewAppError("SqlPostStore.GetOldest", "store.sql_post.get.app_error", nil, err.Error(), http.StatusNotFound)
result.Err = model.NewAppError("SqlPostStore.GetOldest", "store.sql_post.get.app_error", nil, err.Error(), http.StatusNotFound) }
}
result.Data = &post return &post, nil
})
} }
func (s *SqlPostStore) determineMaxPostSize() int { func (s *SqlPostStore) determineMaxPostSize() int {

View File

@@ -236,7 +236,7 @@ type PostStore interface {
GetPostsByIds(postIds []string) ([]*model.Post, *model.AppError) GetPostsByIds(postIds []string) ([]*model.Post, *model.AppError)
GetPostsBatchForIndexing(startTime int64, endTime int64, limit int) ([]*model.PostForIndexing, *model.AppError) GetPostsBatchForIndexing(startTime int64, endTime int64, limit int) ([]*model.PostForIndexing, *model.AppError)
PermanentDeleteBatch(endTime int64, limit int64) (int64, *model.AppError) PermanentDeleteBatch(endTime int64, limit int64) (int64, *model.AppError)
GetOldest() StoreChannel GetOldest() (*model.Post, *model.AppError)
GetMaxPostSize() int GetMaxPostSize() int
GetParentsForExportAfter(limit int, afterId string) ([]*model.PostForExport, *model.AppError) GetParentsForExportAfter(limit int, afterId string) ([]*model.PostForExport, *model.AppError)
GetRepliesForExport(parentId string) ([]*model.ReplyForExport, *model.AppError) GetRepliesForExport(parentId string) ([]*model.ReplyForExport, *model.AppError)

View File

@@ -254,19 +254,28 @@ func (_m *PostStore) GetMaxPostSize() int {
} }
// GetOldest provides a mock function with given fields: // GetOldest provides a mock function with given fields:
func (_m *PostStore) GetOldest() store.StoreChannel { func (_m *PostStore) GetOldest() (*model.Post, *model.AppError) {
ret := _m.Called() ret := _m.Called()
var r0 store.StoreChannel var r0 *model.Post
if rf, ok := ret.Get(0).(func() store.StoreChannel); ok { if rf, ok := ret.Get(0).(func() *model.Post); ok {
r0 = rf() r0 = rf()
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).(*model.Post)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func() *model.AppError); ok {
r1 = rf()
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// GetParentsForExportAfter provides a mock function with given fields: limit, afterId // GetParentsForExportAfter provides a mock function with given fields: limit, afterId

View File

@@ -2073,8 +2073,9 @@ func testPostStoreGetOldest(t *testing.T, ss store.Store) {
o2.CreateAt = 1 o2.CreateAt = 1
o2 = (<-ss.Post().Save(o2)).Data.(*model.Post) o2 = (<-ss.Post().Save(o2)).Data.(*model.Post)
r1 := (<-ss.Post().GetOldest()).Data.(*model.Post) r1, err := ss.Post().GetOldest()
require.Nil(t, err)
assert.EqualValues(t, o2.Id, r1.Id) assert.EqualValues(t, o2.Id, r1.Id)
} }