From 8a3bd96d8500a93ec7c45ce0540ccf6f8172d385 Mon Sep 17 00:00:00 2001 From: David Rochow Date: Fri, 19 Jun 2026 11:55:00 +0200 Subject: [PATCH 1/2] feat(autopatch): only delete versionissue links when no component instance is attached to component version. --- internal/database/mariadb/autopatch.go | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/internal/database/mariadb/autopatch.go b/internal/database/mariadb/autopatch.go index fba29146..ad755e7a 100644 --- a/internal/database/mariadb/autopatch.go +++ b/internal/database/mariadb/autopatch.go @@ -128,11 +128,6 @@ func (s *SqlDatabase) processAutopatchForSingleTag(ctx context.Context, tagRuns return false, err } - err = s.deleteVersionIssuesOfDisappearedInstances(versionsOfDisappearedInstances) - if err != nil { - return false, err - } - componentsOfDisappearedInstances, err := s.getComponentIdsOfDisappearedInstances( ctx, versionsOfDisappearedInstances, @@ -273,18 +268,6 @@ func (s *SqlDatabase) getComponentIdsOfDisappearedInstances( return componentIdsOfDisappearedInstances, nil } -func (s *SqlDatabase) deleteVersionIssuesOfDisappearedInstances( - versionIdsOfDisappearedInstances map[int64]struct{}, -) error { - for vIdDi := range versionIdsOfDisappearedInstances { - if err := s.RemoveAllIssuesFromComponentVersion(vIdDi); err != nil { - return err - } - } - - return nil -} - func (s *SqlDatabase) deleteVersionsOfDisappearedInstances( ctx context.Context, versionIdsOfDisappearedInstances map[int64]struct{}, @@ -298,9 +281,15 @@ func (s *SqlDatabase) deleteVersionsOfDisappearedInstances( } if len(res) == 0 { + for vIdDi := range versionIdsOfDisappearedInstances { + if err := s.RemoveAllIssuesFromComponentVersion(vIdDi); err != nil { + return err + } + } if err := s.DeleteComponentVersion(vIdDi, util.SystemUserId); err != nil { return err } + } } From b2a2562891ecd741fb3b3203781c59ad7a063089 Mon Sep 17 00:00:00 2001 From: David Rochow Date: Fri, 19 Jun 2026 12:12:06 +0200 Subject: [PATCH 2/2] chore: added new lines --- internal/database/mariadb/autopatch.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/database/mariadb/autopatch.go b/internal/database/mariadb/autopatch.go index ad755e7a..96f641f6 100644 --- a/internal/database/mariadb/autopatch.go +++ b/internal/database/mariadb/autopatch.go @@ -281,11 +281,15 @@ func (s *SqlDatabase) deleteVersionsOfDisappearedInstances( } if len(res) == 0 { + for vIdDi := range versionIdsOfDisappearedInstances { + if err := s.RemoveAllIssuesFromComponentVersion(vIdDi); err != nil { return err } + } + if err := s.DeleteComponentVersion(vIdDi, util.SystemUserId); err != nil { return err }