diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2016-11-12 00:40:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-12 00:40:21 +0800 |
commit | a8c6698de8d6c2e0331e0b5fa8497741d5854582 (patch) | |
tree | 6ffd8934dfe4bd765638955eaea602ecef1052b8 /vendor/github.com/go-xorm/xorm/engine.go | |
parent | e2aa991e10ffd924a828ec149951f2f20eecead2 (diff) | |
download | gitea-a8c6698de8d6c2e0331e0b5fa8497741d5854582.tar.gz gitea-a8c6698de8d6c2e0331e0b5fa8497741d5854582.zip |
Fix error 500 on organization dashboard page (#150)
Diffstat (limited to 'vendor/github.com/go-xorm/xorm/engine.go')
-rw-r--r-- | vendor/github.com/go-xorm/xorm/engine.go | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/vendor/github.com/go-xorm/xorm/engine.go b/vendor/github.com/go-xorm/xorm/engine.go index 7c2c2f4fff..f92302e982 100644 --- a/vendor/github.com/go-xorm/xorm/engine.go +++ b/vendor/github.com/go-xorm/xorm/engine.go @@ -124,27 +124,47 @@ 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 + } -func (engine *Engine) quote(sql string) string { - return engine.dialect.QuoteStr() + sql + engine.dialect.QuoteStr() + 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() } -func (engine *Engine) quoteTable(keyName string) string { - keyName = strings.TrimSpace(keyName) - if len(keyName) == 0 { - return keyName +// 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(keyName[0]) == engine.dialect.QuoteStr() || keyName[0] == '`' { - return keyName + if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' { + buf.WriteString(value) + return } - keyName = strings.Replace(keyName, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) + value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) - return engine.dialect.QuoteStr() + keyName + engine.dialect.QuoteStr() + 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() } // SqlType will be depracated, please use SQLType instead |