Skip to content

Commit 5114d52

Browse files
authored
Drop use of valutil.ValOrDefault in favor of cmp.Or (#877)
In #845 I replaced uses of `valutil.FirstNonZero` with `cmp.Or`, but apparently forgot that we should do the same thing for `ValOrDefault`, which these days is pretty unnecessary.
1 parent c0213e6 commit 5114d52

11 files changed

Lines changed: 44 additions & 41 deletions

File tree

client.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -374,24 +374,24 @@ func (c *Config) WithDefaults() *Config {
374374

375375
return &Config{
376376
AdvisoryLockPrefix: c.AdvisoryLockPrefix,
377-
CancelledJobRetentionPeriod: valutil.ValOrDefault(c.CancelledJobRetentionPeriod, maintenance.CancelledJobRetentionPeriodDefault),
378-
CompletedJobRetentionPeriod: valutil.ValOrDefault(c.CompletedJobRetentionPeriod, maintenance.CompletedJobRetentionPeriodDefault),
379-
DiscardedJobRetentionPeriod: valutil.ValOrDefault(c.DiscardedJobRetentionPeriod, maintenance.DiscardedJobRetentionPeriodDefault),
377+
CancelledJobRetentionPeriod: cmp.Or(c.CancelledJobRetentionPeriod, maintenance.CancelledJobRetentionPeriodDefault),
378+
CompletedJobRetentionPeriod: cmp.Or(c.CompletedJobRetentionPeriod, maintenance.CompletedJobRetentionPeriodDefault),
379+
DiscardedJobRetentionPeriod: cmp.Or(c.DiscardedJobRetentionPeriod, maintenance.DiscardedJobRetentionPeriodDefault),
380380
ErrorHandler: c.ErrorHandler,
381-
FetchCooldown: valutil.ValOrDefault(c.FetchCooldown, FetchCooldownDefault),
382-
FetchPollInterval: valutil.ValOrDefault(c.FetchPollInterval, FetchPollIntervalDefault),
381+
FetchCooldown: cmp.Or(c.FetchCooldown, FetchCooldownDefault),
382+
FetchPollInterval: cmp.Or(c.FetchPollInterval, FetchPollIntervalDefault),
383383
ID: valutil.ValOrDefaultFunc(c.ID, func() string { return defaultClientID(time.Now().UTC()) }),
384384
Hooks: c.Hooks,
385385
JobInsertMiddleware: c.JobInsertMiddleware,
386-
JobTimeout: valutil.ValOrDefault(c.JobTimeout, JobTimeoutDefault),
386+
JobTimeout: cmp.Or(c.JobTimeout, JobTimeoutDefault),
387387
Logger: logger,
388-
MaxAttempts: valutil.ValOrDefault(c.MaxAttempts, MaxAttemptsDefault),
388+
MaxAttempts: cmp.Or(c.MaxAttempts, MaxAttemptsDefault),
389389
Middleware: c.Middleware,
390390
PeriodicJobs: c.PeriodicJobs,
391391
PollOnly: c.PollOnly,
392392
Queues: c.Queues,
393393
ReindexerSchedule: c.ReindexerSchedule,
394-
RescueStuckJobsAfter: valutil.ValOrDefault(c.RescueStuckJobsAfter, rescueAfter),
394+
RescueStuckJobsAfter: cmp.Or(c.RescueStuckJobsAfter, rescueAfter),
395395
RetryPolicy: retryPolicy,
396396
Schema: c.Schema,
397397
SkipJobKindValidation: c.SkipJobKindValidation,
@@ -400,7 +400,7 @@ func (c *Config) WithDefaults() *Config {
400400
TestOnly: c.TestOnly,
401401
WorkerMiddleware: c.WorkerMiddleware,
402402
Workers: c.Workers,
403-
schedulerInterval: valutil.ValOrDefault(c.schedulerInterval, maintenance.JobSchedulerIntervalDefault),
403+
schedulerInterval: cmp.Or(c.schedulerInterval, maintenance.JobSchedulerIntervalDefault),
404404
}
405405
}
406406

cmd/river/rivercli/river_cli.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package rivercli
77

88
import (
9+
"cmp"
910
"context"
1011
"errors"
1112
"fmt"
@@ -24,7 +25,6 @@ import (
2425

2526
"github.com/riverqueue/river/riverdriver"
2627
"github.com/riverqueue/river/rivermigrate"
27-
"github.com/riverqueue/river/rivershared/util/valutil"
2828
)
2929

3030
type Config struct {
@@ -666,7 +666,7 @@ func (c *version) Run(ctx context.Context, opts *versionOpts) (bool, error) {
666666
buildVersion = ""
667667
}
668668

669-
fmt.Fprintf(c.Out, "%s version %s\n", opts.Name, valutil.ValOrDefault(buildVersion, "(unknown)"))
669+
fmt.Fprintf(c.Out, "%s version %s\n", opts.Name, cmp.Or(buildVersion, "(unknown)"))
670670
fmt.Fprintf(c.Out, "Built with %s\n", buildInfo.GoVersion)
671671

672672
return true, nil

internal/leadership/elector.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package leadership
22

33
import (
4+
"cmp"
45
"context"
56
"encoding/json"
67
"errors"
@@ -18,7 +19,6 @@ import (
1819
"github.com/riverqueue/river/rivershared/util/randutil"
1920
"github.com/riverqueue/river/rivershared/util/serviceutil"
2021
"github.com/riverqueue/river/rivershared/util/testutil"
21-
"github.com/riverqueue/river/rivershared/util/valutil"
2222
)
2323

2424
const (
@@ -112,8 +112,8 @@ func NewElector(archetype *baseservice.Archetype, exec riverdriver.Executor, not
112112
return baseservice.Init(archetype, &Elector{
113113
config: (&Config{
114114
ClientID: config.ClientID,
115-
ElectInterval: valutil.ValOrDefault(config.ElectInterval, electIntervalDefault),
116-
ElectIntervalJitter: valutil.ValOrDefault(config.ElectIntervalJitter, electIntervalJitterDefault),
115+
ElectInterval: cmp.Or(config.ElectInterval, electIntervalDefault),
116+
ElectIntervalJitter: cmp.Or(config.ElectIntervalJitter, electIntervalJitterDefault),
117117
Schema: config.Schema,
118118
}).mustValidate(),
119119
exec: exec,

internal/maintenance/job_cleaner.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package maintenance
22

33
import (
4+
"cmp"
45
"context"
56
"errors"
67
"fmt"
@@ -15,7 +16,6 @@ import (
1516
"github.com/riverqueue/river/rivershared/util/serviceutil"
1617
"github.com/riverqueue/river/rivershared/util/testutil"
1718
"github.com/riverqueue/river/rivershared/util/timeutil"
18-
"github.com/riverqueue/river/rivershared/util/valutil"
1919
)
2020

2121
const (
@@ -96,12 +96,12 @@ type JobCleaner struct {
9696
func NewJobCleaner(archetype *baseservice.Archetype, config *JobCleanerConfig, exec riverdriver.Executor) *JobCleaner {
9797
return baseservice.Init(archetype, &JobCleaner{
9898
Config: (&JobCleanerConfig{
99-
CancelledJobRetentionPeriod: valutil.ValOrDefault(config.CancelledJobRetentionPeriod, CancelledJobRetentionPeriodDefault),
100-
CompletedJobRetentionPeriod: valutil.ValOrDefault(config.CompletedJobRetentionPeriod, CompletedJobRetentionPeriodDefault),
101-
DiscardedJobRetentionPeriod: valutil.ValOrDefault(config.DiscardedJobRetentionPeriod, DiscardedJobRetentionPeriodDefault),
102-
Interval: valutil.ValOrDefault(config.Interval, JobCleanerIntervalDefault),
99+
CancelledJobRetentionPeriod: cmp.Or(config.CancelledJobRetentionPeriod, CancelledJobRetentionPeriodDefault),
100+
CompletedJobRetentionPeriod: cmp.Or(config.CompletedJobRetentionPeriod, CompletedJobRetentionPeriodDefault),
101+
DiscardedJobRetentionPeriod: cmp.Or(config.DiscardedJobRetentionPeriod, DiscardedJobRetentionPeriodDefault),
102+
Interval: cmp.Or(config.Interval, JobCleanerIntervalDefault),
103103
Schema: config.Schema,
104-
Timeout: valutil.ValOrDefault(config.Timeout, JobCleanerTimeoutDefault),
104+
Timeout: cmp.Or(config.Timeout, JobCleanerTimeoutDefault),
105105
}).mustValidate(),
106106

107107
batchSize: BatchSizeDefault,

internal/maintenance/job_rescuer.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package maintenance
22

33
import (
4+
"cmp"
45
"context"
56
"encoding/json"
67
"errors"
@@ -19,7 +20,6 @@ import (
1920
"github.com/riverqueue/river/rivershared/util/serviceutil"
2021
"github.com/riverqueue/river/rivershared/util/testutil"
2122
"github.com/riverqueue/river/rivershared/util/timeutil"
22-
"github.com/riverqueue/river/rivershared/util/valutil"
2323
"github.com/riverqueue/river/rivertype"
2424
)
2525

@@ -93,8 +93,8 @@ func NewRescuer(archetype *baseservice.Archetype, config *JobRescuerConfig, exec
9393
return baseservice.Init(archetype, &JobRescuer{
9494
Config: (&JobRescuerConfig{
9595
ClientRetryPolicy: config.ClientRetryPolicy,
96-
Interval: valutil.ValOrDefault(config.Interval, JobRescuerIntervalDefault),
97-
RescueAfter: valutil.ValOrDefault(config.RescueAfter, JobRescuerRescueAfterDefault),
96+
Interval: cmp.Or(config.Interval, JobRescuerIntervalDefault),
97+
RescueAfter: cmp.Or(config.RescueAfter, JobRescuerRescueAfterDefault),
9898
Schema: config.Schema,
9999
WorkUnitFactoryFunc: config.WorkUnitFactoryFunc,
100100
}).mustValidate(),

internal/maintenance/job_scheduler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package maintenance
22

33
import (
4+
"cmp"
45
"context"
56
"errors"
67
"fmt"
@@ -15,7 +16,6 @@ import (
1516
"github.com/riverqueue/river/rivershared/util/serviceutil"
1617
"github.com/riverqueue/river/rivershared/util/testutil"
1718
"github.com/riverqueue/river/rivershared/util/timeutil"
18-
"github.com/riverqueue/river/rivershared/util/valutil"
1919
"github.com/riverqueue/river/rivertype"
2020
)
2121

@@ -87,8 +87,8 @@ type JobScheduler struct {
8787
func NewJobScheduler(archetype *baseservice.Archetype, config *JobSchedulerConfig, exec riverdriver.Executor) *JobScheduler {
8888
return baseservice.Init(archetype, &JobScheduler{
8989
config: (&JobSchedulerConfig{
90-
Interval: valutil.ValOrDefault(config.Interval, JobSchedulerIntervalDefault),
91-
Limit: valutil.ValOrDefault(config.Limit, JobSchedulerLimitDefault),
90+
Interval: cmp.Or(config.Interval, JobSchedulerIntervalDefault),
91+
Limit: cmp.Or(config.Limit, JobSchedulerLimitDefault),
9292
NotifyInsert: config.NotifyInsert,
9393
Schema: config.Schema,
9494
}).mustValidate(),

internal/maintenance/queue_cleaner.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package maintenance
22

33
import (
4+
"cmp"
45
"context"
56
"errors"
67
"fmt"
@@ -16,7 +17,6 @@ import (
1617
"github.com/riverqueue/river/rivershared/util/serviceutil"
1718
"github.com/riverqueue/river/rivershared/util/testutil"
1819
"github.com/riverqueue/river/rivershared/util/timeutil"
19-
"github.com/riverqueue/river/rivershared/util/valutil"
2020
)
2121

2222
const (
@@ -74,8 +74,8 @@ type QueueCleaner struct {
7474
func NewQueueCleaner(archetype *baseservice.Archetype, config *QueueCleanerConfig, exec riverdriver.Executor) *QueueCleaner {
7575
return baseservice.Init(archetype, &QueueCleaner{
7676
Config: (&QueueCleanerConfig{
77-
Interval: valutil.ValOrDefault(config.Interval, queueCleanerIntervalDefault),
78-
RetentionPeriod: valutil.ValOrDefault(config.RetentionPeriod, QueueRetentionPeriodDefault),
77+
Interval: cmp.Or(config.Interval, queueCleanerIntervalDefault),
78+
RetentionPeriod: cmp.Or(config.RetentionPeriod, QueueRetentionPeriodDefault),
7979
Schema: config.Schema,
8080
}).mustValidate(),
8181

internal/maintenance/reindexer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package maintenance
22

33
import (
4+
"cmp"
45
"context"
56
"errors"
67
"log/slog"
@@ -11,7 +12,6 @@ import (
1112
"github.com/riverqueue/river/rivershared/startstop"
1213
"github.com/riverqueue/river/rivershared/testsignal"
1314
"github.com/riverqueue/river/rivershared/util/testutil"
14-
"github.com/riverqueue/river/rivershared/util/valutil"
1515
)
1616

1717
const (
@@ -87,7 +87,7 @@ func NewReindexer(archetype *baseservice.Archetype, config *ReindexerConfig, exe
8787
IndexNames: indexNames,
8888
ScheduleFunc: scheduleFunc,
8989
Schema: config.Schema,
90-
Timeout: valutil.ValOrDefault(config.Timeout, ReindexerTimeoutDefault),
90+
Timeout: cmp.Or(config.Timeout, ReindexerTimeoutDefault),
9191
}).mustValidate(),
9292

9393
batchSize: BatchSizeDefault,

riverdriver/riverdatabasesql/river_database_sql_driver.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package riverdatabasesql
77

88
import (
9+
"cmp"
910
"context"
1011
"database/sql"
1112
"embed"
@@ -26,7 +27,6 @@ import (
2627
"github.com/riverqueue/river/riverdriver/riverdatabasesql/internal/pgtypealias"
2728
"github.com/riverqueue/river/rivershared/sqlctemplate"
2829
"github.com/riverqueue/river/rivershared/util/sliceutil"
29-
"github.com/riverqueue/river/rivershared/util/valutil"
3030
"github.com/riverqueue/river/rivertype"
3131
)
3232

@@ -260,11 +260,11 @@ func (e *Executor) JobInsertFastMany(ctx context.Context, params *riverdriver.Jo
260260

261261
defaultObject := "{}"
262262

263-
insertJobsParams.Args[i] = valutil.ValOrDefault(string(params.EncodedArgs), defaultObject)
263+
insertJobsParams.Args[i] = cmp.Or(string(params.EncodedArgs), defaultObject)
264264
insertJobsParams.CreatedAt[i] = createdAt
265265
insertJobsParams.Kind[i] = params.Kind
266266
insertJobsParams.MaxAttempts[i] = int16(min(params.MaxAttempts, math.MaxInt16)) //nolint:gosec
267-
insertJobsParams.Metadata[i] = valutil.ValOrDefault(string(params.Metadata), defaultObject)
267+
insertJobsParams.Metadata[i] = cmp.Or(string(params.Metadata), defaultObject)
268268
insertJobsParams.Priority[i] = int16(min(params.Priority, math.MaxInt16)) //nolint:gosec
269269
insertJobsParams.Queue[i] = params.Queue
270270
insertJobsParams.ScheduledAt[i] = scheduledAt
@@ -325,11 +325,11 @@ func (e *Executor) JobInsertFastManyNoReturning(ctx context.Context, params *riv
325325

326326
defaultObject := "{}"
327327

328-
insertJobsParams.Args[i] = valutil.ValOrDefault(string(params.EncodedArgs), defaultObject)
328+
insertJobsParams.Args[i] = cmp.Or(string(params.EncodedArgs), defaultObject)
329329
insertJobsParams.CreatedAt[i] = createdAt
330330
insertJobsParams.Kind[i] = params.Kind
331331
insertJobsParams.MaxAttempts[i] = int16(min(params.MaxAttempts, math.MaxInt16)) //nolint:gosec
332-
insertJobsParams.Metadata[i] = valutil.ValOrDefault(string(params.Metadata), defaultObject)
332+
insertJobsParams.Metadata[i] = cmp.Or(string(params.Metadata), defaultObject)
333333
insertJobsParams.Priority[i] = int16(min(params.Priority, math.MaxInt16)) //nolint:gosec
334334
insertJobsParams.Queue[i] = params.Queue
335335
insertJobsParams.ScheduledAt[i] = scheduledAt
@@ -358,7 +358,7 @@ func (e *Executor) JobInsertFull(ctx context.Context, params *riverdriver.JobIns
358358
FinalizedAt: params.FinalizedAt,
359359
Kind: params.Kind,
360360
MaxAttempts: int16(min(params.MaxAttempts, math.MaxInt16)), //nolint:gosec
361-
Metadata: valutil.ValOrDefault(string(params.Metadata), "{}"),
361+
Metadata: cmp.Or(string(params.Metadata), "{}"),
362362
Priority: int16(min(params.Priority, math.MaxInt16)), //nolint:gosec
363363
Queue: params.Queue,
364364
ScheduledAt: params.ScheduledAt,
@@ -541,7 +541,7 @@ func (e *Executor) JobSetStateIfRunningMany(ctx context.Context, params *riverdr
541541
const defaultObject = "{}"
542542

543543
for i := range len(params.ID) {
544-
setStateParams.Errors[i] = valutil.ValOrDefault(string(params.ErrData[i]), defaultObject)
544+
setStateParams.Errors[i] = cmp.Or(string(params.ErrData[i]), defaultObject)
545545
if params.Attempt[i] != nil {
546546
setStateParams.AttemptDoUpdate[i] = true
547547
setStateParams.Attempt[i] = int32(*params.Attempt[i]) //nolint:gosec
@@ -754,7 +754,7 @@ func (e *Executor) PGAdvisoryXactLock(ctx context.Context, key int64) (*struct{}
754754

755755
func (e *Executor) QueueCreateOrSetUpdatedAt(ctx context.Context, params *riverdriver.QueueCreateOrSetUpdatedAtParams) (*rivertype.Queue, error) {
756756
queue, err := dbsqlc.New().QueueCreateOrSetUpdatedAt(schemaTemplateParam(ctx, params.Schema), e.dbtx, &dbsqlc.QueueCreateOrSetUpdatedAtParams{
757-
Metadata: valutil.ValOrDefault(string(params.Metadata), "{}"),
757+
Metadata: cmp.Or(string(params.Metadata), "{}"),
758758
Name: params.Name,
759759
Now: params.Now,
760760
PausedAt: params.PausedAt,

rivermigrate/river_migrate.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package rivermigrate
44

55
import (
6+
"cmp"
67
"context"
78
"errors"
89
"fmt"
@@ -23,7 +24,6 @@ import (
2324
"github.com/riverqueue/river/rivershared/sqlctemplate"
2425
"github.com/riverqueue/river/rivershared/util/maputil"
2526
"github.com/riverqueue/river/rivershared/util/sliceutil"
26-
"github.com/riverqueue/river/rivershared/util/valutil"
2727
)
2828

2929
// The migrate version where the `line` column was added. Meaningful in that the
@@ -107,7 +107,7 @@ func New[TTx any](driver riverdriver.Driver[TTx], config *Config) (*Migrator[TTx
107107
config = &Config{}
108108
}
109109

110-
line := valutil.ValOrDefault(config.Line, riverdriver.MigrationLineMain)
110+
line := cmp.Or(config.Line, riverdriver.MigrationLineMain)
111111

112112
logger := config.Logger
113113
if logger == nil {

0 commit comments

Comments
 (0)