don't panic but return nil when query dialect

This commit is contained in:
Lunny Xiao 2017-01-03 14:17:17 +08:00
parent 87aca22337
commit 60b1704516
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
1 changed files with 6 additions and 1 deletions

View File

@ -290,6 +290,7 @@ var (
dialects = map[DbType]func() Dialect{} dialects = map[DbType]func() Dialect{}
) )
// RegisterDialect register database dialect
func RegisterDialect(dbName DbType, dialectFunc func() Dialect) { func RegisterDialect(dbName DbType, dialectFunc func() Dialect) {
if dialectFunc == nil { if dialectFunc == nil {
panic("core: Register dialect is nil") panic("core: Register dialect is nil")
@ -297,6 +298,10 @@ func RegisterDialect(dbName DbType, dialectFunc func() Dialect) {
dialects[dbName] = dialectFunc // !nashtsai! allow override dialect dialects[dbName] = dialectFunc // !nashtsai! allow override dialect
} }
// QueryDialect query if registed database dialect
func QueryDialect(dbName DbType) Dialect { func QueryDialect(dbName DbType) Dialect {
return dialects[dbName]() if d, ok := dialects[dbName]; ok {
return d()
}
return nil
} }