MCPcopy
hub / github.com/helm/helm / Update

Method Update

pkg/storage/driver/sql.go:579–619  ·  view source on GitHub ↗

Update updates a release.

(key string, rel release.Releaser)

Source from the content-addressed store, hash-verified

577
578// Update updates a release.
579func (s *SQL) Update(key string, rel release.Releaser) error {
580 rls, err := releaserToV1Release(rel)
581 if err != nil {
582 return err
583 }
584 namespace := rls.Namespace
585 if namespace == "" {
586 namespace = defaultNamespace
587 }
588 s.namespace = namespace
589
590 body, err := encodeRelease(rls)
591 if err != nil {
592 s.Logger().Debug("failed to encode release", slog.Any("error", err))
593 return err
594 }
595
596 query, args, err := s.statementBuilder.
597 Update(sqlReleaseTableName).
598 Set(sqlReleaseTableBodyColumn, body).
599 Set(sqlReleaseTableNameColumn, rls.Name).
600 Set(sqlReleaseTableVersionColumn, int(rls.Version)).
601 Set(sqlReleaseTableStatusColumn, rls.Info.Status.String()).
602 Set(sqlReleaseTableOwnerColumn, sqlReleaseDefaultOwner).
603 Set(sqlReleaseTableModifiedAtColumn, int(time.Now().Unix())).
604 Where(sq.Eq{sqlReleaseTableKeyColumn: key}).
605 Where(sq.Eq{sqlReleaseTableNamespaceColumn: namespace}).
606 ToSql()
607
608 if err != nil {
609 s.Logger().Debug("failed to build update query", slog.Any("error", err))
610 return err
611 }
612
613 if _, err := s.db.Exec(query, args...); err != nil {
614 s.Logger().Debug("failed to update release in SQL database", slog.String("key", key), slog.Any("error", err))
615 return err
616 }
617
618 return nil
619}
620
621// Delete deletes a release or returns ErrReleaseNotFound.
622func (s *SQL) Delete(key string) (release.Releaser, error) {

Callers

nothing calls this directly

Calls 7

encodeReleaseFunction · 0.85
NowMethod · 0.80
releaserToV1ReleaseFunction · 0.70
LoggerMethod · 0.65
UpdateMethod · 0.65
SetMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected