summaryrefslogtreecommitdiffstats
path: root/vendor/xorm.io/xorm/statement_columnmap.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/xorm.io/xorm/statement_columnmap.go')
-rw-r--r--vendor/xorm.io/xorm/statement_columnmap.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/xorm.io/xorm/statement_columnmap.go b/vendor/xorm.io/xorm/statement_columnmap.go
new file mode 100644
index 0000000000..b6523b1e7a
--- /dev/null
+++ b/vendor/xorm.io/xorm/statement_columnmap.go
@@ -0,0 +1,35 @@
+// Copyright 2019 The Xorm Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xorm
+
+import "strings"
+
+type columnMap []string
+
+func (m columnMap) contain(colName string) bool {
+ if len(m) == 0 {
+ return false
+ }
+
+ n := len(colName)
+ for _, mk := range m {
+ if len(mk) != n {
+ continue
+ }
+ if strings.EqualFold(mk, colName) {
+ return true
+ }
+ }
+
+ return false
+}
+
+func (m *columnMap) add(colName string) bool {
+ if m.contain(colName) {
+ return false
+ }
+ *m = append(*m, colName)
+ return true
+}