git push origin masterMerge branch 'FOCONIS-cache-bug-delete'

This commit is contained in:
rob bygrave
2018-07-15 14:13:48 +12:00
2 changed files with 20 additions and 0 deletions
@@ -739,6 +739,7 @@ final class BeanDescriptorCacheHelp<T> {
if (invalidateQueryCache) {
changeSet.addInvalidate(desc);
} else {
queryCacheClear(changeSet);
if (beanCache != null) {
changeSet.addBeanRemoveMany(desc, ids);
}
@@ -9,6 +9,7 @@ import io.ebean.annotation.Platform;
import org.tests.model.basic.BBookmarkUser;
import org.tests.model.basic.Contact;
import org.tests.model.basic.Country;
import org.tests.model.basic.Customer;
import org.tests.model.basic.ResetBasicData;
import org.ebeantest.LoggedSqlCollector;
@@ -170,4 +171,22 @@ public class TestDeleteByQuery extends BaseTestCase {
Contact contactFind = Ebean.find(Contact.class, contact.getId());
assertThat(contactFind).isNull();
}
@Test
public void deleteByPredicateCached() {
Country country = new Country();
country.setCode("XX");
country.setName("SecretName");
Ebean.save(country);
Query<Country> query = Ebean.find(Country.class).where().eq("name", "SecretName").setUseQueryCache(true);
assertThat(query.findList()).hasSize(1);
assertThat(query.findCount()).isEqualTo(1);
Ebean.find(Country.class).where().eq("name", "SecretName").delete();
//Ebean.getDefaultServer().getPluginApi().getBeanType(Country.class).clearQueryCache();
assertThat(query.findList()).hasSize(0);
assertThat(query.findCount()).isEqualTo(0);
}
}