diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2023-09-23 14:57:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-23 12:57:39 +0000 |
commit | bcb78e70ca81293a705b467e9ce2b77ab04a799e (patch) | |
tree | 6bce3e9f68b9d6deab2aa00ad40895e5d2f28cb9 | |
parent | 0ee7cbf725f45650136be45f8e0f74d395f73b5c (diff) | |
download | gitea-bcb78e70ca81293a705b467e9ce2b77ab04a799e.tar.gz gitea-bcb78e70ca81293a705b467e9ce2b77ab04a799e.zip |
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
-rw-r--r-- | models/activities/repo_activity.go | 10 | ||||
-rw-r--r-- | modules/doctor/dbconsistency.go | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/models/activities/repo_activity.go b/models/activities/repo_activity.go index 509f9caaf3..91f5ac12bd 100644 --- a/models/activities/repo_activity.go +++ b/models/activities/repo_activity.go @@ -342,7 +342,7 @@ func (stats *ActivityStats) FillReleases(ctx context.Context, repoID int64, from // Published releases list sess := releasesForActivityStatement(ctx, repoID, fromTime) - sess.OrderBy("release.created_unix DESC") + sess.OrderBy("`release`.created_unix DESC") stats.PublishedReleases = make([]*repo_model.Release, 0) if err = sess.Find(&stats.PublishedReleases); err != nil { return err @@ -350,7 +350,7 @@ func (stats *ActivityStats) FillReleases(ctx context.Context, repoID int64, from // Published releases authors sess = releasesForActivityStatement(ctx, repoID, fromTime) - if _, err = sess.Select("count(distinct release.publisher_id) as `count`").Table("release").Get(&count); err != nil { + if _, err = sess.Select("count(distinct `release`.publisher_id) as `count`").Table("release").Get(&count); err != nil { return err } stats.PublishedReleaseAuthorCount = count @@ -359,7 +359,7 @@ func (stats *ActivityStats) FillReleases(ctx context.Context, repoID int64, from } func releasesForActivityStatement(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session { - return db.GetEngine(ctx).Where("release.repo_id = ?", repoID). - And("release.is_draft = ?", false). - And("release.created_unix >= ?", fromTime.Unix()) + return db.GetEngine(ctx).Where("`release`.repo_id = ?", repoID). + And("`release`.is_draft = ?", false). + And("`release`.created_unix >= ?", fromTime.Unix()) } diff --git a/modules/doctor/dbconsistency.go b/modules/doctor/dbconsistency.go index 541fc736f4..5486873556 100644 --- a/modules/doctor/dbconsistency.go +++ b/modules/doctor/dbconsistency.go @@ -101,7 +101,7 @@ func checkDBConsistency(ctx context.Context, logger log.Logger, autofix bool) er }, // find releases without existing repository genericOrphanCheck("Orphaned Releases without existing repository", - "release", "repository", "release.repo_id=repository.id"), + "release", "repository", "`release`.repo_id=repository.id"), // find pulls without existing issues genericOrphanCheck("Orphaned PullRequests without existing issue", "pull_request", "issue", "pull_request.issue_id=issue.id"), |