From dc12135417c04f56d0c592ca90fa8201c23e5016 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Fri, 24 Feb 2023 20:13:47 +0000 Subject: [PATCH] Fix DBConsistency checks on MSSQL Unfortunately xorm's `builder.Select(...).From(...)` does not escape the table names. This is mostly not a problem but is a problem with the `user` table. This PR simply escapes the user table. No other uses of `From("user")` where found in the codebase so I think this should be all that is needed. Fix #23064 Signed-off-by: Andrew Thornton --- models/issues/label.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/issues/label.go b/models/issues/label.go index 0dd12fb5c9af0..90e4eb458f847 100644 --- a/models/issues/label.go +++ b/models/issues/label.go @@ -778,7 +778,7 @@ func CountOrphanedLabels(ctx context.Context) (int64, error) { norepo, err := db.GetEngine(ctx).Table("label"). Where(builder.And( builder.Gt{"repo_id": 0}, - builder.NotIn("repo_id", builder.Select("id").From("repository")), + builder.NotIn("repo_id", builder.Select("id").From("`repository`")), )). Count() if err != nil { @@ -788,7 +788,7 @@ func CountOrphanedLabels(ctx context.Context) (int64, error) { noorg, err := db.GetEngine(ctx).Table("label"). Where(builder.And( builder.Gt{"org_id": 0}, - builder.NotIn("org_id", builder.Select("id").From("user")), + builder.NotIn("org_id", builder.Select("id").From("`user`")), )). Count() if err != nil { @@ -809,7 +809,7 @@ func DeleteOrphanedLabels(ctx context.Context) error { if _, err := db.GetEngine(ctx). Where(builder.And( builder.Gt{"repo_id": 0}, - builder.NotIn("repo_id", builder.Select("id").From("repository")), + builder.NotIn("repo_id", builder.Select("id").From("`repository`")), )). Delete(Label{}); err != nil { return err @@ -819,7 +819,7 @@ func DeleteOrphanedLabels(ctx context.Context) error { if _, err := db.GetEngine(ctx). Where(builder.And( builder.Gt{"org_id": 0}, - builder.NotIn("org_id", builder.Select("id").From("user")), + builder.NotIn("org_id", builder.Select("id").From("`user`")), )). Delete(Label{}); err != nil { return err