improvement the error if use &&Struct

This commit is contained in:
astaxie 2016-08-30 22:02:11 +08:00
parent 7df74c0a30
commit aa091cea42
2 changed files with 8 additions and 6 deletions

View File

@ -57,11 +57,11 @@ var (
// model info collection
type _modelCache struct {
sync.RWMutex
orders []string
cache map[string]*modelInfo
cacheByFN map[string]*modelInfo
done bool
sync.RWMutex // only used outsite for bootStrap
orders []string
cache map[string]*modelInfo
cacheByFN map[string]*modelInfo
done bool
}
// get all model info

View File

@ -32,6 +32,9 @@ func registerModel(prefix string, model interface{}) {
if val.Kind() != reflect.Ptr {
panic(fmt.Errorf("<orm.RegisterModel> cannot use non-ptr model struct `%s`", getFullName(typ)))
}
if typ.Kind() == reflect.Ptr {
panic(fmt.Errorf("<orm.RegisterModel> only allow ptr model struct, it looks you use two reference to the struct `%s`", typ))
}
table := getTableName(val)
@ -320,7 +323,6 @@ func BootStrap() {
if modelCache.done {
return
}
modelCache.Lock()
defer modelCache.Unlock()
bootStrap()