From a7e2cb5681d8b550fbe04601fa203f99b6fcfff4 Mon Sep 17 00:00:00 2001 From: marshalys Date: Fri, 26 Oct 2018 14:03:43 +0800 Subject: [PATCH] Code refactoring --- session.go | 16 ++++------------ session_insert.go | 6 +++--- session_update.go | 4 ++-- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/session.go b/session.go index d93ee950..e3437b91 100644 --- a/session.go +++ b/session.go @@ -846,19 +846,11 @@ func (session *Session) Unscoped() *Session { return session } -func (session *Session) freshVersionFieldValue(fieldValue *reflect.Value, isInsert bool) { +func (session *Session) incrVersionFieldValue(fieldValue *reflect.Value) { switch fieldValue.Kind() { case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - if isInsert { - fieldValue.SetInt(1) - } else { - fieldValue.SetInt(fieldValue.Int() + 1) - } - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - if isInsert { - fieldValue.SetUint(1) - } else { - fieldValue.SetUint(fieldValue.Uint() + 1) - } + fieldValue.SetInt(fieldValue.Int() + 1) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + fieldValue.SetUint(fieldValue.Uint() + 1) } } diff --git a/session_insert.go b/session_insert.go index 46bfda38..e673e874 100644 --- a/session_insert.go +++ b/session_insert.go @@ -397,7 +397,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { if err != nil { session.engine.logger.Error(err) } else if verValue.IsValid() && verValue.CanSet() { - session.freshVersionFieldValue(verValue, true) + session.incrVersionFieldValue(verValue) } } @@ -440,7 +440,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { if err != nil { session.engine.logger.Error(err) } else if verValue.IsValid() && verValue.CanSet() { - session.freshVersionFieldValue(verValue, true) + session.incrVersionFieldValue(verValue) } } @@ -481,7 +481,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) { if err != nil { session.engine.logger.Error(err) } else if verValue.IsValid() && verValue.CanSet() { - session.freshVersionFieldValue(verValue, true) + session.incrVersionFieldValue(verValue) } } diff --git a/session_update.go b/session_update.go index 3e500b05..37b34ff3 100644 --- a/session_update.go +++ b/session_update.go @@ -116,7 +116,7 @@ func (session *Session) cacheUpdate(table *core.Table, tableName, sqlStr string, } else { session.engine.logger.Debug("[cacheUpdate] set bean field", bean, colName, fieldValue.Interface()) if col.IsVersion && session.statement.checkVersion { - session.freshVersionFieldValue(fieldValue, false) + session.incrVersionFieldValue(fieldValue) } else { fieldValue.Set(reflect.ValueOf(args[idx])) } @@ -357,7 +357,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 return 0, err } else if doIncVer { if verValue != nil && verValue.IsValid() && verValue.CanSet() { - session.freshVersionFieldValue(verValue, false) + session.incrVersionFieldValue(verValue) } }