diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php index 66d216c1f5af8..1a3ceeea5607b 100644 --- a/apps/dav/lib/CalDAV/CalDavBackend.php +++ b/apps/dav/lib/CalDAV/CalDavBackend.php @@ -3619,11 +3619,13 @@ public function pruneOutdatedSyncTokens(int $keep, int $retention): int { return 0; } + $cutoff = max(0, time() - $retention); + $query = $this->db->getQueryBuilder(); $query->delete('calendarchanges') ->where( $query->expr()->lte('id', $query->createNamedParameter($maxId - $keep, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT), - $query->expr()->lte('created_at', $query->createNamedParameter($retention)), + $query->expr()->lte('created_at', $query->createNamedParameter($cutoff, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT), ); return $query->executeStatement(); } diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php index 14f03e6ce8f3f..b10292db70043 100644 --- a/apps/dav/lib/CardDAV/CardDavBackend.php +++ b/apps/dav/lib/CardDAV/CardDavBackend.php @@ -1496,11 +1496,13 @@ public function pruneOutdatedSyncTokens(int $keep, int $retention): int { return 0; } + $cutoff = max(0, time() - $retention); + $query = $this->db->getQueryBuilder(); $query->delete('addressbookchanges') ->where( $query->expr()->lte('id', $query->createNamedParameter($maxId - $keep, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT), - $query->expr()->lte('created_at', $query->createNamedParameter($retention)), + $query->expr()->lte('created_at', $query->createNamedParameter($cutoff, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT), ); return $query->executeStatement(); }