Skip to content

Commit adc8b60

Browse files
committed
Fix for MSSQL
Signed-off-by: Andrew Thornton <[email protected]>
1 parent 11881c0 commit adc8b60

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

models/migrations/v160.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package migrations
66

77
import (
8+
"code.gitea.io/gitea/modules/setting"
89
"xorm.io/xorm"
910
)
1011

@@ -40,9 +41,18 @@ func updateNumPublicRepos(x *xorm.Engine) error {
4041
if err := sess.Begin(); err != nil {
4142
return err
4243
}
43-
44-
if err := sess.Select("owner_id AS id, count(id) AS num_public_repos").Table("repository").Where("repository.is_private = ?", false).GroupBy("repository.owner_id").Limit(batchSize, start).Asc("id").Find(&users); err != nil {
45-
return err
44+
switch {
45+
case setting.Database.UseMSSQL:
46+
if _, err := sess.Exec("SELECT owner_id AS id, COUNT(id) AS num_public_repos INTO #temp_user FROM repository WHERE repository.is_private = 0 GROUP BY owner_id"); err != nil {
47+
return err
48+
}
49+
if err := sess.Table("#temp_user").Limit(batchSize, start).Asc("id").Find(&users); err != nil {
50+
return err
51+
}
52+
default:
53+
if err := sess.Select("owner_id AS id, count(id) AS num_public_repos").Table("repository").Where("repository.is_private = ?", false).GroupBy("repository.owner_id").Limit(batchSize, start).Asc("id").Find(&users); err != nil {
54+
return err
55+
}
4656
}
4757

4858
if len(users) == 0 {

0 commit comments

Comments
 (0)