bug fixed
This commit is contained in:
parent
29a72f9adb
commit
aa6feeb328
8
cache.go
8
cache.go
|
@ -133,7 +133,7 @@ func decodeIds(s string) []int64 {
|
|||
return res
|
||||
}
|
||||
|
||||
func getCacheSql(m Cacher, sql string, args ...interface{}) ([]int64, error) {
|
||||
func getCacheSql(m Cacher, sql string, args interface{}) ([]int64, error) {
|
||||
bytes := m.Get(genSqlKey(sql, args))
|
||||
if bytes == nil {
|
||||
return nil, errors.New("Not Exist")
|
||||
|
@ -142,18 +142,18 @@ func getCacheSql(m Cacher, sql string, args ...interface{}) ([]int64, error) {
|
|||
return objs, nil
|
||||
}
|
||||
|
||||
func putCacheSql(m Cacher, ids []int64, sql string, args ...interface{}) error {
|
||||
func putCacheSql(m Cacher, ids []int64, sql string, args interface{}) error {
|
||||
bytes := encodeIds(ids)
|
||||
m.Put(genSqlKey(sql, args), bytes)
|
||||
return nil
|
||||
}
|
||||
|
||||
func delCacheSql(m Cacher, sql string, args ...interface{}) error {
|
||||
func delCacheSql(m Cacher, sql string, args interface{}) error {
|
||||
m.Del(genSqlKey(sql, args))
|
||||
return nil
|
||||
}
|
||||
|
||||
func genSqlKey(sql string, args ...interface{}) string {
|
||||
func genSqlKey(sql string, args interface{}) string {
|
||||
return fmt.Sprintf("%v-%v", sql, args)
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,8 @@ type Engine struct {
|
|||
Tables map[reflect.Type]*Table
|
||||
mutex *sync.Mutex
|
||||
ShowSQL bool
|
||||
ShowErr bool
|
||||
ShowDebug bool
|
||||
Pool IConnectPool
|
||||
Filters []Filter
|
||||
Logger io.Writer
|
||||
|
@ -132,8 +134,10 @@ func (engine *Engine) LogSQL(contents ...interface{}) {
|
|||
}
|
||||
|
||||
func (engine *Engine) LogError(contents ...interface{}) {
|
||||
if engine.ShowErr {
|
||||
io.WriteString(engine.Logger, fmt.Sprintln(contents...))
|
||||
}
|
||||
}
|
||||
|
||||
func (engine *Engine) Sql(querystring string, args ...interface{}) *Session {
|
||||
session := engine.NewSession()
|
||||
|
|
12
session.go
12
session.go
|
@ -470,9 +470,9 @@ func (session *Session) cacheFind(t reflect.Type, sql string, rowsSlicePtr inter
|
|||
|
||||
table := session.Statement.RefTable
|
||||
cacher := table.Cacher
|
||||
ids, err := getCacheSql(cacher, newsql)
|
||||
ids, err := getCacheSql(cacher, newsql, args)
|
||||
if err != nil {
|
||||
//fmt.Println(err)
|
||||
session.Engine.LogError(err)
|
||||
resultsSlice, err := session.query(newsql, args...)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -1331,7 +1331,7 @@ func (session *Session) cacheUpdate(sql string, args ...interface{}) error {
|
|||
}
|
||||
table := session.Statement.RefTable
|
||||
cacher := table.Cacher
|
||||
ids, err := getCacheSql(cacher, newsql)
|
||||
ids, err := getCacheSql(cacher, newsql, args)
|
||||
if err != nil {
|
||||
resultsSlice, err := session.query(newsql, args[nStart:]...)
|
||||
if err != nil {
|
||||
|
@ -1354,7 +1354,7 @@ func (session *Session) cacheUpdate(sql string, args ...interface{}) error {
|
|||
}
|
||||
} else {
|
||||
//fmt.Printf("-----Cached SQL: %v.\n", newsql)
|
||||
delCacheSql(cacher, newsql)
|
||||
delCacheSql(cacher, newsql, args)
|
||||
}
|
||||
|
||||
for _, id := range ids {
|
||||
|
@ -1495,7 +1495,7 @@ func (session *Session) cacheDelete(sql string, args ...interface{}) error {
|
|||
}
|
||||
|
||||
cacher := session.Statement.RefTable.Cacher
|
||||
ids, err := getCacheSql(cacher, newsql)
|
||||
ids, err := getCacheSql(cacher, newsql, args)
|
||||
if err != nil {
|
||||
resultsSlice, err := session.query(newsql, args...)
|
||||
if err != nil {
|
||||
|
@ -1518,7 +1518,7 @@ func (session *Session) cacheDelete(sql string, args ...interface{}) error {
|
|||
}
|
||||
} else {
|
||||
//fmt.Printf("-----Cached SQL: %v.\n", newsql)
|
||||
delCacheSql(cacher, newsql)
|
||||
delCacheSql(cacher, newsql, args)
|
||||
}
|
||||
|
||||
for _, id := range ids {
|
||||
|
|
Loading…
Reference in New Issue