MM-53410: Avoid antijoin for channelstore.channelSearchQuery (#24400)
https://mattermost.atlassian.net/browse/MM-53410 ```release-note NONE ```
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
a3b194581f
Коммит
fc9a9d1d41
@@ -3518,9 +3518,14 @@ func (s SqlChannelStore) channelSearchQuery(opts *store.ChannelSearchOpts) sq.Se
|
||||
InnerJoin("RetentionPoliciesChannels ON c.Id = RetentionPoliciesChannels.ChannelId").
|
||||
Where(sq.Eq{"RetentionPoliciesChannels.PolicyId": opts.PolicyID})
|
||||
} else if opts.ExcludePolicyConstrained {
|
||||
query = query.
|
||||
LeftJoin("RetentionPoliciesChannels ON c.Id = RetentionPoliciesChannels.ChannelId").
|
||||
Where("RetentionPoliciesChannels.ChannelId IS NULL")
|
||||
if s.DriverName() == model.DatabaseDriverPostgres {
|
||||
query = query.
|
||||
LeftJoin("RetentionPoliciesChannels ON c.Id = RetentionPoliciesChannels.ChannelId").
|
||||
Where("RetentionPoliciesChannels.ChannelId IS NULL")
|
||||
|
||||
} else {
|
||||
query = query.Where(sq.Expr(`c.Id NOT IN (SELECT ChannelId FROM RetentionPoliciesChannels)`))
|
||||
}
|
||||
} else if opts.IncludePolicyID {
|
||||
query = query.
|
||||
LeftJoin("RetentionPoliciesChannels ON c.Id = RetentionPoliciesChannels.ChannelId")
|
||||
|
||||
Ссылка в новой задаче
Block a user