Browse Source

query dialect ignore case sensitive

xormplus 9 years ago
parent
commit
7049c60317
1 changed files with 8 additions and 3 deletions
  1. 8 3
      dialect.go

+ 8 - 3
dialect.go

@@ -287,16 +287,21 @@ func (b *Base) LogSQL(sql string, args []interface{}) {
 }
 
 var (
-	dialects = map[DbType]func() Dialect{}
+	dialects = map[string]func() Dialect{}
 )
 
+// RegisterDialect register database dialect
 func RegisterDialect(dbName DbType, dialectFunc func() Dialect) {
 	if dialectFunc == nil {
 		panic("core: Register dialect is nil")
 	}
-	dialects[dbName] = dialectFunc // !nashtsai! allow override dialect
+	dialects[strings.ToLower(string(dbName))] = dialectFunc // !nashtsai! allow override dialect
 }
 
+// QueryDialect query if registed database dialect
 func QueryDialect(dbName DbType) Dialect {
-	return dialects[dbName]()
+	if d, ok := dialects[strings.ToLower(string(dbName))]; ok {
+		return d()
+	}
+	return nil
 }