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')
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;