Change s to sf

This commit is contained in:
David Zhang 2018-11-12 11:19:30 +08:00
parent 69e61e3e7f
commit 5a7fa89670

View File

@ -70,52 +70,52 @@ type StructField struct {
}
// TagSettingsSet Sets a tag in the tag settings map
func (s *StructField) TagSettingsSet(key, val string) {
s.tagSettingsLock.Lock()
defer s.tagSettingsLock.Unlock()
s.TagSettings[key] = val
func (sf *StructField) TagSettingsSet(key, val string) {
sf.tagSettingsLock.Lock()
defer sf.tagSettingsLock.Unlock()
sf.TagSettings[key] = val
}
// TagSettingsGet returns a tag from the tag settings
func (s *StructField) TagSettingsGet(key string) (string, bool) {
s.tagSettingsLock.RLock()
defer s.tagSettingsLock.RUnlock()
val, ok := s.TagSettings[key]
func (sf *StructField) TagSettingsGet(key string) (string, bool) {
sf.tagSettingsLock.RLock()
defer sf.tagSettingsLock.RUnlock()
val, ok := sf.TagSettings[key]
return val, ok
}
// TagSettingsDelete deletes a tag
func (s *StructField) TagSettingsDelete(key string) {
s.tagSettingsLock.Lock()
defer s.tagSettingsLock.Unlock()
delete(s.TagSettings, key)
func (sf *StructField) TagSettingsDelete(key string) {
sf.tagSettingsLock.Lock()
defer sf.tagSettingsLock.Unlock()
delete(sf.TagSettings, key)
}
func (s *StructField) clone() *StructField {
func (sf *StructField) clone() *StructField {
clone := &StructField{
DBName: s.DBName,
Name: s.Name,
Names: s.Names,
IsPrimaryKey: s.IsPrimaryKey,
IsNormal: s.IsNormal,
IsIgnored: s.IsIgnored,
IsScanner: s.IsScanner,
HasDefaultValue: s.HasDefaultValue,
Tag: s.Tag,
DBName: sf.DBName,
Name: sf.Name,
Names: sf.Names,
IsPrimaryKey: sf.IsPrimaryKey,
IsNormal: sf.IsNormal,
IsIgnored: sf.IsIgnored,
IsScanner: sf.IsScanner,
HasDefaultValue: sf.HasDefaultValue,
Tag: sf.Tag,
TagSettings: map[string]string{},
Struct: s.Struct,
IsForeignKey: s.IsForeignKey,
Struct: sf.Struct,
IsForeignKey: sf.IsForeignKey,
}
if s.Relationship != nil {
relationship := *s.Relationship
if sf.Relationship != nil {
relationship := *sf.Relationship
clone.Relationship = &relationship
}
// copy the struct field tagSettings, they should be read-locked while they are copied
s.tagSettingsLock.Lock()
defer s.tagSettingsLock.Unlock()
for key, value := range s.TagSettings {
sf.tagSettingsLock.Lock()
defer sf.tagSettingsLock.Unlock()
for key, value := range sf.TagSettings {
clone.TagSettings[key] = value
}