MCPcopy
hub / github.com/helm/helm / Delete

Method Delete

pkg/storage/driver/sql.go:622–692  ·  view source on GitHub ↗

Delete deletes a release or returns ErrReleaseNotFound.

(key string)

Source from the content-addressed store, hash-verified

620
621// Delete deletes a release or returns ErrReleaseNotFound.
622func (s *SQL) Delete(key string) (release.Releaser, error) {
623 transaction, err := s.db.Beginx()
624 if err != nil {
625 s.Logger().Debug("failed to start SQL transaction", slog.Any("error", err))
626 return nil, fmt.Errorf("error beginning transaction: %v", err)
627 }
628
629 selectQuery, args, err := s.statementBuilder.
630 Select(sqlReleaseTableBodyColumn).
631 From(sqlReleaseTableName).
632 Where(sq.Eq{sqlReleaseTableKeyColumn: key}).
633 Where(sq.Eq{sqlReleaseTableNamespaceColumn: s.namespace}).
634 ToSql()
635 if err != nil {
636 s.Logger().Debug("failed to build select query", slog.Any("error", err))
637 return nil, err
638 }
639
640 var record SQLReleaseWrapper
641 err = transaction.Get(&record, selectQuery, args...)
642 if err != nil {
643 s.Logger().Debug("release not found", slog.String("key", key), slog.Any("error", err))
644 return nil, ErrReleaseNotFound
645 }
646
647 release, err := decodeRelease(record.Body)
648 if err != nil {
649 s.Logger().Debug("failed to decode release", slog.String("key", key), slog.Any("error", err))
650 transaction.Rollback()
651 return nil, err
652 }
653 defer transaction.Commit()
654
655 deleteQuery, args, err := s.statementBuilder.
656 Delete(sqlReleaseTableName).
657 Where(sq.Eq{sqlReleaseTableKeyColumn: key}).
658 Where(sq.Eq{sqlReleaseTableNamespaceColumn: s.namespace}).
659 ToSql()
660 if err != nil {
661 s.Logger().Debug("failed to build delete query", slog.Any("error", err))
662 return nil, err
663 }
664
665 _, err = transaction.Exec(deleteQuery, args...)
666 if err != nil {
667 s.Logger().Debug("failed perform delete query", slog.Any("error", err))
668 return release, err
669 }
670
671 if release.Labels, err = s.getReleaseCustomLabels(key, s.namespace); err != nil {
672 s.Logger().Debug(
673 "failed to get release custom labels",
674 slog.String("namespace", s.namespace),
675 slog.String("key", key),
676 slog.Any("error", err))
677 return nil, err
678 }
679

Callers

nothing calls this directly

Calls 6

decodeReleaseFunction · 0.85
LoggerMethod · 0.65
GetMethod · 0.65
DeleteMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected