aboutsummaryrefslogtreecommitdiff
path: root/Maintenance/pruneplayers.cpp
diff options
context:
space:
mode:
authorDark1-dev <shansarkar272@gmail.com>2023-03-01 21:33:55 +0600
committerGitHub <noreply@github.com>2023-03-01 21:33:55 +0600
commit3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff (patch)
tree8b5f9425bbfc4fdd5a29155aec38893b77481359 /Maintenance/pruneplayers.cpp
parentde57bc38217c09a0ae4a143f631896652368ecc3 (diff)
downloadMasterserver-Qt5-3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff.tar.gz
Masterserver-Qt5-3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff.zip
Add files via upload
Diffstat (limited to 'Maintenance/pruneplayers.cpp')
-rw-r--r--Maintenance/pruneplayers.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/Maintenance/pruneplayers.cpp b/Maintenance/pruneplayers.cpp
new file mode 100644
index 0000000..0bae4f9
--- /dev/null
+++ b/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();
+}