From bacc62db6eb774727b3546dde7020c0bbff0f1ca Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 26 Jun 2015 21:20:29 +0800 Subject: [PATCH] bug fixed for go-xorm/xorm#261 --- dialect.go | 10 +++++----- type.go | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dialect.go b/dialect.go index c39a1771..b72aa8e1 100644 --- a/dialect.go +++ b/dialect.go @@ -267,16 +267,16 @@ func (b *Base) CreateTableSql(table *Table, tableName, storeEngine, charset stri } var ( - dialects = map[DbType]Dialect{} + dialects = map[DbType]func() Dialect{} ) -func RegisterDialect(dbName DbType, dialect Dialect) { - if dialect == nil { +func RegisterDialect(dbName DbType, dialectFunc func() Dialect) { + if dialectFunc == nil { panic("core: Register dialect is nil") } - dialects[dbName] = dialect // !nashtsai! allow override dialect + dialects[dbName] = dialectFunc // !nashtsai! allow override dialect } func QueryDialect(dbName DbType) Dialect { - return dialects[dbName] + return dialects[dbName]() } diff --git a/type.go b/type.go index d577adac..a3c15ff9 100644 --- a/type.go +++ b/type.go @@ -254,7 +254,7 @@ func Type2SQLType(t reflect.Type) (st SQLType) { case reflect.String: st = SQLType{Varchar, 255, 0} case reflect.Struct: - if t.ConvertibleTo(reflect.TypeOf(c_TIME_DEFAULT)) { + if t.ConvertibleTo(TimeType) { st = SQLType{DateTime, 0, 0} } else { // TODO need to handle association struct