[GH-19105] - Add helper function to handle columns on reserved names (#19107)

Automatic Merge
Этот коммит содержится в:
Olayiwola Odunsi
2021-12-17 16:40:31 +01:00
коммит произвёл GitHub
родитель 8b155e34c7
Коммит 08dc3a1cdf
3 изменённых файлов: 12 добавлений и 22 удалений

Просмотреть файл

@@ -65,12 +65,7 @@ func (s SqlCommandStore) Save(command *model.Command) (*model.Command, error) {
}
// Trigger is a keyword
var trigger string
if s.DriverName() == model.DatabaseDriverPostgres {
trigger = `"trigger"`
} else {
trigger = "`Trigger`"
}
trigger := s.toReserveCase("trigger")
if _, err := s.GetMasterX().NamedExec(`INSERT INTO Commands (Id, Token, CreateAt,
UpdateAt, DeleteAt, CreatorId, TeamId, `+trigger+`, Method, Username,
@@ -215,11 +210,7 @@ func (s SqlCommandStore) Update(cmd *model.Command) (*model.Command, error) {
Where(sq.Eq{"Id": cmd.Id})
// Trigger is a keyword
if s.DriverName() == model.DatabaseDriverPostgres {
query = query.Set(`"trigger"`, cmd.Trigger)
} else {
query = query.Set("`Trigger`", cmd.Trigger)
}
query = query.Set(s.toReserveCase("trigger"), cmd.Trigger)
queryString, args, err := query.ToSql()
if err != nil {

Просмотреть файл

@@ -46,12 +46,7 @@ func (s SqlComplianceStore) Save(compliance *model.Compliance) (*model.Complianc
}
// DESC is a keyword
var desc string
if s.DriverName() == model.DatabaseDriverPostgres {
desc = `"desc"`
} else {
desc = "`Desc`"
}
desc := s.toReserveCase("desc")
query := `INSERT INTO Compliances (Id, CreateAt, UserId, Status, Count, ` + desc + `, Type, StartAt, EndAt, Keywords, Emails)
VALUES
@@ -81,11 +76,7 @@ func (s SqlComplianceStore) Update(compliance *model.Compliance) (*model.Complia
Where(sq.Eq{"Id": compliance.Id})
// DESC is a keyword
if s.DriverName() == model.DatabaseDriverPostgres {
query = query.Set(`"desc"`, compliance.Desc)
} else {
query = query.Set("`Desc`", compliance.Desc)
}
query = query.Set(s.toReserveCase("desc"), compliance.Desc)
queryString, args, err := query.ToSql()
if err != nil {

Просмотреть файл

@@ -1630,3 +1630,11 @@ func (ss *SqlStore) jsonDataType() string {
}
return "json"
}
func (ss *SqlStore) toReserveCase(str string) string {
if ss.DriverName() == model.DatabaseDriverPostgres {
return fmt.Sprintf("%q", str)
}
return fmt.Sprintf("`%s`", strings.Title(str))
}