use string builder in buildOrderby
This commit is contained in:
parent
c31ca03a0d
commit
1bee9a35f2
|
@ -715,12 +715,22 @@ func (a *MysqlAdapter) buildFlexiWhere(where string, dateCutoff *dateCutoff) (q
|
||||||
|
|
||||||
func (a *MysqlAdapter) buildOrderby(orderby string) (q string) {
|
func (a *MysqlAdapter) buildOrderby(orderby string) (q string) {
|
||||||
if len(orderby) != 0 {
|
if len(orderby) != 0 {
|
||||||
q = " ORDER BY "
|
var sb strings.Builder
|
||||||
for _, column := range processOrderby(orderby) {
|
ord := processOrderby(orderby)
|
||||||
|
sb.Grow(10 + (len(ord) * 8) - 1)
|
||||||
|
sb.WriteString(" ORDER BY ")
|
||||||
|
for i, col := range ord {
|
||||||
// TODO: We might want to escape this column
|
// TODO: We might want to escape this column
|
||||||
q += "`" + strings.Replace(column.Column, ".", "`.`", -1) + "` " + strings.ToUpper(column.Order) + ","
|
if i != 0 {
|
||||||
|
sb.WriteString(",`")
|
||||||
|
} else {
|
||||||
|
sb.WriteString("`")
|
||||||
}
|
}
|
||||||
q = q[0 : len(q)-1]
|
sb.WriteString(strings.Replace(col.Column, ".", "`.`", -1))
|
||||||
|
sb.WriteString("` ")
|
||||||
|
sb.WriteString(strings.ToUpper(col.Order))
|
||||||
|
}
|
||||||
|
q = sb.String()
|
||||||
}
|
}
|
||||||
return q
|
return q
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue