Removing remaining instances of GetReplica/GetMaster (#19773)
```release-note NONE ```
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
f4f8dcc88b
Коммит
9d10199e5f
@@ -435,7 +435,6 @@ func (s SqlChannelStore) completePopulatingCategoryChannelsT(db dbSelecter, cate
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s SqlChannelStore) GetSidebarCategory(categoryId string) (*model.SidebarCategoryWithChannels, error) {
|
func (s SqlChannelStore) GetSidebarCategory(categoryId string) (*model.SidebarCategoryWithChannels, error) {
|
||||||
var categories []*sidebarCategoryForJoin
|
|
||||||
sql, args, err := s.getQueryBuilder().
|
sql, args, err := s.getQueryBuilder().
|
||||||
Select("SidebarCategories.*", "SidebarChannels.ChannelId").
|
Select("SidebarCategories.*", "SidebarChannels.ChannelId").
|
||||||
From("SidebarCategories").
|
From("SidebarCategories").
|
||||||
@@ -446,7 +445,8 @@ func (s SqlChannelStore) GetSidebarCategory(categoryId string) (*model.SidebarCa
|
|||||||
return nil, errors.Wrap(err, "sidebar_category_tosql")
|
return nil, errors.Wrap(err, "sidebar_category_tosql")
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err = s.GetReplica().Select(&categories, sql, args...); err != nil {
|
categories := []*sidebarCategoryForJoin{}
|
||||||
|
if err = s.GetReplicaX().Select(&categories, sql, args...); err != nil {
|
||||||
return nil, store.NewErrNotFound("SidebarCategories", categoryId)
|
return nil, store.NewErrNotFound("SidebarCategories", categoryId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1498,34 +1498,36 @@ func (s *SqlPostStore) getParentsPosts(channelId string, offset int, limit int,
|
|||||||
if len(roots) == 0 {
|
if len(roots) == 0 {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
// TODO: convert to squirrel HW
|
|
||||||
params := make(map[string]interface{})
|
cols := []string{"p.*"}
|
||||||
placeholders := make([]string, len(roots))
|
var where sq.Sqlizer
|
||||||
for idx, r := range roots {
|
where = sq.Eq{"p.Id": roots}
|
||||||
key := fmt.Sprintf(":Root%v", idx)
|
|
||||||
params[key[1:]] = r
|
|
||||||
placeholders[idx] = key
|
|
||||||
}
|
|
||||||
placeholderString := strings.Join(placeholders, ", ")
|
|
||||||
params["ChannelId"] = channelId
|
|
||||||
replyCountQuery := ""
|
|
||||||
whereStatement := "p.Id IN (" + placeholderString + ")"
|
|
||||||
if skipFetchThreads {
|
if skipFetchThreads {
|
||||||
replyCountQuery = `, (SELECT COUNT(*) FROM Posts WHERE Posts.RootId = (CASE WHEN p.RootId = '' THEN p.Id ELSE p.RootId END) AND Posts.DeleteAt = 0) as ReplyCount`
|
cols = append(cols, "(SELECT COUNT(*) FROM Posts WHERE Posts.RootId = (CASE WHEN p.RootId = '' THEN p.Id ELSE p.RootId END) AND Posts.DeleteAt = 0) as ReplyCount")
|
||||||
} else {
|
} else {
|
||||||
whereStatement += " OR p.RootId IN (" + placeholderString + ")"
|
where = sq.Or{
|
||||||
|
where,
|
||||||
|
sq.Eq{"p.RootId": roots},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var posts []*model.Post
|
|
||||||
_, err = s.GetReplica().Select(&posts, `
|
query := s.getQueryBuilder().
|
||||||
SELECT p.*`+replyCountQuery+`
|
Select(cols...).
|
||||||
FROM
|
From("Posts p").
|
||||||
Posts p
|
Where(sq.And{
|
||||||
WHERE
|
where,
|
||||||
(`+whereStatement+`)
|
sq.Eq{"ChannelId": channelId},
|
||||||
AND ChannelId = :ChannelId
|
sq.Eq{"DeleteAt": 0},
|
||||||
AND DeleteAt = 0
|
}).
|
||||||
ORDER BY CreateAt`,
|
OrderBy("CreateAt")
|
||||||
params)
|
|
||||||
|
sql, args, err := query.ToSql()
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrap(err, "ParentPosts_Tosql")
|
||||||
|
}
|
||||||
|
|
||||||
|
posts := []*model.Post{}
|
||||||
|
err = s.GetReplicaX().Select(&posts, sql, args...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "failed to find Posts")
|
return nil, errors.Wrap(err, "failed to find Posts")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,10 @@ func newSqlxDBWrapper(db *sqlx.DB, timeout time.Duration, trace bool) *sqlxDBWra
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *sqlxDBWrapper) Stats() sql.DBStats {
|
||||||
|
return w.DB.Stats()
|
||||||
|
}
|
||||||
|
|
||||||
func (w *sqlxDBWrapper) Beginx() (*sqlxTxWrapper, error) {
|
func (w *sqlxDBWrapper) Beginx() (*sqlxTxWrapper, error) {
|
||||||
tx, err := w.DB.Beginx()
|
tx, err := w.DB.Beginx()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -376,7 +376,8 @@ func (ss *SqlStore) GetDbVersion(numerical bool) (string, error) {
|
|||||||
return "", errors.New("Not supported driver")
|
return "", errors.New("Not supported driver")
|
||||||
}
|
}
|
||||||
|
|
||||||
version, err := ss.GetReplica().SelectStr(sqlVersion)
|
var version string
|
||||||
|
err := ss.GetReplicaX().Get(&version, sqlVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
@@ -459,7 +460,7 @@ func (ss *SqlStore) GetReplicaX() *sqlxDBWrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ss *SqlStore) TotalMasterDbConnections() int {
|
func (ss *SqlStore) TotalMasterDbConnections() int {
|
||||||
return ss.GetMaster().Db.Stats().OpenConnections
|
return ss.GetMasterX().Stats().OpenConnections
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReplicaLagAbs queries all the replica databases to get the absolute replica lag value
|
// ReplicaLagAbs queries all the replica databases to get the absolute replica lag value
|
||||||
|
|||||||
@@ -2074,8 +2074,8 @@ func (us SqlUserStore) GetUsersWithInvalidEmails(page int, perPage int, restrict
|
|||||||
return nil, errors.Wrap(err, "users_get_many_tosql")
|
return nil, errors.Wrap(err, "users_get_many_tosql")
|
||||||
}
|
}
|
||||||
|
|
||||||
var users []*model.User
|
users := []*model.User{}
|
||||||
if _, err := us.GetReplica().Select(&users, queryString, args...); err != nil {
|
if err := us.GetReplicaX().Select(&users, queryString, args...); err != nil {
|
||||||
return nil, errors.Wrap(err, "users_get_many_select")
|
return nil, errors.Wrap(err, "users_get_many_select")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user