From c53726397ce945934dc56851f7368dfe6b8c6120 Mon Sep 17 00:00:00 2001 From: Blake Gentry Date: Sun, 7 Sep 2025 11:12:20 -0500 Subject: [PATCH] consolidate JobDeleteMany logic These two methods are identical aside from how they extract the executor and we want to keep them that way, so use the pattern we do elsewhere by putting all other logic in an unexported method they both call. --- client.go | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/client.go b/client.go index 57d8e0c1..3b408094 100644 --- a/client.go +++ b/client.go @@ -2137,22 +2137,7 @@ func (c *Client[TTx]) JobDeleteMany(ctx context.Context, params *JobDeleteManyPa return nil, errNoDriverDBPool } - if params == nil { - params = NewJobDeleteManyParams() - } - params.schema = c.config.Schema - - listParams, err := dblist.JobMakeDriverParams(ctx, params.toDBParams(), c.driver.SQLFragmentColumnIn) - if err != nil { - return nil, err - } - - jobs, err := c.driver.GetExecutor().JobDeleteMany(ctx, (*riverdriver.JobDeleteManyParams)(listParams)) - if err != nil { - return nil, err - } - - return &JobDeleteManyResult{Jobs: jobs}, nil + return c.jobDeleteMany(ctx, c.driver.GetExecutor(), params) } // JobDeleteManyTx deletes many jobs at once based on the conditions defined by @@ -2164,6 +2149,10 @@ func (c *Client[TTx]) JobDeleteMany(ctx context.Context, params *JobDeleteManyPa // // handle error // } func (c *Client[TTx]) JobDeleteManyTx(ctx context.Context, tx TTx, params *JobDeleteManyParams) (*JobDeleteManyResult, error) { + return c.jobDeleteMany(ctx, c.driver.UnwrapExecutor(tx), params) +} + +func (c *Client[TTx]) jobDeleteMany(ctx context.Context, exec riverdriver.Executor, params *JobDeleteManyParams) (*JobDeleteManyResult, error) { if params == nil { params = NewJobDeleteManyParams() } @@ -2174,7 +2163,7 @@ func (c *Client[TTx]) JobDeleteManyTx(ctx context.Context, tx TTx, params *JobDe return nil, err } - jobs, err := c.driver.UnwrapExecutor(tx).JobDeleteMany(ctx, (*riverdriver.JobDeleteManyParams)(listParams)) + jobs, err := exec.JobDeleteMany(ctx, (*riverdriver.JobDeleteManyParams)(listParams)) if err != nil { return nil, err }