From 7c42215f2c6c623d23695310a3909f50a9bd5b6d Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Tue, 2 Dec 2025 15:08:06 -0500 Subject: [PATCH] Alter event_update_trigger to only update summary tables if there is a diskspace diff --- db/triggers.sql | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/db/triggers.sql b/db/triggers.sql index 2583c8c39..485836af2 100644 --- a/db/triggers.sql +++ b/db/triggers.sql @@ -124,10 +124,16 @@ BEGIN declare diff BIGINT default 0; set diff = COALESCE(NEW.DiskSpace,0) - COALESCE(OLD.DiskSpace,0); - UPDATE Events_Hour SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; - UPDATE Events_Day SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; - UPDATE Events_Week SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; - UPDATE Events_Month SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; + IF ( diff ) THEN + UPDATE Events_Hour SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; + UPDATE Events_Day SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; + UPDATE Events_Week SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; + UPDATE Events_Month SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; + UPDATE Event_Summaries + SET + TotalEventDiskSpace = GREATEST(COALESCE(TotalEventDiskSpace,0) - COALESCE(OLD.DiskSpace,0) + COALESCE(NEW.DiskSpace,0),0) + WHERE Event_Summaries.MonitorId=OLD.MonitorId; + END IF; IF ( NEW.Archived != OLD.Archived ) THEN IF ( NEW.Archived ) THEN @@ -153,12 +159,6 @@ BEGIN UPDATE Events_Archived SET DiskSpace=NEW.DiskSpace WHERE EventId=NEW.Id; END IF; - IF ( diff ) THEN - UPDATE Event_Summaries - SET - TotalEventDiskSpace = GREATEST(COALESCE(TotalEventDiskSpace,0) - COALESCE(OLD.DiskSpace,0) + COALESCE(NEW.DiskSpace,0),0) - WHERE Event_Summaries.MonitorId=OLD.MonitorId; - END IF; END; //