Make sure hot rank sorts for post and community filter by positive hot ranks. (#3497)
* Make sure hot rank sorts for post and community filter by positive hot ranks. - Context #2994 * Adding a comment.
This commit is contained in:
parent
ef11a6ca37
commit
6840fd64f9
2 changed files with 13 additions and 3 deletions
|
@ -391,8 +391,14 @@ impl<'a> PostQuery<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
query = match self.sort.unwrap_or(SortType::Hot) {
|
query = match self.sort.unwrap_or(SortType::Hot) {
|
||||||
SortType::Active => query.then_order_by(post_aggregates::hot_rank_active.desc()),
|
SortType::Active => query
|
||||||
SortType::Hot => query.then_order_by(post_aggregates::hot_rank.desc()),
|
// Hot ranks fade to zero after a few days, and this filter drastically reduces
|
||||||
|
// the number of rows needed to be joined to.
|
||||||
|
.filter(post_aggregates::hot_rank_active.gt(1))
|
||||||
|
.then_order_by(post_aggregates::hot_rank_active.desc()),
|
||||||
|
SortType::Hot => query
|
||||||
|
.filter(post_aggregates::hot_rank.gt(1))
|
||||||
|
.then_order_by(post_aggregates::hot_rank.desc()),
|
||||||
SortType::New => query.then_order_by(post_aggregates::published.desc()),
|
SortType::New => query.then_order_by(post_aggregates::published.desc()),
|
||||||
SortType::Old => query.then_order_by(post_aggregates::published.asc()),
|
SortType::Old => query.then_order_by(post_aggregates::published.asc()),
|
||||||
SortType::NewComments => query.then_order_by(post_aggregates::newest_comment_time.desc()),
|
SortType::NewComments => query.then_order_by(post_aggregates::newest_comment_time.desc()),
|
||||||
|
|
|
@ -184,7 +184,11 @@ impl<'a> CommunityQuery<'a> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
match self.sort.unwrap_or(Hot) {
|
match self.sort.unwrap_or(Hot) {
|
||||||
Hot | Active => query = query.order_by(community_aggregates::hot_rank.desc()),
|
Hot | Active => {
|
||||||
|
query = query
|
||||||
|
.filter(community_aggregates::hot_rank.gt(1))
|
||||||
|
.order_by(community_aggregates::hot_rank.desc())
|
||||||
|
}
|
||||||
NewComments | TopDay | TopTwelveHour | TopSixHour | TopHour => {
|
NewComments | TopDay | TopTwelveHour | TopSixHour | TopHour => {
|
||||||
query = query.order_by(community_aggregates::users_active_day.desc())
|
query = query.order_by(community_aggregates::users_active_day.desc())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue