v1.7.7: Fix 'Plus recente' = 'not connected' sur page database
Les requetes MIN/MAX(timestamp) sur les tables capteur etaient faussees par les lignes accumulees pendant le bug RTC (v1.7.4): la chaine 'not connected' > toute date ISO en tri ASCII, donc MAX() retournait 'not connected' au lieu de la vraie date la plus recente. Fix: WHERE timestamp != 'not connected' dans les requetes MIN/MAX. Les lignes 'not connected' restent en base, elles sont juste ignorees pour le calcul des bornes temporelles affichees. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -675,8 +675,11 @@ if ($type == "db_table_stats") {
|
||||
$oldest = null;
|
||||
$newest = null;
|
||||
if ($count > 0) {
|
||||
$oldestResult = $db->query("SELECT MIN(timestamp) as ts FROM $tableName")->fetch();
|
||||
$newestResult = $db->query("SELECT MAX(timestamp) as ts FROM $tableName")->fetch();
|
||||
// Exclude 'not connected' rows: these are sensor readings collected
|
||||
// while the RTC service was down. They are lexicographically > real
|
||||
// timestamps so they corrupt MAX() (and MIN() too, less obviously).
|
||||
$oldestResult = $db->query("SELECT MIN(timestamp) as ts FROM $tableName WHERE timestamp != 'not connected'")->fetch();
|
||||
$newestResult = $db->query("SELECT MAX(timestamp) as ts FROM $tableName WHERE timestamp != 'not connected'")->fetch();
|
||||
$oldest = $oldestResult['ts'];
|
||||
$newest = $newestResult['ts'];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user