fix bug on cache specify table name (#710)
This commit is contained in:
parent
265dd66928
commit
3dad119dd6
|
@ -59,6 +59,30 @@ func TestCacheFind(t *testing.T) {
|
|||
assert.Equal(t, inserts[i].Password, box.Password)
|
||||
}
|
||||
|
||||
boxes = make([]MailBox, 0, 2)
|
||||
assert.NoError(t, testEngine.Alias("a").Where("a.id > -1").Asc("a.id").Find(&boxes))
|
||||
assert.EqualValues(t, 2, len(boxes))
|
||||
for i, box := range boxes {
|
||||
assert.Equal(t, inserts[i].Id, box.Id)
|
||||
assert.Equal(t, inserts[i].Username, box.Username)
|
||||
assert.Equal(t, inserts[i].Password, box.Password)
|
||||
}
|
||||
|
||||
type MailBox4 struct {
|
||||
Id int64
|
||||
Username string
|
||||
Password string
|
||||
}
|
||||
|
||||
boxes2 := make([]MailBox4, 0, 2)
|
||||
assert.NoError(t, testEngine.Table("mail_box").Where("mail_box.id > -1").Asc("mail_box.id").Find(&boxes2))
|
||||
assert.EqualValues(t, 2, len(boxes2))
|
||||
for i, box := range boxes2 {
|
||||
assert.Equal(t, inserts[i].Id, box.Id)
|
||||
assert.Equal(t, inserts[i].Username, box.Username)
|
||||
assert.Equal(t, inserts[i].Password, box.Password)
|
||||
}
|
||||
|
||||
testEngine.SetDefaultCacher(oldCacher)
|
||||
}
|
||||
|
||||
|
|
|
@ -348,7 +348,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in
|
|||
return err
|
||||
}
|
||||
bean := cacher.GetBean(tableName, sid)
|
||||
if bean == nil {
|
||||
if bean == nil || reflect.ValueOf(bean).Elem().Type() != t {
|
||||
ides = append(ides, id)
|
||||
ididxes[sid] = idx
|
||||
} else {
|
||||
|
@ -389,7 +389,7 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in
|
|||
}
|
||||
}
|
||||
|
||||
err = session.NoCache().find(beans)
|
||||
err = session.NoCache().Table(tableName).find(beans)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue