aboutsummaryrefslogtreecommitdiff
path: root/src/Maintenance/pruneplayers.cpp
blob: 0bae4f9799c2711cf69cc447a0a9ff64efe046fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "maintenance.h"

int Maintenance::prunePlayers()
{
    QString deleteString = "DELETE FROM playerinfo "
                           "WHERE playerinfo.sid NOT IN ( "
                           "SELECT serverinfo.sid FROM serverinfo) "
                           "OR dt_player < :timestamp";
    QSqlQuery deleteQuery;
    deleteQuery.prepare(deleteString);
    deleteQuery.bindValue(":timestamp", QDateTime::currentDateTime()
                        .addSecs(-7200).toSecsSinceEpoch()); // 2 hours

    if ( ! deleteQuery.exec() )
        return reportQuery(deleteQuery);

    return deleteQuery.numRowsAffected();
}