summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-xorm/xorm/engine.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2016-11-12 00:40:21 +0800
committerGitHub <noreply@github.com>2016-11-12 00:40:21 +0800
commita8c6698de8d6c2e0331e0b5fa8497741d5854582 (patch)
tree6ffd8934dfe4bd765638955eaea602ecef1052b8 /vendor/github.com/go-xorm/xorm/engine.go
parente2aa991e10ffd924a828ec149951f2f20eecead2 (diff)
downloadgitea-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.go46
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