Respect time nulls

This commit is contained in:
fogelito 2025-09-10 18:04:35 +03:00
parent b44051e0a2
commit 6ed4590e0f

View file

@ -434,25 +434,26 @@ class StatsResources extends Action
{
$message = 'Stats writeDocuments project: ' . $project->getId() . '(' . $project->getSequence() . ')';
// sort by unique index key reduce locks
usort($this->documents, function($a, $b) {
// metric DESC
/**
* sort by unique index key reduce locks/deadlocks
*/
usort($this->documents, function ($a, $b) {
// Metric DESC
$cmp = strcmp($b['metric'], $a['metric']);
if ($cmp !== 0) return $cmp;
// period ASC
// Period ASC
$cmp = strcmp($a['period'], $b['period']);
if ($cmp !== 0) return $cmp;
// time ASC, NULLs first
if ($a['time'] === null && $b['time'] === null) return 0;
if ($a['time'] === null) return -1;
// Time ASC, NULLs first
if ($a['time'] === null) return ($b['time'] === null) ? 0 : -1;
if ($b['time'] === null) return 1;
return strcmp($a['time'], $b['time']);
});
var_dump($this->documents);
var_dump($this->documents);
try {
$dbForLogs->createOrUpdateDocuments(
'stats',