aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/database
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-07-25 16:49:08 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2016-07-25 16:49:08 +1200
commit451c358879e1f6f2fda26e4b85ef97982fbeaba5 (patch)
tree9b40f2dff6b03b5fb66c29c93dd2fd20cb84b65a /src/org/traccar/database
parent4a31e34ca62d4b1941d3bc329afc127ef7263f34 (diff)
downloadtrackermap-server-451c358879e1f6f2fda26e4b85ef97982fbeaba5.tar.gz
trackermap-server-451c358879e1f6f2fda26e4b85ef97982fbeaba5.tar.bz2
trackermap-server-451c358879e1f6f2fda26e4b85ef97982fbeaba5.zip
Improve history clearing logic
Diffstat (limited to 'src/org/traccar/database')
-rw-r--r--src/org/traccar/database/DataManager.java27
1 files changed, 5 insertions, 22 deletions
diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java
index 04d0d44ea..78f1b4109 100644
--- a/src/org/traccar/database/DataManager.java
+++ b/src/org/traccar/database/DataManager.java
@@ -305,28 +305,11 @@ public class DataManager {
}
public void clearPositionsHistory() throws SQLException {
- int histDays = config.getInteger("database.positionsHistoryDays");
- if (histDays == 0) {
- return;
- }
-
- String sql = getQuery("database.clearPositionsHistory");
- if (sql == null) {
- return;
- }
-
- for (Device device : getAllDevices()) {
- Date lastUpdate = device.getLastUpdate();
- if (lastUpdate != null) {
-
- Date dateBefore = new Date(lastUpdate.getTime() - histDays * 24 * 3600 * 1000);
-
- QueryBuilder.create(dataSource, sql)
- .setLong("positionId", device.getPositionId())
- .setLong("deviceId", device.getId())
- .setDate("serverTime", dateBefore)
- .executeUpdate();
- }
+ int historyDays = config.getInteger("database.positionsHistoryDays");
+ if (historyDays != 0) {
+ QueryBuilder.create(dataSource, getQuery("database.deletePositions"))
+ .setDate("serverTime", new Date(System.currentTimeMillis() - historyDays * 24 * 3600 * 1000))
+ .executeUpdate();
}
}