aboutsummaryrefslogtreecommitdiff
path: root/planetwars-server/src/db
diff options
context:
space:
mode:
Diffstat (limited to 'planetwars-server/src/db')
-rw-r--r--planetwars-server/src/db/match_queries.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/planetwars-server/src/db/match_queries.rs b/planetwars-server/src/db/match_queries.rs
index 999802f..f9f8140 100644
--- a/planetwars-server/src/db/match_queries.rs
+++ b/planetwars-server/src/db/match_queries.rs
@@ -40,6 +40,7 @@ impl QueryFragment<Pg> for ListBotMatches {
out.push_sql(") main_player ON matches.id = main_player.match_id");
+ // TODO: this won't work properly for matches with > 2 players
if let Some(opponent_id) = self.opponent_id.as_ref() {
out.push_sql(" JOIN (");
out.push_sql(concat!(
@@ -70,11 +71,14 @@ impl QueryFragment<Pg> for ListBotMatches {
if let Some(before) = self.before.as_ref() {
out.push_sql(" AND matches.created_at < ");
out.push_bind_param::<Timestamp, _>(before)?;
- out.push_sql(" ORDER BY matches.created_at DESC");
} else if let Some(after) = self.after.as_ref() {
out.push_sql(" AND matches.created_at > ");
out.push_bind_param::<Timestamp, _>(after)?;
- out.push_sql(" ORDER BY matches.created_at ASC");
+ }
+ if self.after.is_some() {
+ out.push_sql(" ORDER BY matches.created_at ASC")
+ } else {
+ out.push_sql(" ORDER BY matches.created_at DESC")
}
out.push_sql(" LIMIT ");
out.push_bind_param::<BigInt, _>(&self.amount)?;