Skip to content

Commit ea3935e

Browse files
committed
In PushMirrorsIterate and MirrorsIterate if limit is negative do not set it (go-gitea#20837)
Backport go-gitea#20837
1 parent 9e8b1c6 commit ea3935e

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

models/repo/mirror.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,14 @@ func DeleteMirrorByRepoID(repoID int64) error {
108108

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

119121
// InsertMirror inserts a mirror to database

models/repo/pushmirror.go

Lines changed: 6 additions & 4 deletions
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)