From 504d7c7d4675365e04c23b2007b846480cf85d0c Mon Sep 17 00:00:00 2001 From: zeripath Date: Fri, 19 Aug 2022 03:12:00 +0100 Subject: [PATCH] In PushMirrorsIterate and MirrorsIterate if limit is negative do not set it (#20837) --- models/repo/mirror.go | 10 ++++++---- models/repo/pushmirror.go | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/models/repo/mirror.go b/models/repo/mirror.go index 6a95bc48c44b6..297ffd594a720 100644 --- a/models/repo/mirror.go +++ b/models/repo/mirror.go @@ -107,12 +107,14 @@ func DeleteMirrorByRepoID(repoID int64) error { // MirrorsIterate iterates all mirror repositories. func MirrorsIterate(limit int, f func(idx int, bean interface{}) error) error { - return db.GetEngine(db.DefaultContext). + sess := db.GetEngine(db.DefaultContext). Where("next_update_unix<=?", time.Now().Unix()). And("next_update_unix!=0"). - OrderBy("updated_unix ASC"). - Limit(limit). - Iterate(new(Mirror), f) + OrderBy("updated_unix ASC") + if limit > 0 { + sess = sess.Limit(limit) + } + return sess.Iterate(new(Mirror), f) } // InsertMirror inserts a mirror to database diff --git a/models/repo/pushmirror.go b/models/repo/pushmirror.go index 02ffcbee76a50..38d6e72019700 100644 --- a/models/repo/pushmirror.go +++ b/models/repo/pushmirror.go @@ -129,10 +129,12 @@ func GetPushMirrorsSyncedOnCommit(repoID int64) ([]*PushMirror, error) { // PushMirrorsIterate iterates all push-mirror repositories. func PushMirrorsIterate(ctx context.Context, limit int, f func(idx int, bean interface{}) error) error { - return db.GetEngine(ctx). + sess := db.GetEngine(ctx). Where("last_update + (`interval` / ?) <= ?", time.Second, time.Now().Unix()). And("`interval` != 0"). - OrderBy("last_update ASC"). - Limit(limit). - Iterate(new(PushMirror), f) + OrderBy("last_update ASC") + if limit > 0 { + sess = sess.Limit(limit) + } + return sess.Iterate(new(PushMirror), f) }