Skip to content

Commit 0230f1e

Browse files
zeripathlunnytechknowlogick
authored
In PushMirrorsIterate and MirrorsIterate if limit is negative do not set it (#20837) (#20899)
Backport #20837 Co-authored-by: Lunny Xiao <[email protected]> Co-authored-by: techknowlogick <[email protected]>
1 parent 6779c35 commit 0230f1e

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

models/repo/mirror.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,14 @@ func DeleteMirrorByRepoID(repoID int64) error {
107107

108108
// MirrorsIterate iterates all mirror repositories.
109109
func MirrorsIterate(limit int, f func(idx int, bean interface{}) error) error {
110-
return db.GetEngine(db.DefaultContext).
110+
sess := db.GetEngine(db.DefaultContext).
111111
Where("next_update_unix<=?", time.Now().Unix()).
112112
And("next_update_unix!=0").
113-
OrderBy("updated_unix ASC").
114-
Limit(limit).
115-
Iterate(new(Mirror), f)
113+
OrderBy("updated_unix ASC")
114+
if limit > 0 {
115+
sess = sess.Limit(limit)
116+
}
117+
return sess.Iterate(new(Mirror), f)
116118
}
117119

118120
// InsertMirror inserts a mirror to database

models/repo/pushmirror.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,12 @@ func GetPushMirrorsByRepoID(repoID int64) ([]*PushMirror, error) {
9595

9696
// PushMirrorsIterate iterates all push-mirror repositories.
9797
func PushMirrorsIterate(limit int, f func(idx int, bean interface{}) error) error {
98-
return db.GetEngine(db.DefaultContext).
98+
sess := db.GetEngine(db.DefaultContext).
9999
Where("last_update + (`interval` / ?) <= ?", time.Second, time.Now().Unix()).
100100
And("`interval` != 0").
101-
OrderBy("last_update ASC").
102-
Limit(limit).
103-
Iterate(new(PushMirror), f)
101+
OrderBy("last_update ASC")
102+
if limit > 0 {
103+
sess = sess.Limit(limit)
104+
}
105+
return sess.Iterate(new(PushMirror), f)
104106
}

0 commit comments

Comments
 (0)