From 2676f24e0a09040331d49c391cb774ca447a8b11 Mon Sep 17 00:00:00 2001 From: utkarshcmu Date: Fri, 6 Nov 2015 20:17:27 -0800 Subject: [PATCH 1/2] Fixed user deletion in Postgres SQL --- pkg/services/sqlstore/user.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/services/sqlstore/user.go b/pkg/services/sqlstore/user.go index 6c6f581dcc4..cf39199c1da 100644 --- a/pkg/services/sqlstore/user.go +++ b/pkg/services/sqlstore/user.go @@ -319,10 +319,15 @@ func SearchUsers(query *m.SearchUsersQuery) error { func DeleteUser(cmd *m.DeleteUserCommand) error { return inTransaction(func(sess *xorm.Session) error { - deletes := []string{ - "DELETE FROM star WHERE user_id = ?", - "DELETE FROM user WHERE id = ?", - } + var deletes [2]string + + if (sess.Engine.DriverName() == "postgres") { + deletes[0] = "DELETE FROM star WHERE user_id = ?" + deletes[1] = "DELETE FROM \"user\" WHERE id = ?" + } else { + deletes[0] = "DELETE FROM star WHERE user_id = ?" + deletes[1] = "DELETE FROM user WHERE id = ?" + } for _, sql := range deletes { _, err := sess.Exec(sql, cmd.UserId) From fe2d8f1ea0175b3c3b6e6868b26286f56277648c Mon Sep 17 00:00:00 2001 From: utkarshcmu Date: Sat, 7 Nov 2015 05:21:22 -0800 Subject: [PATCH 2/2] Used dialect for postgres --- pkg/services/sqlstore/user.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkg/services/sqlstore/user.go b/pkg/services/sqlstore/user.go index cf39199c1da..96b8c24b8fc 100644 --- a/pkg/services/sqlstore/user.go +++ b/pkg/services/sqlstore/user.go @@ -319,15 +319,10 @@ func SearchUsers(query *m.SearchUsersQuery) error { func DeleteUser(cmd *m.DeleteUserCommand) error { return inTransaction(func(sess *xorm.Session) error { - var deletes [2]string - - if (sess.Engine.DriverName() == "postgres") { - deletes[0] = "DELETE FROM star WHERE user_id = ?" - deletes[1] = "DELETE FROM \"user\" WHERE id = ?" - } else { - deletes[0] = "DELETE FROM star WHERE user_id = ?" - deletes[1] = "DELETE FROM user WHERE id = ?" - } + deletes := []string{ + "DELETE FROM star WHERE user_id = ?", + "DELETE FROM " + dialect.Quote("user") + " WHERE id = ?", + } for _, sql := range deletes { _, err := sess.Exec(sql, cmd.UserId)