refactor cacheInsert

This commit is contained in:
Lunny Xiao 2018-04-11 20:56:21 +08:00
parent 8636506a9d
commit 5d0479bbc3
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
2 changed files with 14 additions and 19 deletions

View File

@ -1031,7 +1031,7 @@ func (engine *Engine) mapType(v reflect.Value) (*core.Table, error) {
}
}
if hasNoCacheTag {
engine.logger.Info("no cache on table:", table.Name)
engine.logger.Info("disable cache on table:", table.Name)
engine.setCacher(table.Name, nil)
}

View File

@ -232,9 +232,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
return 0, err
}
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache {
session.cacheInsert(tableName)
}
session.cacheInsert(tableName)
lenAfterClosures := len(session.afterClosures)
for i := 0; i < size; i++ {
@ -394,9 +392,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
defer handleAfterInsertProcessorFunc(bean)
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache {
session.cacheInsert(tableName)
}
session.cacheInsert(tableName)
if table.Version != "" && session.statement.checkVersion {
verValue, err := table.VersionColumn().ValueOf(bean)
@ -439,9 +435,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
}
defer handleAfterInsertProcessorFunc(bean)
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache {
session.cacheInsert(tableName)
}
session.cacheInsert(tableName)
if table.Version != "" && session.statement.checkVersion {
verValue, err := table.VersionColumn().ValueOf(bean)
@ -482,9 +476,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
defer handleAfterInsertProcessorFunc(bean)
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache {
session.cacheInsert(tableName)
}
session.cacheInsert(tableName)
if table.Version != "" && session.statement.checkVersion {
verValue, err := table.VersionColumn().ValueOf(bean)
@ -531,13 +523,16 @@ func (session *Session) InsertOne(bean interface{}) (int64, error) {
return session.innerInsert(bean)
}
func (session *Session) cacheInsert(tables ...string) error {
for _, t := range tables {
cacher := session.engine.getCacher(t)
session.engine.logger.Debug("[cache] clear sql:", t)
cacher.ClearIds(t)
func (session *Session) cacheInsert(table string) error {
if !session.statement.UseCache {
return nil
}
cacher := session.engine.getCacher(table)
if cacher == nil {
return nil
}
session.engine.logger.Debug("[cache] clear sql:", table)
cacher.ClearIds(table)
return nil
}