Skip to content

Commit

Permalink
mvu: fix handle missing 'auto_upgrade' column in versions table (sour…
Browse files Browse the repository at this point in the history
…cegraph#52509)

We weren't returning the values when performing the fallback query,
instead returning an error regardless

## Test plan

Tested in a full run of migrator
  • Loading branch information
Strum355 committed May 26, 2023
1 parent a1a2684 commit dcd2776
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions internal/version/upgradestore/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,11 @@ func isMissingRelation(err error) bool {
func (s *store) GetAutoUpgrade(ctx context.Context) (version string, enabled bool, err error) {
if err = s.db.QueryRow(ctx, sqlf.Sprintf(getAutoUpgradeQuery)).Scan(&version, &enabled); err != nil {
var pgerr *pgconn.PgError
if errors.As(err, &pgerr) {
if pgerr.Code == pgerrcode.UndefinedColumn {
if err = s.db.QueryRow(ctx, sqlf.Sprintf(getAutoUpgradeFallbackQuery)).Scan(&version); err != nil {
return "", false, errors.Wrap(err, "failed to get frontend version from fallback")
}
if errors.As(err, &pgerr) && pgerr.Code == pgerrcode.UndefinedColumn {
if err = s.db.QueryRow(ctx, sqlf.Sprintf(getAutoUpgradeFallbackQuery)).Scan(&version); err != nil {
return "", false, errors.Wrap(err, "failed to get frontend version from fallback")
}
return version, enabled, nil
}
return "", false, errors.Wrap(err, "failed to get frontend version and auto_upgrade state")
}
Expand Down

0 comments on commit dcd2776

Please sign in to comment.