]> git.sesse.net Git - ccbs/blobdiff - bigscreen/fetch_group.cpp
Hit the group-fetching code so it compiles.
[ccbs] / bigscreen / fetch_group.cpp
index 7e131c437951a4022e7a04017e2373cc6cc2db5b..e1d0112160f2fa6f9e85d692e731f5f0e32fd9d1 100644 (file)
@@ -5,7 +5,7 @@ FetchGroup::FetchGroup(unsigned tournament, unsigned round, unsigned parallel, G
        
 void FetchGroup::operator() (pqxx::transaction<> &t)
 {
-       pqxx::result res( t.exec("SELECT round,parallel,position,playmode,difficulty,songnumber,player,nick,song,title,artist,chosen,score FROM roundparticipation NATURAL JOIN players NATURAL JOIN scores NATURAL LEFT JOIN songs WHERE " +
+       pqxx::result res( t.exec("SELECT round,parallel,position,playmode,difficulty,songnumber,player,nick,song,title,artist,chosen,score FROM roundparticipation NATURAL JOIN players NATURAL JOIN scores NATURAL LEFT JOIN songs WHERE " 
                "tournament=" + pqxx::to_string(tournament) + " AND " +
                "round=" + pqxx::to_string(round) + " AND " +
                "parallel=" + pqxx::to_string(parallel) + " " +
@@ -18,16 +18,16 @@ void FetchGroup::operator() (pqxx::transaction<> &t)
        // massage the data we get back into a Group object and children
        int curr_player = -1;
        for (pqxx::result::const_iterator i = res.begin(); i != res.end(); ++i) {
-               if (i["player"] != curr_player) {
+               if (i["player"].as(curr_player) != curr_player) {
                        Player p;
 
-                       p.id = i["player"];
+                       p.id = i["player"].as(p.id);
                        p.nick = i["nick"].as(p.nick);
                        p.total = 0;
                        p.rank = 1;
                        curr_group.players.push_back(p);
                        
-                       curr_player = i["player"];
+                       curr_player = i["player"].as(curr_player);
                }
 
                // note: we _will_ get some duplication here (multiple identical Song
@@ -40,10 +40,10 @@ void FetchGroup::operator() (pqxx::transaction<> &t)
                so.artist = i["song"].as(so.artist);
        
                sc.song = so;
-               sc.chosen = i["chosen"].as(s.chosen);
-               sc.score = i["score"].as(s.score);
+               sc.chosen = i["chosen"].as(sc.chosen);
+               sc.score = i["score"].as(sc.score);
                
-               curr_group.players[curr.group.players.size() - 1].scores.push_back(sc);
+               curr_group.players[curr_group.players.size() - 1].scores.push_back(sc);
        }
 }