$ref->{'score1'}, $ref->{'score2'},
$newr1_1, $newrd1_1, $newr1_2, $newrd1_2,
$newr2_1, $newrd2_1, $newr2_2, $newrd2_2);
- $dbh->do('insert into double_rating values (?,?,?,?)', undef,
- $ref->{'team1_username1'}, $ref->{'gametime'}, $newr1_1, $newrd1_1);
- $dbh->do('insert into double_rating values (?,?,?,?)', undef,
- $ref->{'team1_username2'}, $ref->{'gametime'}, $newr1_2, $newrd1_2);
- $dbh->do('insert into double_rating values (?,?,?,?)', undef,
- $ref->{'team2_username1'}, $ref->{'gametime'}, $newr2_1, $newrd2_1);
- $dbh->do('insert into double_rating values (?,?,?,?)', undef,
- $ref->{'team2_username2'}, $ref->{'gametime'}, $newr2_2, $newrd2_2);
+ $dbh->do('insert into double_rating values (?,?,?,?,?)', undef,
+ $ref->{'team1_username1'}, $ref->{'gametime'}, $newr1_1, $newrd1_1, $newr1_1-$rating1_1);
+ $dbh->do('insert into double_rating values (?,?,?,?,?)', undef,
+ $ref->{'team1_username2'}, $ref->{'gametime'}, $newr1_2, $newrd1_2, $newr1_2-$rating1_2);
+ $dbh->do('insert into double_rating values (?,?,?,?,?)', undef,
+ $ref->{'team2_username1'}, $ref->{'gametime'}, $newr2_1, $newrd2_1, $newr2_1-$rating2_1);
+ $dbh->do('insert into double_rating values (?,?,?,?,?)', undef,
+ $ref->{'team2_username2'}, $ref->{'gametime'}, $newr2_2, $newrd2_2, $newr2_2-$rating2_2);
$ratings{$ref->{'team1_username1'}} = [ $newr1_1, $newrd1_1, $ref->{'eptime'} ];
$ratings{$ref->{'team1_username2'}} = [ $newr1_2, $newrd1_2, $ref->{'eptime'} ];
printf("%-10s - %-10s: %u - %u, new ratings %u/%u %u/%u\n",
$ref->{'username1'}, $ref->{'username2'}, $ref->{'score1'},
$ref->{'score2'}, $newr1, $newrd1, $newr2, $newrd2);
- $dbh->do('insert into single_rating values (?,?,?,?)', undef,
- $ref->{'username1'}, $ref->{'gametime'}, $newr1, $newrd1);
- $dbh->do('insert into single_rating values (?,?,?,?)', undef,
- $ref->{'username2'}, $ref->{'gametime'}, $newr2, $newrd2);
+ $dbh->do('insert into single_rating values (?,?,?,?,?)', undef,
+ $ref->{'username1'}, $ref->{'gametime'}, $newr1, $newrd1, $newr1-$rating1);
+ $dbh->do('insert into single_rating values (?,?,?,?,?)', undef,
+ $ref->{'username2'}, $ref->{'gametime'}, $newr2, $newrd2, $newr2-$rating2);
$ratings{$ref->{'username1'}} = [ $newr1, $newrd1, $ref->{'eptime'} ];
$ratings{$ref->{'username2'}} = [ $newr2, $newrd2, $ref->{'eptime'} ];
$dbh->do('INSERT INTO double_results (gametime,team1_username1,team1_username2,team2_username1,team2_username2,score1,score2) VALUES (CURRENT_TIMESTAMP,?,?,?,?,?,?)',
undef, $team1_username1, $team1_username2, $team2_username1, $team2_username2, $score1, $score2);
-$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?)',
- undef, $team1_username1, $newr1_1, $newrd1_1);
-$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?)',
- undef, $team1_username2, $newr1_2, $newrd1_2);
-$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?)',
- undef, $team2_username1, $newr2_1, $newrd2_1);
-$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?)',
- undef, $team2_username2, $newr2_2, $newrd2_2);
+$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?,?)',
+ undef, $team1_username1, $newr1_1, $newrd1_1, $newr1_1-$rating1_1);
+$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?,?)',
+ undef, $team1_username2, $newr1_2, $newrd1_2, $newr1_2-$rating1_2);
+$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?,?)',
+ undef, $team2_username1, $newr2_1, $newrd2_1, $newr2_1-$rating2_1);
+$dbh->do('INSERT INTO double_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?,?)',
+ undef, $team2_username2, $newr2_2, $newrd2_2, $newr2_2-$rating2_2);
$dbh->commit;
$dbh->do('INSERT INTO single_results (gametime,username1,username2,score1,score2) VALUES (CURRENT_TIMESTAMP,?,?,?,?)',
undef, $username1, $username2, $score1, $score2);
-$dbh->do('INSERT INTO single_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?)',
- undef, $username1, $newr1, $newrd1);
-$dbh->do('INSERT INTO single_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?)',
- undef, $username2, $newr2, $newrd2);
+$dbh->do('INSERT INTO single_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?,?)',
+ undef, $username1, $newr1, $newrd1, $newr1-$rating1);
+$dbh->do('INSERT INTO single_rating (username,ratetime,rating,rd) VALUES (?,CURRENT_TIMESTAMP,?,?,?)',
+ undef, $username2, $newr2, $newrd2, $newr2-$rating2);
$dbh->commit;
# Last games
my @last_games = ();
-$q = $dbh->prepare('select * from ( select to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,\'Double\' as type,team1_username1 || \' / \' || team1_username2 as username1, team2_username1 || \' / \' || team2_username2 as username2,score1,score2 from double_results union all select to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,\'Single\' as type,username1,username2,score1,score2 from single_results ) t1 order by gametime desc limit 10');
+$q = $dbh->prepare('
+select * from (
+ select
+ to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,
+ \'Double\' as type,
+ team1_username1 || \' / \' || team1_username2 as username1,
+ team2_username1 || \' / \' || team2_username2 as username2,
+ score1,
+ score2,
+ ra1.rating_diff as diff1,
+ ra2.rating_diff as diff2
+ from
+ double_results re
+ join double_rating ra1
+ on re.gametime=ra1.ratetime
+ and re.team1_username1=ra1.username
+ join double_rating ra2
+ on re.gametime=ra2.ratetime
+ and re.team2_username1=ra2.username
+ union all
+ select
+ to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,
+ \'Single\' as type,
+ username1,
+ username2,
+ score1,
+ score2,
+ ra1.rating_diff as diff1,
+ ra2.rating_diff as diff2
+ from
+ single_results re
+ join single_rating ra1
+ on re.gametime=ra1.ratetime
+ and re.username1=ra1.username
+ join single_rating ra2
+ on re.gametime=ra2.ratetime
+ and re.username2=ra2.username
+) t1
+order by gametime desc limit 10');
$q->execute();
while (my $ref = $q->fetchrow_hashref) {
+ $ref->{'diff1'} = sprintf "%+d", int($ref->{'diff1'} + 0.5);
+ $ref->{'diff2'} = sprintf "%+d", int($ref->{'diff2'} + 0.5);
push @last_games, $ref;
}
<th>Type</th>
<th colspan="2">Opponents</th>
<th>Score</th>
+ <th colspan="2">Rating diff.</th>
</tr>
</thead>
<tbody t:id="lastgames">
<td><t:username1 /></td>
<td><t:username2 /></td>
<td><t:score1 /> – <t:score2 /></td>
+ <td><t:diff1 /></td>
+ <td><t:diff2 /></td>
</tr>
</tbody>
</table>