Fix error 500 on organization dashboard page (#150)

This commit is contained in:
Lunny Xiao 2016-11-12 00:40:21 +08:00 committed by GitHub
parent e2aa991e10
commit a8c6698de8
12 changed files with 190 additions and 162 deletions

View file

@ -124,29 +124,49 @@ func (engine *Engine) QuoteStr() string {
}
// Quote Use QuoteStr quote the string sql
func (engine *Engine) Quote(sql string) string {
return engine.quoteTable(sql)
func (engine *Engine) Quote(value string) string {
value = strings.TrimSpace(value)
if len(value) == 0 {
return value
}
if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' {
return value
}
value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1)
return engine.dialect.QuoteStr() + value + engine.dialect.QuoteStr()
}
// QuoteTo quotes string and writes into the buffer
func (engine *Engine) QuoteTo(buf *bytes.Buffer, value string) {
if buf == nil {
return
}
value = strings.TrimSpace(value)
if value == "" {
return
}
if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' {
buf.WriteString(value)
return
}
value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1)
buf.WriteString(engine.dialect.QuoteStr())
buf.WriteString(value)
buf.WriteString(engine.dialect.QuoteStr())
}
func (engine *Engine) quote(sql string) string {
return engine.dialect.QuoteStr() + sql + engine.dialect.QuoteStr()
}
func (engine *Engine) quoteTable(keyName string) string {
keyName = strings.TrimSpace(keyName)
if len(keyName) == 0 {
return keyName
}
if string(keyName[0]) == engine.dialect.QuoteStr() || keyName[0] == '`' {
return keyName
}
keyName = strings.Replace(keyName, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1)
return engine.dialect.QuoteStr() + keyName + engine.dialect.QuoteStr()
}
// SqlType will be depracated, please use SQLType instead
func (engine *Engine) SqlType(c *core.Column) string {
return engine.dialect.SqlType(c)