8000 add JobList filters for ID and priority by bgentry · Pull Request #871 · riverqueue/river · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

add JobList filters for ID and priority #871

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added `JobInsertMiddlewareFunc` and `WorkerMiddlewareFunc` to easily implement middleware with a function instead of a struct. [PR #844](https://github.com/riverqueue/river/pull/844).
- Added `Config.Schema` which lets a non-default schema be injected explicitly into a River client that'll be used for all database operations. This may be particularly useful for proxies like PgBouncer that may not respect a schema configured in `search_path`. [PR #848](https://github.com/riverqueue/river/pull/848).
- Added `rivertype.HookWorkEnd` hook interface that runs after a job has been worked. [PR #863](https://github.com/riverqueue/river/pull/863).
- Added support for filtering jobs by a list of job IDs and by priorities in `JobList` and `JobListParams`. For more flexible job listing. [PR #871](https://github.com/riverqueue/river/pull/871).

### Changed

Expand Down
50 changes: 50 additions & 0 deletions client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3413,6 +3413,56 @@ func Test_Client_JobList(t *testing.T) {
}
}

t.Run("FiltersByID", func(t *testing.T) {
t.Parallel()

client, bundle := setup(t)

job1 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema})
job2 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema})
job3 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema})

listRes, err := client.JobList(ctx, NewJobListParams().IDs(job1.ID))
require.NoError(t, err)
require.Equal(t, []int64{job1.ID}, sliceutil.Map(listRes.Jobs, func(job *rivertype.JobRow) int64 { return job.ID }))

listRes, err = client.JobList(ctx, NewJobListParams().IDs(job2.ID, job3.ID))
require.NoError(t, err)
require.Equal(t, []int64{job2.ID, job3.ID}, sliceutil.Map(listRes.Jobs, func(job *rivertype.JobRow) int64 { return job.ID }))
})

t.Run("FiltersByIDAndPriorityAndKind", func(t *testing.T) {
t.Parallel()

client, bundle := setup(t)

job1 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema, Kind: ptrutil.Ptr("special_kind"), Priority: ptrutil.Ptr(1)})
job2 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema, Kind: ptrutil.Ptr("special_kind"), Priority: ptrutil.Ptr(2)})
job3 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema, Kind: ptrutil.Ptr("other_kind"), Priority: ptrutil.Ptr(1)})

listRes, err := client.JobList(ctx, NewJobListParams().IDs(job1.ID, job2.ID, job3.ID).Priorities(1, 2).Kinds("special_kind"))
require.NoError(t, err)
require.Equal(t, []int64{job1.ID, job2.ID}, sliceutil.Map(listRes.Jobs, func(job *rivertype.JobRow) int64 { return job.ID }))
})

t.Run("FiltersByPriority", func(t *testing.T) {
t.Parallel()

client, bundle := setup(t)

job1 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema, Priority: ptrutil.Ptr(1)})
job2 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema, Priority: ptrutil.Ptr(2)})
job3 := testfactory.Job(ctx, t, bundle.exec, &testfactory.JobOpts{Schema: bundle.schema, Priority: ptrutil.Ptr(3)})

listRes, err := client.JobList(ctx, NewJobListParams().Priorities(1))
require.NoError(t, err)
require.Equal(t, []int64{job1.ID}, sliceutil.Map(listRes.Jobs, func(job *rivertype.JobRow) int64 { return job.ID }))

listRes, err = client.JobList(ctx, NewJobListParams().Priorities(2, 3))
require.NoError(t, err)
require.Equal(t, []int64{job2.ID, job3.ID}, sliceutil.Map(listRes.Jobs, func(job *rivertype.JobRow) int64 { return job.ID }))
})

t.Run("FiltersByKind", func(t *testing.T) { //nolint:dupl
t.Parallel()

Expand Down
4 changes: 4 additions & 0 deletions cmd/river/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,7 @@ require (
golang.org/x/text v0.24.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

replace github.com/riverqueue/river => ../../

replace github.com/riverqueue/river/rivershared => ../../rivershared
20 changes: 8 additions & 12 deletions cmd/river/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,14 @@ github.com/lmittmann/tint v1.0.7 h1:D/0OqWZ0YOGZ6AyC+5Y2kD8PBEzBk6rFHVSfOqCkF9Y=
github.com/lmittmann/tint v1.0.7/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/riverqueue/river v0.20.1 h1:eKf4gbPJF632LLoEPIMMEnP9I79aWWDb9k1avUHXfIA=
github.com/riverqueue/river v0.20.1/go.mod h1:1RVre4dwkRznCZSgz1NeW9HVqeV2MFcRbpi89rvIaYE=
github.com/riverqueue/river/riverdriver v0.20.1 h1:Iz5DXbHFrt32iFv0DRpk2Td1HcyR2z4VrhC9CA9dsoI=
github.com/riverqueue/river/riverdriver v0.20.1/go.mod h1:Q8MbNY6uuQEtozC/dLJ2HRenCZrEQn2K5V1/yYHoK9I=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.1 h1:C5XxNpZ365YGYv+nUIbSZynyVW+hPBo7CggsE8S3eIw=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.1/go.mod h1:IxJ4+ZTqlMVrA1rcbLuiSwg4qlXfyiRnZnmoz+phbNg=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.1 h1:66ZntyF9i1HsIpPMXO8urhie1hPcqBbz0R31CPWgTXM=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.1/go.mod h1:CJ6LYk3q0s/nUVzadLXQIpUDHi0hhPg9a8GAzqSq9P8=
github.com/riverqueue/river/rivershared v0.20.1 h1:49EKGZ1jtT6kgsoX5jX9+Cr/v8NB2xZAAUVvE6Q0lQg=
github.com/riverqueue/river/rivershared v0.20.1/go.mod h1:M2j13k2UlimNtU2z7iYJEoY7x0Zvp2T+q1pW/qoWzaQ=
github.com/riverqueue/river/rivertype v0.20.1 h1:9kx3vyfYm5Cn3MZLqfmCwwhpPqE10zCBXAL6UstmbY4=
github.com/riverqueue/river/rivertype v0.20.1/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
github.com/riverqueue/river/riverdriver v0.20.2 h1:FDmWALB6DvYBBw479euIBg1KClxPmDpWjmZbhScxSBw=
github.com/riverqueue/river/riverdriver v0.20.2/go.mod h1:vYSv6ZTEFWT0JVuGCwZDxJdc2U7ZMkwJQ+nPsa7/2mM=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.2 h1:llBsU1hpKyIIzZroeVjM7uavmq3W+kXuSvkUCQ/3pg4=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.2/go.mod h1:qPJ5qkfAqAYRKXxU1TNFsVwMd9dLIXEFDLrrGz6GAWM=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.2 h1:O8e1vobbKhUmgbki0mLOvCptixMtBiMjJgkGPa4VFAY=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.2/go.mod h1:zn3Lf6qzkq9kEOzYRe/fEgYl9c/eRTCdwBHtclxILEU=
github.com/riverqueue/river/rivertype v0.20.2 h1:unmiQP7CWS6IDbDrp9cESNscPoMstxb6Luoz9kfNzOc=
github.com/riverqueue/river/rivertype v0.20.2/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ go 1.23.0
toolchain go1.24.1

require (
github.com/davecgh/go-spew v1.1.1
github.com/jackc/pgerrcode v0.0.0-20240316143900-6e2875d9b438
github.com/jackc/pgx/v5 v5.7.4
github.com/jackc/puddle/v2 v2.2.2
Expand All @@ -23,7 +24,6 @@ require (
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/lib/pq v1.10.9 // indirect
Expand Down
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/riverqueue/river/riverdriver v0.20.1 h1:Iz5DXbHFrt32iFv0DRpk2Td1HcyR2z4VrhC9CA9dsoI=
github.com/riverqueue/river/riverdriver v0.20.1/go.mod h1:Q8MbNY6uuQEtozC/dLJ2HRenCZrEQn2K5V1/yYHoK9I=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.1 h1:C5XxNpZ365YGYv+nUIbSZynyVW+hPBo7CggsE8S3eIw=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.1/go.mod h1:IxJ4+ZTqlMVrA1rcbLuiSwg4qlXfyiRnZnmoz+phbNg=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.1 h1:66ZntyF9i1HsIpPMXO8urhie1hPcqBbz0R31CPWgTXM=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.1/go.mod h1:CJ6LYk3q0s/nUVzadLXQIpUDHi0hhPg9a8GAzqSq9P8=
github.com/riverqueue/river/rivertype v0.20.1 h1:9kx3vyfYm5Cn3MZLqfmCwwhpPqE10zCBXAL6UstmbY4=
github.com/riverqueue/river/rivertype v0.20.1/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
github.com/riverqueue/river/riverdriver v0.20.2 h1:FDmWALB6DvYBBw479euIBg1KClxPmDpWjmZbhScxSBw=
github.com/riverqueue/river/riverdriver v0.20.2/go.mod h1:vYSv6ZTEFWT0JVuGCwZDxJdc2U7ZMkwJQ+nPsa7/2mM=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.2 h1:llBsU1hpKyIIzZroeVjM7uavmq3W+kXuSvkUCQ/3pg4=
github.com/riverqueue/river/riverdriver/riverdatabasesql v0.20.2/go.mod h1:qPJ5qkfAqAYRKXxU1TNFsVwMd9dLIXEFDLrrGz6GAWM=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.2 h1:O8e1vobbKhUmgbki0mLOvCptixMtBiMjJgkGPa4VFAY=
github.com/riverqueue/river/riverdriver/riverpgxv5 v0.20.2/go.mod h1:zn3Lf6qzkq9kEOzYRe/fEgYl9c/eRTCdwBHtclxILEU=
github.com/riverqueue/river/rivertype v0.20.2 h1:unmiQP7CWS6IDbDrp9cESNscPoMstxb6Luoz9kfNzOc=
github.com/riverqueue/river/rivertype v0.20.2/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
Expand Down
13 changes: 13 additions & 0 deletions internal/dblist/db_list.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type JobListOrderBy struct {

type JobListParams struct {
Conditions string
IDs []int64
Kinds []string
LimitCount int32
NamedArgs map[string]any
Expand Down Expand Up @@ -59,12 +60,24 @@ func JobList(ctx context.Context, exec riverdriver.Executor, params *JobListPara
}
}

if len(params.IDs) > 0 {
writeAndAfterFirst()
whereBuilder.WriteString("id = any(@ids::bigint[])")
namedArgs["ids"] = params.IDs
}

if len(params.Kinds) > 0 {
writeAndAfterFirst()
whereBuilder.WriteString("kind = any(@kinds::text[])")
namedArgs["kinds"] = params.Kinds
}

if len(params.Priorities) > 0 {
writeAndAfterFirst()
whereBuilder.WriteString("priority = any(@priorities::int[])")
namedArgs["priorities"] = params.Priorities
}

if len(params.Queues) > 0 {
writeAndAfterFirst()
whereBuilder.WriteString("queue = any(@queues::text[])")
Expand Down
70 changes: 65 additions & 5 deletions internal/dblist/db_list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,11 @@ func TestJobListWithJobs(t *testing.T) {
exec = driver.UnwrapExecutor(tx)
)

job1 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Queue: ptrutil.Ptr("priority")})
job2 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{EncodedArgs: []byte(`{"job_num": 2}`)})
job3 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Metadata: []byte(`{"some_key": "some_value"}`)})
job4 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{State: ptrutil.Ptr(rivertype.JobStateRunning)})
job5 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Kind: ptrutil.Ptr("alternate_kind")})
job1 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Queue: ptrutil.Ptr("priority"), Priority: ptrutil.Ptr(1)})
job2 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{EncodedArgs: []byte(`{"job_num": 2}`), Priority: ptrutil.Ptr(2)})
job3 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Metadata: []byte(`{"some_key": "some_value"}`), Priority: ptrutil.Ptr(3)})
job4 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{State: ptrutil.Ptr(rivertype.JobStateRunning), Priority: ptrutil.Ptr(1)})
job5 := testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Kind: ptrutil.Ptr("alternate_kind"), Priority: ptrutil.Ptr(2)})

return &testBundle{
baselineTime: time.Now(),
Expand Down Expand Up @@ -162,6 +162,49 @@ func TestJobListWithJobs(t *testing.T) {
})
})

t.Run("ConditionsWithIDs", func(t *testing.T) {
t.Parallel()
bundle := setup(t)
job1, job2, job3 := bundle.jobs[0], bundle.jobs[1], bundle.jobs[2]
params := &JobListParams{
IDs: []int64{job1.ID},
LimitCount: 10,
OrderBy: []JobListOrderBy{{Expr: "id", Order: SortOrderAsc}},
}
execTest(ctx, t, bundle, params, func(jobs []*rivertype.JobRow, err error) {
require.NoError(t, err)
require.Equal(t, []int64{job1.ID}, sliceutil.Map(jobs, func(j *rivertype.JobRow) int64 { return j.ID }))
})
params = &JobListParams{
IDs: []int64{job2.ID, job3.ID},
LimitCount: 10,
OrderBy: []JobListOrderBy{{Expr: "id", Order: SortOrderAsc}},
}
execTest(ctx, t, bundle, params, func(jobs []*rivertype.JobRow, err error) {
require.NoError(t, err)
require.Equal(t, []int64{job2.ID, job3.ID}, sliceutil.Map(jobs, func(j *rivertype.JobRow) int64 { return j.ID }))
})
})

t.Run("ConditionsWithIDsAndPriorities", func(t *testing.T) {
t.Parallel()
bundle := setup(t)
job1, job2, job3 := bundle.jobs[0], bundle.jobs[1], bundle.jobs[2]
params := &JobListParams{
IDs: []int64{job1.ID, job2.ID, job3.ID},
Priorities: []int16{1},
LimitCount: 10,
OrderBy: []JobListOrderBy{{Expr: "id", Order: SortOrderAsc}},
}
execTest(ctx, t, bundle, params, func(jobs []*rivertype.JobRow, err error) {
require.NoError(t, err)
// Only job1 is in the IDs list and has priority 1
expected := []int64{job1.ID}
actual := sliceutil.Map(jobs, func(j *rivertype.JobRow) int64 { return j.ID })
require.Equal(t, expected, actual)
})
})

t.Run("ConditionsWithKinds", func(t *testing.T) {
t.Parallel()

Expand All @@ -184,6 +227,23 @@ func TestJobListWithJobs(t *testing.T) {
})
})

t.Run("ConditionsWithPriorities", func(t *testing.T) {
t.Parallel()
bundle := setup(t)
_, job2, job3, _, job5 := bundle.jobs[0], bundle.jobs[1], bundle.jobs[2], bundle.jobs[3], bundle.jobs[4]
params := &JobListParams{
Priorities: []int16{2, 3},
LimitCount: 10,
OrderBy: []JobListOrderBy{{Expr: "id", Order: SortOrderAsc}},
}
execTest(ctx, t, bundle, params, func(jobs []*rivertype.JobRow, err error) {
require.NoError(t, err)
expected := []int64{job2.ID, job3.ID, job5.ID}
actual := sliceutil.Map(jobs, func(j *rivertype.JobRow) int64 { return j.ID })
require.Equal(t, expected, actual)
})
})

t.Run("ConditionsWithQueues", func(t *testing.T) {
t.Parallel()

Expand Down
25 changes: 24 additions & 1 deletion job_list_params.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,12 @@ const (
// params := NewJobListParams().OrderBy(JobListOrderByTime, SortOrderAsc).First(100)
type JobListParams struct {
after *JobListCursor
ids []int64
kinds []string
metadataFragment string
overrodeState bool
paginationCount int32
priorities []int16
queues []string
schema string
sortField JobListOrderByField
Expand Down Expand Up @@ -200,10 +202,12 @@ func NewJobListParams() *JobListParams {
func (p *JobListParams) copy() *JobListParams {
return &JobListParams{
after: p.after,
ids: append([]int64(nil), p.ids...),
kinds: append([]string(nil), p.kinds...),
metadataFragment: p.metadataFragment,
overrodeState: p.overrodeState,
paginationCount: p.paginationCount,
priorities: append([]int16(nil), p.priorities...),
queues: append([]string(nil), p.queues...),
sortField: p.sortField,
sortOrder: p.sortOrder,
Expand Down Expand Up @@ -293,11 +297,12 @@ func (p *JobListParams) toDBParams() (*dblist.JobListParams, error) {

return &dblist.JobListParams{
Conditions: conditionsBuilder.String(),
IDs: p.ids,
Kinds: p.kinds,
LimitCount: p.paginationCount,
NamedArgs: namedArgs,
OrderBy: orderBy,
Priorities: nil,
Priorities: p.priorities,
Queues: p.queues,
Schema: p.schema,
States: p.states,
Expand Down Expand Up @@ -332,6 +337,15 @@ func (p *JobListParams) First(count int) *JobListParams {
return paramsCopy
}

// IDs returns an updated filter set that will only return jobs with the given
// IDs.
func (p *JobListParams) IDs(ids ...int64) *JobListParams {
paramsCopy := p.copy()
paramsCopy.ids = make([]int64, len(ids))
copy(paramsCopy.ids, ids)
return paramsCopy
}

// Kinds returns an updated filter set that will only return jobs of the given
// kinds.
func (p *JobListParams) Kinds(kinds ...string) *JobListParams {
Expand Down Expand Up @@ -383,6 +397,15 @@ func (p *JobListParams) OrderBy(field JobListOrderByField, direction SortOrder)
return paramsCopy
}

// Priorities returns an updated filter set that will only return jobs with the
// given priorities.
func (p *JobListParams) Priorities(priorities ...int16) *JobListParams {
paramsCopy := p.copy()
paramsCopy.priorities = make([]int16, len(priorities))
copy(paramsCopy.priorities, priorities)
return paramsCopy
}

// States returns an updated filter set that will only return jobs in the given
// states.
func (p *JobListParams) States(states ...rivertype.JobState) *JobListParams {
Expand Down
4 changes: 2 additions & 2 deletions riverdriver/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/riverqueue/river/rivertype v0.20.1 h1:9kx3vyfYm5Cn3MZLqfmCwwhpPqE10zCBXAL6UstmbY4=
github.com/riverqueue/river/rivertype v0.20.1/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
github.com/riverqueue/river/rivertype v0.20.2 h1:unmiQP7CWS6IDbDrp9cESNscPoMstxb6Luoz9kfNzOc=
github.com/riverqueue/river/rivertype v0.20.2/go.mod h1:lmdl3vLNDfchDWbYdW2uAocIuwIN+ZaXqAukdSCFqWs=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
Expand Down
Loading
Loading
0