X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Ffetch_group.cpp;fp=bigscreen%2Ffetch_group.cpp;h=e1d0112160f2fa6f9e85d692e731f5f0e32fd9d1;hp=7e131c437951a4022e7a04017e2373cc6cc2db5b;hb=f40fa6f12fb246c09e925e97bcd7c40f8d2fa59c;hpb=8970b43d021e65f07ed4d279185c5062b4f9ee4a diff --git a/bigscreen/fetch_group.cpp b/bigscreen/fetch_group.cpp index 7e131c4..e1d0112 100644 --- a/bigscreen/fetch_group.cpp +++ b/bigscreen/fetch_group.cpp @@ -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); } }