diff options
| author | Dark1-dev <shansarkar272@gmail.com> | 2023-03-01 21:32:53 +0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-01 21:32:53 +0600 |
| commit | de57bc38217c09a0ae4a143f631896652368ecc3 (patch) | |
| tree | 635e3f429a5a6e00744b6817533615e41c6db5e2 /src/Maintenance/pruneplayers.cpp | |
| parent | 60a301a93b6057bb2c54ac04a7c38c38389037b3 (diff) | |
| download | Masterserver-Qt5-de57bc38217c09a0ae4a143f631896652368ecc3.tar.gz Masterserver-Qt5-de57bc38217c09a0ae4a143f631896652368ecc3.zip | |
Add files via upload
Diffstat (limited to 'src/Maintenance/pruneplayers.cpp')
| -rw-r--r-- | src/Maintenance/pruneplayers.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Maintenance/pruneplayers.cpp b/src/Maintenance/pruneplayers.cpp new file mode 100644 index 0000000..0bae4f9 --- /dev/null +++ b/src/Maintenance/pruneplayers.cpp @@ -0,0 +1,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(); +} |
