From 7b9833405da6aa33e89a7e18ead53955e2323228 Mon Sep 17 00:00:00 2001 From: kosgrz <45372453+kosgrz@users.noreply.github.com> Date: Wed, 12 Jun 2019 20:40:17 +0200 Subject: [PATCH] Migrate Post.GetOldest to Sync by default (#11036) * Migrate Post.GetOldest to Sync by default * fixed error checking in post_store test --- store/sqlstore/post_store.go | 16 +++++++--------- store/store.go | 2 +- store/storetest/mocks/PostStore.go | 19 ++++++++++++++----- store/storetest/post_store.go | 3 ++- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/store/sqlstore/post_store.go b/store/sqlstore/post_store.go index 0f355098aa..5337004abb 100644 --- a/store/sqlstore/post_store.go +++ b/store/sqlstore/post_store.go @@ -1169,16 +1169,14 @@ func (s *SqlPostStore) PermanentDeleteBatch(endTime int64, limit int64) (int64, return rowsAffected, nil } -func (s *SqlPostStore) GetOldest() store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - var post model.Post - err := s.GetReplica().SelectOne(&post, "SELECT * FROM Posts ORDER BY CreateAt LIMIT 1") - if err != nil { - result.Err = model.NewAppError("SqlPostStore.GetOldest", "store.sql_post.get.app_error", nil, err.Error(), http.StatusNotFound) - } +func (s *SqlPostStore) GetOldest() (*model.Post, *model.AppError) { + var post model.Post + err := s.GetReplica().SelectOne(&post, "SELECT * FROM Posts ORDER BY CreateAt LIMIT 1") + if err != nil { + return nil, 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 { diff --git a/store/store.go b/store/store.go index b0f23d4e50..5eb4b54576 100644 --- a/store/store.go +++ b/store/store.go @@ -236,7 +236,7 @@ type PostStore interface { GetPostsByIds(postIds []string) ([]*model.Post, *model.AppError) GetPostsBatchForIndexing(startTime int64, endTime int64, limit int) ([]*model.PostForIndexing, *model.AppError) PermanentDeleteBatch(endTime int64, limit int64) (int64, *model.AppError) - GetOldest() StoreChannel + GetOldest() (*model.Post, *model.AppError) GetMaxPostSize() int GetParentsForExportAfter(limit int, afterId string) ([]*model.PostForExport, *model.AppError) GetRepliesForExport(parentId string) ([]*model.ReplyForExport, *model.AppError) diff --git a/store/storetest/mocks/PostStore.go b/store/storetest/mocks/PostStore.go index f5627d16be..949e3dbe10 100644 --- a/store/storetest/mocks/PostStore.go +++ b/store/storetest/mocks/PostStore.go @@ -254,19 +254,28 @@ func (_m *PostStore) GetMaxPostSize() int { } // 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() - var r0 store.StoreChannel - if rf, ok := ret.Get(0).(func() store.StoreChannel); ok { + var r0 *model.Post + if rf, ok := ret.Get(0).(func() *model.Post); ok { r0 = rf() } else { 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 diff --git a/store/storetest/post_store.go b/store/storetest/post_store.go index e217dbb568..7d138eaffa 100644 --- a/store/storetest/post_store.go +++ b/store/storetest/post_store.go @@ -2073,8 +2073,9 @@ func testPostStoreGetOldest(t *testing.T, ss store.Store) { o2.CreateAt = 1 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) }