From 68ee2838e4efd7e1a93ffd856354436c7a8d5814 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Thu, 22 Jan 2026 15:13:40 +1100 Subject: [PATCH] fix deletiontime from event --- db/helpers.go | 4 ++-- internal/tasks/dailyAggregate.go | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/db/helpers.go b/db/helpers.go index 5994ad8..3ca582b 100644 --- a/db/helpers.go +++ b/db/helpers.go @@ -1501,7 +1501,7 @@ SET END, "DeletionTime" = CASE WHEN t_last_after IS NOT NULL - AND (dst."DeletionTime" IS NULL OR dst."DeletionTime" = 0 OR t_last_after < dst."DeletionTime") + AND (dst."DeletionTime" IS NULL OR dst."DeletionTime" = 0) THEN t_last_after ELSE dst."DeletionTime" END @@ -1585,7 +1585,7 @@ SET (%[2]s."Name" IS NOT NULL AND t."Name" IS NOT NULL AND %[2]s."Name" = t."Name") ) AND t.first_after IS NOT NULL - AND ("DeletionTime" IS NULL OR "DeletionTime" = 0 OR t.first_after < "DeletionTime") + AND ("DeletionTime" IS NULL OR "DeletionTime" = 0) LIMIT 1 ), "DeletionTime" diff --git a/internal/tasks/dailyAggregate.go b/internal/tasks/dailyAggregate.go index e9c4e50..e51abaa 100644 --- a/internal/tasks/dailyAggregate.go +++ b/internal/tasks/dailyAggregate.go @@ -438,21 +438,27 @@ func (c *CronTask) applyInventoryDeletions(ctx context.Context, agg map[dailyAgg } } for k, v := range agg { - if v.deletion != 0 || k.Vcenter != vcenter { + if k.Vcenter != vcenter { continue } if ts, ok := byID[k.VmId]; ok { - v.deletion = ts + if v.deletion != ts { + v.deletion = ts + } totalApplied++ continue } if ts, ok := byUUID[k.VmUuid]; ok { - v.deletion = ts + if v.deletion != ts { + v.deletion = ts + } totalApplied++ continue } if ts, ok := byName[strings.ToLower(k.Name)]; ok { - v.deletion = ts + if v.deletion != ts { + v.deletion = ts + } totalApplied++ } }