loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Quote table `release` in sql queries (#27205)

Fixes #27174

`release` is a reserved keyword in MySql. I can't reproduce the issue on
my setup and we have a test for that code but it seems there can be
setups where it fails.


https://github.com/go-gitea/gitea/blob/a101dbaa7952e359843c6d8303ca24a0e63c865c/tests/integration/repo_activity_test.go#L45-L46

authored by

KN4CK3R and committed by
GitHub
bcb78e70 0ee7cbf7

+6 -6
+5 -5
models/activities/repo_activity.go
··· 342 342 343 343 // Published releases list 344 344 sess := releasesForActivityStatement(ctx, repoID, fromTime) 345 - sess.OrderBy("release.created_unix DESC") 345 + sess.OrderBy("`release`.created_unix DESC") 346 346 stats.PublishedReleases = make([]*repo_model.Release, 0) 347 347 if err = sess.Find(&stats.PublishedReleases); err != nil { 348 348 return err ··· 350 350 351 351 // Published releases authors 352 352 sess = releasesForActivityStatement(ctx, repoID, fromTime) 353 - if _, err = sess.Select("count(distinct release.publisher_id) as `count`").Table("release").Get(&count); err != nil { 353 + if _, err = sess.Select("count(distinct `release`.publisher_id) as `count`").Table("release").Get(&count); err != nil { 354 354 return err 355 355 } 356 356 stats.PublishedReleaseAuthorCount = count ··· 359 359 } 360 360 361 361 func releasesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session { 362 - return db.GetEngine(ctx).Where("release.repo_id = ?", repoID). 363 - And("release.is_draft = ?", false). 364 - And("release.created_unix >= ?", fromTime.Unix()) 362 + return db.GetEngine(ctx).Where("`release`.repo_id = ?", repoID). 363 + And("`release`.is_draft = ?", false). 364 + And("`release`.created_unix >= ?", fromTime.Unix()) 365 365 }
+1 -1
modules/doctor/dbconsistency.go
··· 101 101 }, 102 102 // find releases without existing repository 103 103 genericOrphanCheck("Orphaned Releases without existing repository", 104 - "release", "repository", "release.repo_id=repository.id"), 104 + "release", "repository", "`release`.repo_id=repository.id"), 105 105 // find pulls without existing issues 106 106 genericOrphanCheck("Orphaned PullRequests without existing issue", 107 107 "pull_request", "issue", "pull_request.issue_id=issue.id"),