Fix cache bug
This commit is contained in:
parent
489d996183
commit
fe31f0c906
|
@ -130,7 +130,7 @@ func NewSimpleLogger3(out io.Writer, prefix string, flag int, l LogLevel) *Simpl
|
|||
// Error implement ILogger
|
||||
func (s *SimpleLogger) Error(v ...interface{}) {
|
||||
if s.level <= LOG_ERR {
|
||||
s.ERR.Output(2, fmt.Sprint(v...))
|
||||
s.ERR.Output(2, fmt.Sprintln(v...))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ func (s *SimpleLogger) Errorf(format string, v ...interface{}) {
|
|||
// Debug implement ILogger
|
||||
func (s *SimpleLogger) Debug(v ...interface{}) {
|
||||
if s.level <= LOG_DEBUG {
|
||||
s.DEBUG.Output(2, fmt.Sprint(v...))
|
||||
s.DEBUG.Output(2, fmt.Sprintln(v...))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ func (s *SimpleLogger) Debugf(format string, v ...interface{}) {
|
|||
// Info implement ILogger
|
||||
func (s *SimpleLogger) Info(v ...interface{}) {
|
||||
if s.level <= LOG_INFO {
|
||||
s.INFO.Output(2, fmt.Sprint(v...))
|
||||
s.INFO.Output(2, fmt.Sprintln(v...))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ func (s *SimpleLogger) Infof(format string, v ...interface{}) {
|
|||
// Warn implement ILogger
|
||||
func (s *SimpleLogger) Warn(v ...interface{}) {
|
||||
if s.level <= LOG_WARNING {
|
||||
s.WARN.Output(2, fmt.Sprint(v...))
|
||||
s.WARN.Output(2, fmt.Sprintln(v...))
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
@ -72,9 +72,9 @@ func (session *Session) Clone() *Session {
|
|||
|
||||
// Init reset the session as the init status.
|
||||
func (session *Session) Init() {
|
||||
session.statement.Reset()
|
||||
session.statement.dialect = session.engine.dialect
|
||||
session.statement.Engine = session.engine
|
||||
session.statement.Reset()
|
||||
session.showSQL = session.engine.showSQL
|
||||
session.isAutoCommit = true
|
||||
session.isCommitedOrRollbacked = false
|
||||
|
|
|
@ -282,7 +282,7 @@ func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interf
|
|||
tableName := session.statement.TableName()
|
||||
cacher := session.engine.getCacher(tableName)
|
||||
|
||||
session.engine.logger.Debug("[cacheGet] find sql:", newsql, args)
|
||||
session.engine.logger.Debug("[cache] Get SQL:", newsql, args)
|
||||
table := session.statement.RefTable
|
||||
ids, err := caches.GetCacheSql(cacher, tableName, newsql, args)
|
||||
if err != nil {
|
||||
|
@ -318,19 +318,19 @@ func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interf
|
|||
}
|
||||
|
||||
ids = []schemas.PK{pk}
|
||||
session.engine.logger.Debug("[cacheGet] cache ids:", newsql, ids)
|
||||
session.engine.logger.Debug("[cache] cache ids:", newsql, ids)
|
||||
err = caches.PutCacheSql(cacher, ids, tableName, newsql, args)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
} else {
|
||||
session.engine.logger.Debug("[cacheGet] cache hit sql:", newsql, ids)
|
||||
session.engine.logger.Debug("[cache] cache hit:", newsql, ids)
|
||||
}
|
||||
|
||||
if len(ids) > 0 {
|
||||
structValue := reflect.Indirect(reflect.ValueOf(bean))
|
||||
id := ids[0]
|
||||
session.engine.logger.Debug("[cacheGet] get bean:", tableName, id)
|
||||
session.engine.logger.Debug("[cache] get bean:", tableName, id)
|
||||
sid, err := id.ToString()
|
||||
if err != nil {
|
||||
return false, err
|
||||
|
@ -343,10 +343,10 @@ func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interf
|
|||
return has, err
|
||||
}
|
||||
|
||||
session.engine.logger.Debug("[cacheGet] cache bean:", tableName, id, cacheBean)
|
||||
session.engine.logger.Debug("[cache] cache bean:", tableName, id, cacheBean)
|
||||
cacher.PutBean(tableName, sid, cacheBean)
|
||||
} else {
|
||||
session.engine.logger.Debug("[cacheGet] cache hit bean:", tableName, id, cacheBean)
|
||||
session.engine.logger.Debug("[cache] cache hit:", tableName, id, cacheBean)
|
||||
has = true
|
||||
}
|
||||
structValue.Set(reflect.Indirect(reflect.ValueOf(cacheBean)))
|
||||
|
|
|
@ -587,10 +587,6 @@ func (statement *Statement) SetExpr(column string, expression interface{}) *Stat
|
|||
return statement
|
||||
}
|
||||
|
||||
func (statement *Statement) quoteColumnMap() []string {
|
||||
return statement.dialect.Quoter().Strings(statement.columnMap)
|
||||
}
|
||||
|
||||
// Distinct generates "DISTINCT col1, col2 " statement
|
||||
func (statement *Statement) Distinct(columns ...string) *Statement {
|
||||
statement.IsDistinct = true
|
||||
|
|
|
@ -234,8 +234,12 @@ func TestUpdateIgnoreOnlyFromDBFields(t *testing.T) {
|
|||
})
|
||||
assert.NoError(t, err)
|
||||
|
||||
record := assertGetRecord()
|
||||
record.OnlyFromDBField = "test"
|
||||
testEngine.Update(record)
|
||||
assertGetRecord()
|
||||
|
||||
_, err = testEngine.ID(1).Update(&TestOnlyFromDBField{
|
||||
OnlyToDBField: "b",
|
||||
OnlyFromDBField: "test",
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assertGetRecord()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue