#2176 fix 500 on /watchers & /stars for pg
This commit is contained in:
parent
ea375c0dcc
commit
91789930bc
3 changed files with 16 additions and 6 deletions
2
gogs.go
2
gogs.go
|
@ -18,7 +18,7 @@ import (
|
||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
const APP_VER = "0.8.3.1213"
|
const APP_VER = "0.8.3.1214"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
|
|
|
@ -1886,8 +1886,13 @@ func GetWatchers(repoID int64) ([]*Watch, error) {
|
||||||
// Repository.GetWatchers returns range of users watching given repository.
|
// Repository.GetWatchers returns range of users watching given repository.
|
||||||
func (repo *Repository) GetWatchers(page int) ([]*User, error) {
|
func (repo *Repository) GetWatchers(page int) ([]*User, error) {
|
||||||
users := make([]*User, 0, ItemsPerPage)
|
users := make([]*User, 0, ItemsPerPage)
|
||||||
return users, x.Limit(ItemsPerPage, (page-1)*ItemsPerPage).
|
sess := x.Limit(ItemsPerPage, (page-1)*ItemsPerPage).Where("watch.repo_id=?", repo.ID)
|
||||||
Where("repo_id=?", repo.ID).Join("LEFT", "watch", "user.id=watch.user_id").Find(&users)
|
if setting.UsePostgreSQL {
|
||||||
|
sess = sess.Join("LEFT", "watch", `"user".id=watch.user_id`)
|
||||||
|
} else {
|
||||||
|
sess = sess.Join("LEFT", "watch", "user.id=watch.user_id")
|
||||||
|
}
|
||||||
|
return users, sess.Find(&users)
|
||||||
}
|
}
|
||||||
|
|
||||||
func notifyWatchers(e Engine, act *Action) error {
|
func notifyWatchers(e Engine, act *Action) error {
|
||||||
|
@ -1969,8 +1974,13 @@ func IsStaring(uid, repoId int64) bool {
|
||||||
|
|
||||||
func (repo *Repository) GetStargazers(page int) ([]*User, error) {
|
func (repo *Repository) GetStargazers(page int) ([]*User, error) {
|
||||||
users := make([]*User, 0, ItemsPerPage)
|
users := make([]*User, 0, ItemsPerPage)
|
||||||
return users, x.Limit(ItemsPerPage, (page-1)*ItemsPerPage).
|
sess := x.Limit(ItemsPerPage, (page-1)*ItemsPerPage).Where("star.repo_id=?", repo.ID)
|
||||||
Where("repo_id=?", repo.ID).Join("LEFT", "star", "user.id=star.uid").Find(&users)
|
if setting.UsePostgreSQL {
|
||||||
|
sess = sess.Join("LEFT", "star", `"user".id=star.uid`)
|
||||||
|
} else {
|
||||||
|
sess = sess.Join("LEFT", "star", "user.id=star.uid")
|
||||||
|
}
|
||||||
|
return users, sess.Find(&users)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ___________ __
|
// ___________ __
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0.8.3.1213
|
0.8.3.1214
|
Reference in a new issue