[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 // Trigger is a keyword
var trigger string trigger := s.toReserveCase("trigger")
if s.DriverName() == model.DatabaseDriverPostgres {
trigger = `"trigger"`
} else {
trigger = "`Trigger`"
}
if _, err := s.GetMasterX().NamedExec(`INSERT INTO Commands (Id, Token, CreateAt, if _, err := s.GetMasterX().NamedExec(`INSERT INTO Commands (Id, Token, CreateAt,
UpdateAt, DeleteAt, CreatorId, TeamId, `+trigger+`, Method, Username, 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}) Where(sq.Eq{"Id": cmd.Id})
// Trigger is a keyword // Trigger is a keyword
if s.DriverName() == model.DatabaseDriverPostgres { query = query.Set(s.toReserveCase("trigger"), cmd.Trigger)
query = query.Set(`"trigger"`, cmd.Trigger)
} else {
query = query.Set("`Trigger`", cmd.Trigger)
}
queryString, args, err := query.ToSql() queryString, args, err := query.ToSql()
if err != nil { if err != nil {

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

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

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

@@ -1630,3 +1630,11 @@ func (ss *SqlStore) jsonDataType() string {
} }
return "json" 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))
}