--- /dev/null
+#ifndef _FETCH_HIGHSCORE_H
+#define _FETCH_HIGHSCORE_H 1
+
+#include <pqxx/transactor>
+#include "widestring.h"
+
+struct Highscore {
+ unsigned song;
+ int score;
+ widestring nick, tournament_name;
+};
+
+/* A transactor that fetches the all-time high score for a song */
+class FetchHighscore : public pqxx::transactor<> {
+private:
+ unsigned song;
+ Highscore *hs;
+
+public:
+ FetchHighscore(unsigned song, Highscore *hs);
+ void operator() (pqxx::transaction<> &t);
+};
+
+#endif /* !defined(_FETCH_MAX_SCORE_FOR_SONG_H) */