Damn off-by-one errors. *shakes fist*
authorantzucaro <azucaro@gmail.com>
Sat, 17 Aug 2013 04:34:33 +0000 (00:34 -0400)
committerantzucaro <azucaro@gmail.com>
Sat, 17 Aug 2013 04:34:33 +0000 (00:34 -0400)
queries/show_elo_rot.sql
scripts/update_elos.sql

index eccbe6d..33f415d 100644 (file)
@@ -5,8 +5,8 @@ select
   update_dt last_update_dt, 
   (current_date - (update_dt::date)) number_of_days, 
   (current_date - (update_dt::date))-30 number_of_days_past_30, 
-  (current_date - (update_dt::date)-31)/7 penalty,
-  greatest(100, elo - ((current_date - (update_dt::date)-31)/7)) new_elo
+  (current_date - (update_dt::date)-31)/7+1 penalty,
+  greatest(100, elo - ((current_date - (update_dt::date)-31)/7+1)) new_elo
 from player_elos
 where 
   update_dt < (current_timestamp at time zone 'UTC' - interval '30 days')
index 38d456d..f724e03 100644 (file)
@@ -1,6 +1,6 @@
 begin;
   update player_elos
-  set elo=greatest(100, elo - ((current_date - (update_dt::date)-31)/7))
+  set elo=greatest(100, elo - ((current_date - (update_dt::date)-31)/7+1))
   where update_dt < (current_timestamp at time zone 'UTC' - interval '30 days')
   and elo != 100;
 end;