fix race with defaultTableName field (again)

This commit is contained in:
Artemij Shepelev 2018-08-28 01:44:44 +03:00
parent b204f8f5c9
commit 2a944bca88

View File

@ -24,11 +24,16 @@ type ModelStruct struct {
PrimaryFields []*StructField
StructFields []*StructField
ModelType reflect.Type
defaultTableName string
l sync.Mutex
}
// TableName returns model's table name
func (s *ModelStruct) TableName(db *DB) string {
s.l.Lock()
defer s.l.Unlock()
if s.defaultTableName == "" && db != nil && s.ModelType != nil {
// Set default table name
if tabler, ok := reflect.New(s.ModelType).Interface().(tabler); ok {