X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Ffetch_group.cpp;h=bdaa0c9a9b309e469e24fde3db634eb51d983030;hp=6411525ba4f5f49eb9665a5ddd2b4d0ba1c3ac05;hb=6cd673299df1e8eaabdf6e538b19dc617514c82a;hpb=013a49ad36808700c2c3a12445c7c713a1b0b8b8 diff --git a/bigscreen/fetch_group.cpp b/bigscreen/fetch_group.cpp index 6411525..bdaa0c9 100644 --- a/bigscreen/fetch_group.cpp +++ b/bigscreen/fetch_group.cpp @@ -5,7 +5,8 @@ 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 " + // note: this _will_ break if any song has more than one short title! + pqxx::result res( t.exec("SELECT round,parallel,position,playmode,difficulty,songnumber,player,nick,song,title,COALESCE(shorttitle,title) AS shorttitle,artist,chosen,score FROM roundparticipation NATURAL JOIN players NATURAL JOIN scores NATURAL LEFT JOIN songs NATURAL LEFT JOIN songshorttitles WHERE " "tournament=" + pqxx::to_string(tournament) + " AND " + "round=" + pqxx::to_string(round) + " AND " + "parallel=" + pqxx::to_string(parallel) + " " + @@ -41,6 +42,7 @@ void FetchGroup::operator() (pqxx::transaction<> &t) so.id = i["song"].as(so.id); so.title = i["title"].as(so.title); so.artist = i["artist"].as(so.artist); + so.short_title = i["shorttitle"].as(so.short_title); } sc.song = so;